The robot is balancing while different kinds of disturbances are applied to its mechanical structure. At each millisecond an optimization problem is solved that decides which joint torques are to be applied in order to realize feedback controllers that a) stabilize the robot after a push while b) generating admissible forces on the ground. With our whole-body controller the robot remains in balance despite comparably strong pushes.
Legged robots are expected to locomote autonomously in an uncertain and potentially dynamically changing environment. Active interaction with contacts becomes inevitable to move and apply forces in a goal-directed way and withstand unpredicted changes in the environment. Therefore, we need to design algorithms that exploit interaction forces and generate desired motions of the robot leading to robust and compliant interaction with the environment. In this context, the choice of a control strategy for legged robots is of primary importance as it can drastically improve performance in face of unexpected disturbances and therefore open the way for agile robots, whether they are locomoting or performing manipulation tasks.
In the theoretical part of our work, we develop algorithms based on dynamic models to control any robots with arms and legs. Our controllers allow for simultaneous control of robot motion and contact interactions in a unified framework. This allows, for example, optimization of contact forces while walking on uneven terrain. In the experimental part of our work, we implement these algorithms on state-of-the-art machines and show the capabilities and limitations of the algorithms when dealing with imperfect models, sensor noise and actuation limitations.
Our experiments show that our humanoid robot can balance with very good performance. It withstands strong pushes and rapid displacements of the ground support. Our experiments demonstrate that our algorithms are robust to dynamic model inaccuracies, sensor noise and actuator bandwidth limitations and it opens the way to more general controller formulations through optimization.