Inferensys

Glossary

Whole-Body Control (WBC)

Whole-Body Control (WBC) is a control framework for robots with multiple degrees of freedom that coordinates all joints to execute multiple prioritized tasks simultaneously, such as maintaining balance while reaching.
Product manager reviewing autonomous task execution dashboard on laptop, completed tasks visible, casual work session.
ROBOT MANIPULATION AND GRASPING

What is Whole-Body Control (WBC)?

A control framework for coordinating all joints of a complex robot to execute multiple, prioritized tasks simultaneously.

Whole-Body Control (WBC) is an advanced control framework for robots with many degrees of freedom—such as humanoids, mobile manipulators, or quadrupedal robots—that formulates and solves a single optimization problem to coordinate the motion of all joints. Its primary function is to execute multiple control objectives or tasks—like maintaining balance, reaching for an object, or avoiding obstacles—simultaneously by assigning them strict priority levels. This is mathematically achieved through hierarchical quadratic programming (QP), where higher-priority tasks are satisfied exactly before lower-priority tasks are optimized in the null space of the higher ones.

This hierarchical optimization allows a robot to manage task conflicts inherently, such as using its arm to reach while its legs maintain a stable center of mass. WBC directly incorporates dynamic models and contact constraints, making it fundamental for legged locomotion and complex manipulation where forces must be managed. It is distinct from simpler, sequential approaches and is closely related to Operational Space Control and Null-Space Projection, providing a unified method for real-time robotic control systems that must react to dynamic environments and physical interactions.

CONTROL FRAMEWORK

Core Characteristics of Whole-Body Control

Whole-Body Control (WBC) is a unified control framework for complex robots that coordinates all available degrees of freedom to execute multiple, often conflicting, tasks simultaneously. It is defined by several key computational and architectural principles.

01

Task Prioritization

The defining feature of WBC is its strict hierarchical task prioritization. Tasks are assigned different priority levels, and the controller solves for joint motions that satisfy the highest-priority task first, then projects lower-priority tasks into the null space of higher ones. This ensures critical constraints like balance or joint limits are never violated to achieve a secondary goal like reaching.

  • Example: A humanoid's primary task is maintaining Center of Mass (CoM) over its support polygon. A secondary task of reaching for an object is only executed with the remaining motion that does not disturb balance.
02

Unified Dynamics Formulation

WBC uses a single, comprehensive dynamic model of the entire robot (e.g., a floating-base model for humanoids) within its optimization. This allows it to account for the dynamic coupling between all body segments. Unlike simpler methods that treat the arm and base separately, WBC understands that moving the arm generates reaction forces and torques that affect the base's stability, and plans motions accordingly.

This formulation is typically expressed as a Quadratic Program (QP) that minimizes control effort or acceleration while satisfying task constraints and physical limits.

03

Redundancy Resolution

Robots like humanoids or mobile manipulators are kinematically redundant, meaning they have more joints than strictly required to achieve a task's degrees of freedom. WBC explicitly exploits this redundancy. The null space of the primary task Jacobian represents all the possible joint motions that do not affect the primary task. WBC uses this null space to execute lower-priority tasks, optimize for posture, or avoid obstacles without interfering with the main objective.

04

Integration of Constraints

WBC frameworks are built to natively handle a wide array of hard and soft constraints as part of the optimization problem. These are not afterthoughts but core inputs. Common constraints include:

  • Physical Limits: Joint position, velocity, and torque limits.
  • Contact Constraints: Forces must remain within friction cones, and unactuated contacts (feet on ground) cannot pull.
  • Dynamic Consistency: Motions must be feasible according to the robot's equations of motion.
  • Self-Collision Avoidance: Geometric constraints to prevent the robot from hitting itself.
05

Real-Time Optimization

