Robotics Research Lab
USC Computer Science
USC Engineering
/ Research / Projects / A Hierarchical model for imitation

Overview Framework Aibo imitation Adaptive primitives Sequence primitives
Videos Publications Support Contact Details


Imitation involves several different levels of abstraction, and learning capabilities for acquiring novel skills. Here, we develop a hierarchical framework for the computational processes within an imitating agent. Every layer in the hierarchy addresses the problem of linking perception to action based on the abstracted information and the resources available at that level. The hierarchy extends from fixed and predefined primitives to very abstract symbolic representations of tasks and skills.


At the lowest computational layer are the basic and intrinsic primitives. These primitives are a specialized set of programs that can generate motor commands for specific movements, and are capable of recognizing similar movements performed by other agents. At the next level are adaptive primitives that are a specialization or combination of the intrinsic primitives, and thus use the primitives in the lower layer as building blocks. At the next higher level are representations of movement sequences and models of other complex movements. At the highest level are abstract and symbolic representations of classes of movements and skills. Using this hierarchy as the underlying framework we have explored instantiations of the model that incrementally implement the layers in the hierarchy.


Aibo imitation

The first instantiation of this framework demonstrated joint level simultaneous imitation on the Sony Aibo robotic dog. The system implemented the bottom most computational layer in the hierarchy which interfaced with the perceptual and motor subsystems in order to provide a complete, albeit simple, imitation system. The computational layer consists of two types of intrinsic primitives, namely (1) discrete via-point primitives and (2) rhythmic oscillator based primitives, in competition. Simultaneous imitation was achieved by making the via-point primitives estimate the instantaneous joint orientations in the demonstration and issue appropriate motor commands for imitation. Oscillator based primitives competed with via-point primitives, and took over control when they estimated parameters of a rhythmic movement with high confidence. This demonstrated the transition from jerky point to point imitation of rhythmic movements to smooth tracking as the control migrated from via-point to oscillatory primitives.

Via-point and oscillator primitives

Adaptive primitives

The system was then extended by incorporating an adaptive primitives layer in addition to the intrinsic primitives layer. Using vector quantization and clustering, adaptive primitives associate with superpositions of intrinsic primitives to express compound movement. Subsequently, adaptive primitives can recognize movements with similar characteristics and generalize to similar movements with some deviation. We demonstrated the learning and execution of movement combinations with adaptive primitives in a physics based dynamic humanoid simulation testbed for movements such as figure-eights.

Adaptive primitives layer

Sequence primitives

The final increment involved the addition of a layer that could represent probabilistic models of movement sequences. This layer consisted of sequence primitives implemented as Hidden markov models (HMM). Each sequence primitive is an HMM that treats the set of all specializer primitives from the lower layer as symbols of the model. Based on the observations provided by demonstrations, the sequence primitives learn the probability matrices. Competitive learning is used between the sequence primitives in order to bring about differentiation and specialization among these primitives. Thus, after a sufficient learning period each primitive represents a distinct movement sequence. The learning and imitation aspects of this architecture were validated using motion capture and synthetic data, involving aerobic-style sequences and reaching movements respectively.

Sequence primitives layer


This work was supported by DARPA Grant DABT63-99-1-0015 under the Mobile Autonomous Robot Software (MARS) program.

Contact Details

Amit Ramesh