One of the mainstream theories on human movement coordination and learning states that complex human movements are organized as a concatenation of simpler movement primitives, which are in turn scaled with respect to space and time to generate a more diverse range of movements. The goal of this project is to provide machines with similar motor intelligence capabilities: the ability to generate complex movements from a vocabulary of basic movement primitives, to optimize movements for a given desired objective, and to incorporate feedback mechanisms that ensure proper execution of the movement in the presence of uncertainty and disturbances. Based on studies of human and animal movement, basic movement primitives are identified for a wide range of robotic systems (e.g., manipulators and walking machines). A "motion compiler" will be developed that, given a sequence of primitives, appropriately adjusts the sequence, and determines optimal time and space scalings with respect to a suitable performance measure. The physical end-product is a software system that takes as input a machine's kinematic structure and dynamic properties, a set of movement primitives, and a desired goal, and produces an optimal coordinated movement. Key to developing an efficient and reliable motion compiler is a powerful set of recently developed multibody system analysis tools based on the mathematics of Lie groups and Lie algebras.