Whole Body Control (WBC) is a task-prioritized controller designed for mobile robots and generalized for multi-contact mobility and manipulation. WBC's hierarchical task control strategy allows the easy inclusion of prioritized scenario-driven objectives into the control architecture that easily integrates with online planning and sensor-based reasoning about the current robot state. As an illustration of the WBC approach, consider the example of controlling a 32-DoF bipedal robot.
For this system, the center of mass is controlled as the highest priority task, the robot's posture is controlled as a second priority task, and the internal tensions and contact centers of pressure are controlled via a multi-contact grasp model as the lowest priority task. WBC organizes the control action so that lower priority tasks control actions have no effect on the higher priority tasks. Thus for multi-contact mobility, the control torques that manage the robot's posture do not affect the higher priority center of mass control, since by design they do not contribute to the acceleration of the robot's center of mass.
The internal forces needed to stabilize contacts (e.g., to prevent sliding along contact surfaces) affect neither the robot's posture nor its center of mass, and are thus decoupled from the higher priority task control. Notably,the WBC algorithm allows for compliant torque control that in turn leads to "soft" interactions with the environment in contrast with traditional non-model-based inverse kinematic controllers. This protects both the robot hardware and humans that interact with the robot from harm. This same feature contributes to robustness to external disturbances: unexpected interactions with the environment to not immediately lead to operational failure, which is typically the case in traditionally stiff robots.