Our research is predicated on the notion of motor primitives, simple mechanisms that facilitate control and perception for humanoid robots. Specifically, we argue that simple movement primitives exist that serve as the basis for complex movements. By encoding frequently used movements into special data structures, primitives can perform tasks much faster than planning-based methods for controlling humanoid robots. Additionally, primitives provide a means for classifying human and humanoid robot movements.
We define a motion primitive as a system for generating joint-space or operational space trajectories that is bounded by time polynomial in both the number of degrees-of-freedom (DOF) of the robot and the number of obstacles in the environment. Primitives are given the current state and kinematic goal(s) of the robot as well as the state of the environment. A motor primitive is capable of generating an uncountably infinite number of trajectories.
We have implemented a system for forming trajectories from a vocabulary of
motor primitives. A interpolation mechanism is used to mix exemplars of
motion in a non-linear manner. The parameters that drive the interpolator
are intuitively chosen to map from the state and goals of the
robot and state of the environment to viable motion. The image below
shows a single DOF of a motor primitive for a boxing jab parameterized by
target position in Cartesian space. Note the two exemplars as well as the
novel trajectory produced by interpolating evenly between them.
We have developed a movement classifier that aims to improve communication between humans and humanoids via motion. The classifier, which receives human or humanoid joint-angle data as input, uses Bayesian techniques to categorize that input into a motor primitive. These motor primitives are parametric, kinematic models of human and humanoid movement.
Modeling movement has several advantages, especially with regard to classification. Movement models can be transformed into probability distributions over joint-space. As joint-space primitives are multi-dimensional, the overlap between two primitive-derived probability distributions is generally very small. This separability naturally leads to good classification performance.
Some primitive-derived probability distributions do overlap a bit. For example, a semi-supinated jabbing punch and a pulling motion may appear to be the same movement, if a snapshot of the motion is all that is considered. For this reason, it is preferable to use temporal data. Our classifier is able to utilize the temporal dependencies inherent in the motion models to better classify data.
The two images below illustrate the separability phenomenon for two dissimilar punching movements. Samples are taken from only three of the twelve dimensions of the primitives, and are then plotted. The image on the left illustrates the distribution of joint-angles for one primitive. Denser areas indicate higher frequency in joint-space. The image on the right shows the same image, slightly rotated, and superimposed onto another primitive. Even though both primitives are punching movements, the dissimilarities between the models result in a marked difference between the two distributions. Overlap between the two distributions does exist, but typically decreases exponentially with the active number of degrees-of-freedom employed for classification. Additionally, temporal dependencies are not utilized in these plots, and, would improve separation dramatically
This work is supported by DARPA Grant 5-39509-Aunder the Mobile Autonomous Robot Software (MARS 2020) program via the NASA subcontract grant NAG9-1444 and in part by the ONR MURI Grant (with UC Berkeley, Stanford, and Caltech).
Evan Drumwright drumwrig@(remove)usc.edu