WBC is fundamentally an online, receding-horizon optimization solved at control-loop frequencies (typically 100-1000 Hz). It does not pre-compute a full trajectory. Instead, at each control cycle, it takes the current state estimate and desired task references, solves the QP, and outputs optimal joint accelerations, torques, or velocities for the immediate next step. This makes it highly reactive to disturbances, sensor feedback, and changing task goals.

06

Operational Space Control Foundation

WBC is deeply rooted in Operational Space Control principles. It formulates tasks not in joint space, but in task space (or operational space)—the Cartesian space where the task is naturally defined (e.g., the position of an end-effector or the robot's CoM). The controller computes the forces/accelerations needed in this task space and then maps them back to joint torques using the dynamically consistent inertia matrix. This provides more intuitive and decoupled control of task behavior.

CONTROL FRAMEWORK

How Does Whole-Body Control Work?

Whole-Body Control (WBC) is a hierarchical optimization framework for coordinating all degrees of freedom in a complex robot to achieve multiple, often competing, tasks simultaneously.

Whole-Body Control (WBC) is a hierarchical optimization framework that coordinates all a robot's actuated degrees of freedom to execute multiple prioritized tasks simultaneously. It formulates tasks—like end-effector positioning, balance, or collision avoidance—as mathematical constraints or objectives within a Quadratic Program (QP). The solver computes optimal joint torques or velocities that satisfy the highest-priority task first, then projects lower-priority tasks into the null space of higher ones, ensuring they do not interfere. This allows a humanoid, for instance, to maintain dynamic balance (priority one) while reaching for an object (priority two) and avoiding self-collision (priority three).

The core mechanism is the task-priority null-space projection. Each task is defined by a desired acceleration or force in its task space. The controller solves a cascade of QPs, where the solution for a lower-priority task is constrained to the null space of the Jacobian of all higher-priority tasks. This mathematically guarantees that executing the lower-priority task will not degrade the performance of more critical objectives. WBC typically operates in velocity or torque control modes, integrating with a whole-body dynamics model to account for the robot's mass distribution and external forces, enabling physically consistent and reactive motion for complex platforms like mobile manipulators and legged robots.

ROBOT MANIPULATION AND GRASPING

Applications and Implementations

Whole-Body Control (WBC) is a hierarchical control framework that enables complex robots to execute multiple, often conflicting, tasks simultaneously by assigning strict priorities. Its primary implementations solve the fundamental problem of coordinating all available degrees of freedom—from legs and torso to arms and head—to achieve composite behaviors.

01

Hierarchical Quadratic Programming (HQP)

The most common mathematical formulation for WBC, Hierarchical Quadratic Programming (HQP) solves a stack of constrained optimization problems. Each level corresponds to a task (e.g., maintain balance, reach for an object). The solver finds joint commands that satisfy the highest-priority task first, then projects the solution into the null space of that task to solve for the next priority, minimizing interference.

  • Primary Solver: Uses Null-Space Projections to ensure lower-priority tasks do not disrupt higher-priority ones.
  • Core Constraint: Typically includes robot dynamics equations and joint torque/velocity limits.
  • Real-Time Requirement: Must solve at control-loop frequencies (e.g., 1 kHz), requiring efficient QP solvers like qpOASES or OSQP.
02

Dynamic Balance and Locomotion

For humanoid and legged robots, maintaining dynamic balance is the supreme-priority task in WBC. The controller uses a Centroidal Dynamics Model to relate joint torques to the acceleration of the robot's center of mass and its angular momentum.

  • Primary Task: Regulate Center of Pressure (CoP) within the support polygon or manage Angular Momentum.
  • Secondary Tasks: While balancing, the robot can use remaining control authority for arm manipulation, gaze control, or stepping.
  • Example: Boston Dynamics' Atlas uses WBC to stay upright while performing parkour, where balance tasks dominate but arm swing tasks are executed in the null space.
03

Mobile Manipulation

WBC is essential for robots where a manipulator arm is mounted on a mobile base (e.g., a rover or a wheeled robot). It coordinates base motion and arm motion to achieve end-effector goals while respecting the system's physical constraints.

  • Task Stack: 1) Avoid tipping over (stability), 2) Navigate to goal (base velocity), 3) Position end-effector (arm IK), 4) Minimize joint movement (comfort).
  • Key Benefit: The mobile base can reposition itself to extend the workspace of the arm, solving problems a fixed-base manipulator cannot.
  • Implementation: Used in warehouse robots like those from Fetch Robotics for shelf picking, where the base moves to align the arm with the bin.
