Learning in this high dimensional space can be quite slow or can fail totally. Random search in such a space is hopeless. In addition, since robot movements take place in real time, learning approaches that require more than hundreds of practice movements are often not feasible. Special purpose techniques have been developed to deal with this problem, such as trajectory learning and learning from observation. It is our hope that primitives can be used to reduce the dimensionality of the learning problem.
Primitives are solutions to small parts of a task that can be combined to complete the task.
A solution to a task may be made up of many primitives. In the air hockey environment, for example, there may be primitives for hitting the puck, capturing the puck, and defending the goal. The above figure shows our view of a primitive. Currently, a human, using domain knowledge, designs the candidate primitive types that are to be used. The primitive recognition module segments the observed behavior into the chosen primitives.