Programming humanoid robots to execute arbitrary tasks remains
difficult for numerous reasons, including high kinematic redundancy,
complex dynamics, and the problems involved with balancing and
locomotion. Additionally, "porting" a behavior to a robot with even
slightly different kinematics or dynamics is typically infeasible.
Behaviors are consequently often written anew, missing one of the key
tenets of software development, that of component reuse.

In collaboration with Honda Research Institute, USA, we developed a framework,
The Task Matrix, to mitigate the problem of skill transfer.
The Task Matrix framework focuses on separating robot behaviors into
robot independent and robot dependent components, the latter of which
are minimal and standardized. The Task Matrix (from the definition a
surrounding medium or structure) stores a set of robot-independent
task programs, both primitive and complex (i.e., composed of
primitives), Boolean conditions used to determine whether a task
behavior can begin or continue execution, and motions. The Task Matrix
is currently being used to develop behaviors for Honda's Asimo robot
and for physically simulated humanoids.

We have implemented multiple, primitive behaviorsfor performing tasks
in a robot-independent manner using the Task Matrix framework. These
tasks include reaching to an object, positioning a tool, grasping and
releasing objects, fixating on an object or another humanoid, mapping
and modeling an environment, achieving a desired posture, and
performing rote movements. These primitive behaviors are inspired from
a work-measurement system (MTM-1) that is proven at decomposing
complex occupational tasks into a set of primitive elements.
Correspondingly, we have demonstrated that these primitive task
programs can be combined to produce more complex behavior.