Robot Whole-Body Control: Contacts, Tasks, Momentum and Constraints

Whole-body control coordinates a robot’s contacts, floating base, legs, arms, torso and posture so several tasks can be executed without violating dynamics or hardware limits. Instead of commanding each limb independently, it resolves a shared set of variables such as joint acceleration, contact force, position or torque.

The name covers several architectures. A controller may solve a quadratic program from a rigid-body model, use hierarchical task priorities, track centroidal quantities, decode a learned full-body command or combine these layers. The real interface and constraint handling matter more than the label.

Read this with the kinematics and dynamics guide and contact-control comparison. Whole-body behavior depends on state, contact and actuator evidence that must be validated together.

Whole-body control solves a coupled robot problem

Moving one humanoid arm changes the center of mass and angular momentum. A foot contact limits base motion and creates a wrench that supports the body. A hand contact can add another closed-chain constraint. Treating these actions as independent joint trajectories can create conflict or loss of balance.

A whole-body controller chooses commands that satisfy shared dynamics while reducing task errors. The output can be desired joint acceleration, velocity, position, torque or a combination passed to lower-level servos. State clearly which layer closes the final actuator loop.

Humanoid robot using coordinated arms legs and torso during a laboratory whole body task
A humanoid task can require simultaneous foot contact, balance, arm motion and posture control. Source: NVIDIA GR00T Whole-Body Control. Source-code license: Apache 2.0; model assets use separate terms.

State and contact estimation define the problem

The controller needs joint state, floating-base pose and velocity, contact state and often external wrench. IMU, encoders, force sensors, vision and kinematic contact constraints contribute. Delay or frame error can make the solver enforce a physically wrong contact.

Use contact probability or a state machine with well-defined transitions rather than assuming every planned foot is firmly planted. Monitor slip, early impact and missed contact. During transition, blend objectives and bounds so the command does not jump between incompatible models.

InputController useFailure modeEvidence
Base stateBalance and task framesDrift or latencyExternal motion reference
Joint stateKinematics and limitsOffset or velocity noiseEncoder validation
Contact stateConstraint selectionFalse support or missed touchForce and kinematics
Contact geometryFriction and wrench boundsWrong normal or polygonCalibrated surface model
Actuator stateTorque and speed feasibilityHidden saturationDrive telemetry

Contact constraints create the feasible set

Planning and control through contact require unilateral normal force, friction and kinematic consistency. The Underactuated Robotics contact chapter explains why contact mode is both a discrete and continuous problem. A foot can push a floor but cannot pull it.

Approximate friction cones or pyramids must use conservative coefficients appropriate to the surface. Center-of-pressure and contact-wrench bounds depend on foot geometry and load distribution. If the estimated contact violates these bounds, the solver may return an attractive but physically impossible command.

Tasks need priorities, weights and tolerances

Typical tasks include stance-foot pose, hand pose, center of mass, torso orientation, gaze and nominal posture. Hard constraints protect feasibility; soft objectives trade errors. With weighted optimization, units and scale affect priority. With hierarchical optimization, higher levels are preserved while lower levels use remaining freedom.

Document which tasks can yield and by how much. An exact hand pose may be less important than keeping a foot stable, while a tool task may demand orientation accuracy but allow translation along one axis. Use tolerances and slack penalties that reflect the actual operation.

Centroidal quantities summarize balance motion

The center of mass and centroidal momentum provide a compact description of the body’s overall motion. Contact wrenches change linear and angular momentum. A controller can track desired centroidal behavior while a whole-body mapping distributes the result to joints and contacts.

Centroidal control does not eliminate full-body constraints. Joint limits, self-collision, swing-foot clearance and actuator capability still matter. Model and estimate error can produce contact-force mismatch, so compare predicted and measured support behavior during pushes, payload changes and arm motion.

Five-stage robot whole body control solver stack
Reliable whole-body control starts with state, contact and constraint quality. Source: Physical AI Lab.

Optimization-based WBC exposes constraints explicitly