04

Redundancy Resolution and Posture Optimization

Robots like humanoids have many more joints than required for a primary task (e.g., a 7-DoF arm needs only 6 DoF for end-effector pose). WBC uses this kinematic redundancy to optimize secondary criteria without affecting the primary task's performance.

  • Common Optimization Criteria:
    • Joint Limit Avoidance: Keep joints away from mechanical stops.
    • Energy Minimization: Prefer configurations that require less torque.
    • Obstacle Avoidance: Maximize distance between the robot's links and environmental obstacles.
    • Human-Like Posture: Optimize for ergonomics or perceived safety in HRI.
05

Force-Based Tasks and Hybrid Control

WBC seamlessly integrates force control tasks with position control tasks. This is critical for compliant manipulation where the robot must exert specific forces (e.g., polishing, assembly) while maintaining its overall posture.

  • Hybrid Force/Motion Control: A task can specify a desired force in one Cartesian direction and a desired position in another.
  • Application - Peg-in-Hole: A WBC stack might prioritize: 1) Maintain robot balance, 2) Exert a downward insertion force, 3) Achieve a lateral alignment position.
  • Implementation: Uses operational space formulations, where force tasks are defined in the same task-space framework as motion tasks.
06

Reactive Whole-Body Control

In dynamic environments, WBC frameworks incorporate sensor feedback at the control level to react in real-time. This differs from slower re-planning loops.

  • External Disturbance Rejection: Uses force/torque sensors in the feet or wrists to detect pushes. A high-priority "balance" task instantly computes joint corrections to regain stability.
  • Unexpected Contact: If an arm makes unintended contact, a collision detection signal can trigger a high-priority "zero-force" task at the contact point, making the limb compliant.
  • Reactive Grasping: Adjusts whole-body posture based on tactile sensor feedback during a grasp to prevent object slip or tipping.
WHOLE-BODY CONTROL (WBC)

Frequently Asked Questions

Whole-Body Control (WBC) is a foundational control framework for complex robots like humanoids and mobile manipulators. These FAQs address its core mechanisms, applications, and how it differs from simpler control paradigms.

Whole-Body Control (WBC) is a hierarchical control framework for robots with many degrees of freedom (DOF) that coordinates the motion of all joints to execute multiple, potentially conflicting tasks simultaneously. It works by formulating control objectives—such as maintaining balance, reaching for an object, or avoiding obstacles—as mathematical task functions with assigned priorities. A high-priority task, like keeping the robot from falling, is satisfied exactly. The controller then projects lower-priority tasks, like moving an arm, into the null space of the higher-priority tasks, meaning the arm motion is executed only with the joints that do not interfere with balance. This is solved in real-time, often using Quadratic Programming (QP) optimization to compute joint torques or velocities that best satisfy the stack of prioritized constraints and objectives.

Key components of the WBC pipeline:

  • Task Definition: Each objective (e.g., end-effector position, center of mass location) is defined as a function of the robot's joint states.
  • Priority Assignment: A strict hierarchy (e.g., contact force constraints > balance > manipulation > posture) is established.
  • Null-Space Projection: The solution for a lower-priority task is projected onto the null space of all higher-priority tasks.
  • Optimization Solver: A QP solver computes the optimal joint commands that satisfy the hierarchical stack, often incorporating robot dynamics and actuator limits.
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.