Planning and Control of Humanoid Robots

Real-Time Planning and Execution of Evasive Motions for a Humanoid Robot

Coexistence of humanoid robots and humans in the same environment is possible provided that an acceptable degree of safety is achieved. Motivated by the on-going research project COMANOID which targets the deployment of humanoid robots in aeronautic assembly operations, we address in this paper a basic safety problem involving a humanoid robot and a moving obstacle. In particular, consider the following scenario. A humanoid is standing in a workspace when a moving obstacle (such as a human) enters its safety area and heads towards it. The robot must plan and execute a fast evasive motion to prevent a collision. On the one hand, the possibility of taking steps makes this kind of obstacle avoidance possible; on the other hand, a suitable motion must be generated in real-time.

Problem setting

Proposed approach

Our approach goes through several conceptual steps. Once the entrance of the moving obstacle in the safety area is detected, its approach direction relative to the robot is determined. On the basis of this information, a suitable evasion maneuver represented by footsteps is generated using a controlled unicycle as a reference model. From the footstep sequence, we compute an appropriate trajectory for the Center of Mass of the humanoid, which is finally used to generate joint motion commands that track such trajectory. In the interest of safety, it is obviously essential that the reaction time (from detection of the moving obstacle to start of the evasive motion) is as small as possible. This is achieved by making use of closed-form expressions throughout the method, and results in an algorithm suitable for real-time implementation.

Our approach

For illiustration, we consider two basic evasion strategies: move back and move aside. However, the proposed algorithmic framework may accommodate different strategies.


The proposed method has been implemented for the humanoid robot NAO. First, we run dynamic simulations in V-REP. Then, we performed experiments on the real robot, using another (teleoperated) NAO as a moving obstacle. In both cases, the robot is equipped with a depth camera, mounted on its head, used to detect the moving obstacle. The following clip summarizes the working principle of the proposed framework and shows typical results obtained using the move aside evasive strategy.


[1] M. Cognetti, D. De Simone, L. Lanari, G. Oriolo, Real-Time Planning and Execution of Evasive Motions for a Humanoid Robot. 2016 IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 2016 (pdf).

Robotics Laboratory Homepage