Robots Atlas>ROBOTS ATLAS
Robotics

WBC

2004ActivePublished: 22 September 2026Updated: 22 September 2026Published
Key innovation
Simultaneous coordination of all degrees of freedom of a redundant robot within a task hierarchy, subject to dynamics, contact and balance constraints — instead of controlling each limb or task in isolation.
Category
Robotics
Abstraction level
Paradigm
Operation level
Robot control
Use cases
Simultaneous locomotion and manipulation in humanoids (loco-manipulation)Balance keeping and push recoveryControl of legged robots with multiple contacts (multi-contact)Center-of-mass trajectory and torso posture trackingExecuting and tracking policies learned via reinforcement learningTeleoperation and human-to-robot motion retargeting

How it works

At each control step, WBC builds and solves an optimisation problem whose decision variables are typically joint accelerations, contact forces and joint torques. (1) A set of tasks is defined, each as an operational-space function (e.g. center-of-mass position, torso orientation, hand position), expressed via a task Jacobian and a desired acceleration. (2) Tasks are assigned priorities or weights: in the strict-hierarchy approach lower-priority tasks are solved in the null space of higher-priority tasks (null-space projection), while in hierarchical QP successive QPs are solved in a cascade. (3) Constraints include the dynamics equations (M·q̈ + h = Sᵀ·τ + Jcᵀ·f), friction cones and contact unilaterality, and torque and position limits. (4) The QP solver computes optimal joint torques that are sent to the actuators. Formulating tasks in operational space stems from Khatib's operational space formulation, and null-space projection ensures dynamic consistency between priorities.

Problem solved

Humanoid and legged robots have a large number of degrees of freedom, are redundant, and must simultaneously pursue conflicting objectives (balance, locomotion, manipulation) while maintaining contacts and physical limits. Controlling individual joints or limbs in isolation guarantees neither whole-system consistency nor stability. WBC solves the problem of consistent, simultaneous coordination of all DoF with task prioritisation and hard constraints.

Components

Task hierarchyDefines the set of tasks and their priorities/weights

A set of tasks (balance, locomotion, manipulation, posture) ordered by strict hierarchy or weighted; determines which objectives take precedence in case of conflict.

Whole-body dynamics modelRelates torques, accelerations and contact forces

The full rigid-body dynamics model (M·q̈ + h = Sᵀ·τ + Jcᵀ·f) used as a hard constraint in the optimisation.

Operational space formulationDescribes tasks in task space rather than joint space

Khatib's formalism expressing dynamics and control in the task space (e.g. hand, center of mass) via task Jacobians and operational-space inertia.

Official

Contact and friction modelEnforces physically realisable contact forces

Contact unilaterality and friction-cone constraints (often linearised to pyramids) ensuring ground-reaction forces are feasible.

Official

Optimisation solver (QP)Solves the control problem in real time

A quadratic-programming solver (or a cascade of QPs in hierarchical QP) computing optimal torques/forces satisfying tasks and constraints at each loop step.

Official

Null-space projectionRealises lower-priority tasks without disturbing higher ones

A mechanism exploiting robot redundancy: lower-priority tasks are projected into the null space of higher-priority tasks, guaranteeing a strict priority hierarchy.

Official

Implementation

Implementation pitfalls
QP infeasibilityHigh

Conflicting tasks and constraints (contact, limits) can make the QP infeasible, yielding no solution at a control step.

Fix:Use soft constraints/slacks, priority hierarchy and regularisation; provide a fallback on infeasibility.
Real-time solver latencyHigh

At high control rates the QP solve time must fit within the step budget; overruns destabilise the robot.

Fix:Exploit warm-starting, sparsity, efficient solvers and limit the number of variables/hierarchy levels.
Inaccurate dynamics and contact modelMedium

Errors in mass, inertia, friction or contact-geometry models translate into tracking errors and loss of balance.

Fix:Model calibration, state and force estimation, and safety margins in constraints.
Discontinuities on priority/contact switchingMedium

Activating or deactivating tasks and changing contacts can cause step changes in torques.

Fix:Smooth transitions, weight interpolation and continuous null-space projection.

Evolution

Original paper · 2004 · International Journal of Humanoid Robotics · Oussama Khatib
Whole-body dynamic behavior and control of human-like robots
Oussama Khatib, Luis Sentis, Jaeheung Park, James Warren
1987
Operational space formulation (Khatib)
Inflection point

Khatib introduces the operational space formulation — the foundation for task-space control and later WBC.

2004
Whole-body control of humanoid robots
Inflection point

Khatib and colleagues formalise whole-body control for human-like robots.

2005
Hierarchical synthesis of whole-body behaviors

Sentis and Khatib present the synthesis of whole-body behaviors through hierarchical control of behavioral primitives.

2014
Real-time hierarchical QP
Inflection point

Escande, Mansard and Wieber demonstrate hierarchical quadratic programming for fast, online humanoid motion generation — key to modern QP-based WBC.

2015
WBC on Atlas (DARPA Robotics Challenge)

Kuindersma et al. describe optimisation-based locomotion, estimation and control for the Atlas humanoid — a mature hardware deployment of WBC.

2023
Integration of WBC with reinforcement learning

Proliferation of learned whole-body control policies and combining WBC with RL and MPC in commercial humanoids.

Hyperparameters (configurable axes)

Control frequencyCritical

WBC loop frequency (typically hundreds of Hz up to 1 kHz); affects stability and responsiveness.

Task priority structureCritical

Number and ordering of priority levels (strict hierarchy vs. weights in a single QP).

Task weightsHigh

Weights in weighted WBC (soft priorities) determining the trade-off between tasks.

Friction-cone approximationMedium

Number of sides of the pyramid linearising the friction cone; accuracy vs. QP cost trade-off.

RegularisationMedium

Regularisation of variables (e.g. torque minimisation) ensuring a well-conditioned QP.

Computational complexity

Time complexity: O(n³) na krok sterowania.

Hardware requirements

Primary

WBC runs as a real-time control loop on the onboard CPU; QP solvers are optimised for CPU vectorisation and low latency.

Possible

The optimisation formulation itself is hardware-independent; solver and platform choice depend on real-time requirements.