Tools such as Drake support multibody dynamics and mathematical optimization used in robot control research. A quadratic program can minimize task and effort costs subject to equations of motion, contact, acceleration, torque and joint bounds at each control step.

The result is local to the current state and modeled contact. Solver time and numerical conditioning must fit the control deadline. Log status, iterations, residuals and active constraints. Define a bounded fallback for infeasibility or timeout instead of reusing a stale high-energy command.

Design choiceBenefitRiskVerification
Weighted tasksSimple tradeoffsUnit-sensitive priorityScale sweep
Hierarchical tasksStrict priorityHigher computationConflict tests
Hard contact boundsPhysical feasibilityModel mismatchSlip and force tests
Torque constraintsProtect actuatorsConservative performanceTelemetry comparison
Slack variablesAvoid infeasibilityHidden violationSlack threshold alarms

Learned whole-body control changes the command interface

The current GR00T Whole-Body Control repository demonstrates a learned humanoid control stack and identifies separate source-code and model licensing. A learned model may predict compact or full-body action representations that are decoded and executed by another controller layer.

Do not describe a vision-language-action model as directly commanding raw joint torque unless the documented stack does so. Record observation history, action rate, decoder, low-level interface and safety filters. Test distribution shift, recovery and out-of-domain commands separately from successful demonstrations.

Contact transitions are harder than steady stance

Lifting a foot removes constraints and available support wrench; touchdown adds them after an uncertain impact time. Hand contact may arrive early or late. Transition logic must coordinate trajectory, force ramp, task priority and estimator state without discontinuity.

Test slow transfers before dynamic motion. Vary surface height, friction and timing, and measure impact force, slip, base error and command saturation. A controller that balances in a fixed stance has not yet demonstrated robust walking or manipulation through contact.

Actuator limits must remain visible to the solver

Joint torque, speed, current, temperature and transmission limits change with operating state. If the optimizer assumes unavailable torque, lower layers saturate and the predicted dynamics become wrong. Rate limits and communication delay also shape the achievable command.

Use calibrated output-side limits where possible and monitor saturation feedback. Reduce task demands when margin falls rather than allowing integrators or optimization slack to grow silently. Validate across battery voltage, payload, warm joints and degraded communication.

Validate tasks, disturbances and fallback states

Build tests from static stance to coordinated reach, contact transitions, locomotion and external disturbance. Compare desired and measured base motion, contact wrench, task errors, friction margin, joint limits, actuator saturation and solver health. Repeat across payload, floor and state-estimator variations.

Fault tests should include lost contact, stale state, sensor dropout, optimization timeout and drive fault. Independent protective functions and workspace limits remain necessary. A controller that appears compliant or balanced in nominal conditions is not automatically a validated safety function.

  • Define the actual command and feedback interfaces.
  • Validate timestamps, frames and contact state.
  • Separate hard constraints from soft task objectives.
  • Monitor solver, slack and actuator saturation online.
  • Test contact transitions and bounded fallbacks explicitly.

Frequently asked questions

Is whole-body control only for humanoids?

No. It also applies to quadrupeds, mobile manipulators and other robots whose contacts and subsystems must be coordinated.

Does WBC always output joint torque?

No. Depending on the stack, it can output acceleration, velocity, position, contact force, torque or a command decoded by lower layers.

What is the difference between task weights and priorities?

Weights trade objectives in one cost and are sensitive to scale; hierarchical priorities preserve higher-level tasks before optimizing lower levels.

Can a learned policy replace contact constraints?

It may learn contact behavior, but deployment still needs state validation, actuator bounds, failure detection and independent protection appropriate to the risk.

What should be logged during WBC tests?

Log state and contact estimates, task errors, contact wrenches, commands, saturation, solver status, timing, slack and fallback transitions on one clock.

Whole-Body Control Boundary Note

Whole-body control is only as reliable as its state, contact, model, solver timing and actuator interface. Use independent protective limits and validate nominal, transition, disturbance and fault behavior on the complete robot.