Placeholder Notice: This article is an example placeholder created for the Robotics Learning Lab website template. It contains no invented experimental data, verified research findings, or claims of personal achievement.
Introduction to Whole-Body Control (WBC)
In humanoid and legged robotics, Whole-Body Control (WBC) refers to the framework that coordinates all degrees of freedom (DoFs) simultaneously to achieve multiple tasks, such as:
- Maintaining center-of-mass (CoM) balance
- Regulating ground reaction forces at contact points
- Following desired manipulation trajectories with end-effectors
- Staying within physical joint torque and position limits
Unlike decoupled control methods where legs and arms are controlled independently, whole-body controllers consider the full dynamics of the floating-base rigid body system.
The Floating-Base Dynamic Model
A humanoid robot is modeled as a floating base with $n$ actuated internal joints:
M(q) * q̈ + C(q, q̇) * q̇ + g(q) = S^T * τ + J_c(q)^T * λ
Where:
q: Generalized coordinates vector containing floating-base pose and joint anglesM(q): Generalized inertia matrixC(q, q̇): Coriolis and centrifugal forcesg(q): Gravity vectorS: Actuation selection matrix (isolating unactuated floating base DoFs)τ: Joint torquesJ_c: Contact Jacobianλ: Contact force vector
Because the robot base is unactuated (it interacts with the world solely through contact forces), the controller cannot apply direct external forces to the torso without establishing stable ground contacts.
Hierarchical Optimization with Quadratic Programming (QP)
Modern humanoid systems formulate whole-body control as an online optimization problem solved at frequencies between 500 Hz and 1 kHz.
Tasks are arranged in strict or weighted priorities:
| Priority Level | Objective | Mathematical Constraint |
|---|---|---|
| Priority 1 (Safety) | Joint limits, contact friction cones, torque bounds | Hard linear inequalities |
| Priority 2 (Stability) | Center of Mass (CoM) balance and angular momentum | Soft quadratic cost |
| Priority 3 (Task) | End-effector tracking (e.g. grasping or pointing) | Soft quadratic cost |
| Priority 4 (Posture) | Regularization toward nominal resting joint positions | Minimal weight damping |
The Friction Cone Constraint
To prevent foot slip, contact forces must remain within the Coulomb friction cone:
|f_tangential| <= μ * f_normal
This ensures the robot does not slip on the support surface during locomotion.
Learning Questions & Next Steps
As part of my first-year coursework and independent study, I am exploring:
- How does Model Predictive Control (MPC) interact with WBC? (MPC typically plans trajectories over a multi-step horizon using a simplified inverted pendulum model, while WBC tracks those plans instantaneously at high frequency).
- How do state estimation errors (e.g., IMU drift, contact timing mismatches) propagate through quadratic programming solvers like
qpOASESorOSQP? - Setting up a minimal 2D planar biped simulation in Python to test balance recovery under external impulses.