If biped robots should interact with humans in everyday tasks and environments, they must have a proper control system that allows them to balance (compliantly) in the presence of unknown external perturbations. Such balance is achieved through the application of suitable contact forces to the ground using the finite support area of the feet. Our approach for a posture controller is strongly based on the observation that the problems of grasping an object and balancing a robot are fundamentally similar, in the sense that both try to achieve a desired wrench (on the object in the grasping case, on the robot in the balancing case) based on the application of suitable forces at the contact points (at the fingertips or at the feet). After an unknown perturbation deviates the robot from a desired posture, the controller computes the wrench required to recover the desired position and orientation, according to a compliance control law. This wrench is distributed to predefined supporting contact points at the feet. The forces at these points are computed via a constrained optimization problem that minimizes the contact forces while including friction restrictions and torque limits at each joint.
The same basic ideas are currently being extended to tackle the problem of multi-contact interaction, where the robot can use additional contact points (e.g. hands) to keep the balance or interact with the world, as in the case of crawling through challenging terrain or climbing a ladder.