Consider the problem of planning the whole-body motion of a humanoid robot that must execute a certain task in an environment containing obstacles. This research problem is challenging for a number of reasons. First, a humanoid robot is typically endowed with a high number of degrees of freedom. Second, it is not a free-flying system in its configuration space; consequently, the motion must be appropriately generated. We propose a randomized planner that is able to solve the above problem without separating locomotion from task execution. We generalize our previous approach presented here by replacing foot displacements with movements of the center of mass (CoM). These movements are representative of typical humanoid actions, such as static/dynamic walking, jumping and squatting.
Assuming that a catalogue of CoM movement primitives has been precomputed, solutions are built by concatenating feasible whole-body motions that realize such primitives and simultaneously accomplish portions of the task.
An important aspect under which the new planner improves over the previous approach is that it can indifferently handle tasks specified as trajectories or as simple destinations in the task space. In addition, the new planner is able to handle a wider variety of scenarios, thanks also to the possibility of handling composite tasks (composition of manipulation and navigation tasks). Note that the planner will autonomously generate steps, if these are implicitly required by the task.
The algorithm has been implemented for the humanoid robot NAO and validated through planning experiments and dynamic playback in V-REP.
The proposed planner has been implemented in V-REP, a cross-platform software by Coppelia Robotics, suitable also for motion planning. We report two scenarios in which the right hand is used as end-effector for the task, defined as composition of manipulation and navigation tasks. The experiments will also show the higher versatility gained by the use of CoM movements primitives in place of foot displacements.
Grasping and walking
In the first scenario, the robot has to pick up a ball from a low table and reach a final goal in a corridor across an automatic door.
A few snapshots from a solution computed by our planner are shown above. The task is assigned as a composition of manipulation (the robot has to pick up the ball) and navigation (the robot has to reach a point behind the door) tasks. The robot moves from its start configuration at t = 0 s and it takes several steps before grasping the ball at t = 7.8 s. For these steps, a dynamic gait is chosen by the planner. When performing the grasping, the free_CoM (a non-stepping primitive in which the CoM is free to move) is used. Finally, a dynamic gait is restored and the task is successfully completed at t = 27.5 s. Note that, in this experiment, the planner chooses the most suitable primitive depending on the task phase.
Stepping over an obstacle
In the second scenario, the robot must reach an assigned goal across an automatic goal, whose guide rail represents an obstacle.
Above is a selection of snapshots from a solution found by our planner for this problem. The task is entirely defined in terms of a navigation task (the robot has to reach an assigned goal). The robot starts approaching the guide rail at t = 6 s, taking several steps from its starting position. Then, it overcomes the guide rail by taking two static steps at t = 11.5 s. A dynamic gait is chosen for the final part of the task, ending at t = 18 s. Note that, in this experiment, the planner chooses the most suitable primitive depending on the environment.
This clip explains the working principle of the planner and shows dynamic simulations of the plans generated for the two above scenarios.
 M. Cognetti, P. Mohammadi, G. Oriolo, Whole-Body Motion Planning for Humanoids based on CoM Movement Primitives. 15th IEEE-RAS International Conference on Humanoid Robots, Seoul, Korea, 2015 (pdf).