Skip to content
←Back to Papers

PAPER DEEP DIVE

HumanoidWhole-Body ControlModel Predictive Control

Adaptive Whole-Body MPC with Optimal Posture Planning for Humanoid Robots under Unknown Payloads

When a humanoid lifts an unknown payload, abrupt changes in mass, center of mass, and inertia destabilize whole-body control. The paper couples centroidal MPC, adaptive fuzzy balance compensation driven by capture-point error, and triple-integrator posture-transition planning. MPC produces motion references under contact, friction, and joint constraints; fuzzy compensation allocates corrective torques to stance legs; and the planner generates smooth, feasible sit-to-stand and stand-to-sit trajectories. MuJoCo simulation and a 28-DoF humanoid validate stable lifting with 7 kg and 10 kg payloads and robust 7 kg load-carrying during walking.

Adaptive Whole-Body MPC with Optimal Posture Planning for Humanoid Robots under Unknown Payloads

Authors: Manh Cuong Nguyen, Duc Cuong Vu, Viet Anh Vu, Duc Tuan Pham, Toan Nguyen, Minh Hiep Phung, Ngo Anh Vien, Minh Nhat Vu · arXiv: 2601.12972 · Paper · Official code: not released · Related dependency: OCS2

Stages of a humanoid lifting, carrying, and placing an unknown payload

Figure 1: The task spans sitting, grasping, holding, lifting, walking, and placing. Fuzzy compensation constrains center-of-mass drift across all stages.

One-Sentence Summary

Instead of identifying the payload first, the paper lets a centroidal MPC produce constrained nominal motion, an adaptive fuzzy balance controller consume capture-point error to cancel model mismatch, and a triple-integrator posture planner generate feasible squat and transfer trajectories for a real humanoid.

Why This Problem Is Hard

Humanoid material handling looks deceptively simple until the object changes. A robot must approach a package, lower its pelvis, grasp it, stand up, carry it, and put it down. Each transition changes the floating-base dynamics and the contact configuration. In industry, mass, shape, and inertia are often unknown, so a controller tuned for a nominal object can become wrong at the exact instant of grasping.

The difficulty is coupled. Added mass changes the mass matrix. The package moves the center of mass and changes rotational inertia. Contact forces shift between the feet. If the balance controller waits for a tracking error to grow, the center-of-mass projection may already be close to the support boundary. High-gain feedback can then excite oscillations rather than restore stability.

Posture transitions add a second failure mode. Squatting is not a sequence of fixed waypoints for the pelvis. Hip, knee, and ankle angles must remain inside joint limits, the feet must remain feasible contacts, and the pelvis height and pitch determine what horizontal position is kinematically attainable. A reference that looks smooth in configuration space can still be dynamically useless if the center of mass leaves the support polygon.

Prior MPC systems are strong at locomotion under explicit constraints, but many assume known loads. Fuzzy controllers can map uncertain, nonlinear effects into bounded corrections, but by themselves usually lack systematic constraint handling. This paper keeps that boundary: the predictive layer retains contact and state constraints; the fuzzy layer adds a residual torque; the planner ensures that the posture transition is feasible before the robot tries to execute it.

The authors also make a hardware argument. Their robot runs centroidal MPC at 50 Hz, adaptive balance control at 500 Hz, and low-level torque control above 1 kHz. With that timing budget, they cannot fold payload identification, trajectory generation, contact feasibility, and joint tracking into one black-box optimizer. The architecture is therefore explicitly layered.

From Full Dynamics to a Centroidal Planner

The robot is represented by a floating base and actuated joints:

$$\mathbf{q}=[\mathbf{q}_{b}^{\top},\mathbf{q}_{j}^{\top}]^{\top},\qquad \mathbf{q}_{b}\in SE(3),\quad \mathbf{q}_{j}\in\mathbb{R}^{n_j}.$$

With active contacts, the constrained rigid-body dynamics become

$$\mathbf{H}_{bb}(\mathbf{q})\ddot{\mathbf{q}}_{b}+\mathbf{H}_{bj}(\mathbf{q})\ddot{\mathbf{q}}_{j}+\mathbf{n}_{b}(\mathbf{q},\dot{\mathbf{q}})=\mathbf{J}_{cb}^{\top}(\mathbf{q})\boldsymbol{\lambda},$$

$$\mathbf{H}_{jb}(\mathbf{q})\ddot{\mathbf{q}}_{b}+\mathbf{H}_{jj}(\mathbf{q})\ddot{\mathbf{q}}_{j}+\mathbf{n}_{j}(\mathbf{q},\dot{\mathbf{q}})=\boldsymbol{\tau}_{j}+\mathbf{J}_{cj}^{\top}(\mathbf{q})\boldsymbol{\lambda},$$

$$\mathbf{J}_{i}(\mathbf{q})\ddot{\mathbf{q}}+\dot{\mathbf{J}}_{i}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}=0,\qquad \forall i\in\mathcal{C}.$$

The mass matrix is split by floating-base and joint blocks. The terms $\mathbf{n}_b$ and $\mathbf{n}_j$ combine gravity, Coriolis, and centrifugal effects. The wrench $\boldsymbol{\lambda}$ acts through the contact Jacobian. The last equation is the contact constraint: for every active contact $i$, the contact Jacobian forces its acceleration to zero.

The planner then uses centroidal dynamics. If $\mathbf{h}=[\mathbf{h}_l^{\top},\mathbf{h}_a^{\top}]^{\top}$ is linear and angular momentum about the center of mass, then

$$\dot{\mathbf{h}}=\begin{bmatrix}\sum_{i\in\mathcal{C}}\mathbf{F}_{i}+m\mathbf{g}\\ \sum_{i\in\mathcal{C}}\left(\mathbf{r}_{i}\times\mathbf{F}_{i}+\mathbf{M}_{i}\right)\end{bmatrix}.$$

Here $\mathbf{F}_i$ and $\mathbf{M}_i$ are the force and moment at contact $i$, $\mathbf{r}_i$ points from the center of mass to that contact, $m$ is total mass, and $\mathbf{g}$ is gravity. Momentum is related to generalized velocity through the centroidal momentum matrix: $\mathbf{h}=\mathbf{A}(\mathbf{q})\dot{\mathbf{q}}$. Choosing $\mathbf{x}=[\mathbf{h}^{\top},\mathbf{q}_b^{\top},\mathbf{q}_j^{\top}]^{\top}$ gives

$$\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x},\mathbf{u}).$$

This reduction does not discard constraints. It separates the slow prediction problem from high-frequency joint tracking, giving the MPC enough time to enforce friction cones, center-of-pressure limits, and joint bounds.

Architecture

flowchart TB
    H[Desired pelvis height and pitch] --> P[Waypoint posture planner]
    P --> R[Smooth joint references]
    W[Joystick and walking mode] --> M[Centroidal MPC]
    R --> M
    M --> C[Contact forces and motion references]
    C --> B[Whole-body controller]
    S[State estimation] --> E[Capture point error]
    E --> F[Fuzzy balance controller]
    F --> A[Torque allocation]
    B --> A
    A --> J[Leg joint torque commands]
    J --> L[Humanoid low level control]
    L --> S
    P --> R2[Support polygon and joint limit checks]
    R2 --> P

Figure 2: The closed loop separates posture feasibility, constrained prediction, residual balance compensation, and low-level torque execution.

Constrained Centroidal MPC

Over horizon $T$, the nonlinear MPC solves

$$\min_{\mathbf{u}(\cdot)}\quad \Phi(\mathbf{x}(T))+\int_{0}^{T}l(\mathbf{x}(\rho),\mathbf{u}(\rho))\,d\rho$$

$$\text{s.t.}\quad \dot{\mathbf{x}}=\mathbf{f}(\mathbf{x},\mathbf{u}),\quad \mathbf{x}(0)=\mathbf{x}_{t},\quad (\mathbf{x},\mathbf{u})\in\mathcal{X}\times\mathcal{U}.$$

The stage and terminal costs are $l$ and $\Phi$. The constraint sets encode stance-foot friction cones, center-of-pressure feasibility, zero stance-foot velocity, prescribed swing-foot normal velocity, and joint position and velocity limits. The important consequence is that the reference motion is already feasible in the current contact mode.

The low level uses inverse dynamics. After solving the MPC, the first input is $\mathbf{u}(0)=[\dot{\mathbf{q}}_j^{*\top},\boldsymbol{\lambda}^{*\top}]^{\top}$. Exponential joint tracking is imposed by choosing

$$\ddot{\mathbf{q}}_{j}^{*}=-K_{p}\mathbf{e}_{j}-K_{d}\dot{\mathbf{e}}_{j},$$

with $\mathbf{e}_j=\mathbf{q}_j-\mathbf{q}_j^*$ and $\dot{\mathbf{e}}_j=\dot{\mathbf{q}}_j-\dot{\mathbf{q}}_j^*$. The floating-base acceleration follows from the base dynamics:

$$\ddot{\mathbf{q}}_{b}^{*}=\mathbf{H}_{bb}^{-1}\left(\mathbf{J}_{cb}^{\top}\boldsymbol{\lambda}^{*}-\mathbf{H}_{bj}\ddot{\mathbf{q}}_{j}^{*}-\mathbf{n}_{b}\right).$$

Substituting both accelerations into the joint equation gives the nominal torque

$$\boldsymbol{\tau}_{j}=\mathbf{H}_{jb}\ddot{\mathbf{q}}_{b}^{*}+\mathbf{H}_{jj}\ddot{\mathbf{q}}_{j}^{*}+\mathbf{n}_{j}-\mathbf{J}_{cj}^{\top}\boldsymbol{\lambda}^{*}.$$

The authors deliberately avoid an additional task-space QP here. Contact feasibility has already been handled by the centroidal MPC, so another optimization would add tuning and latency without addressing the remaining unknown-payload residual.

Fuzzy Residual Compensation

The fuzzy controller does not estimate mass. It measures where the capture point is going relative to the support polygon. Under a linear inverted pendulum assumption,

$$\boldsymbol{\xi}=\mathbf{r}_{\text{com}}+\frac{\dot{\mathbf{r}}_{\text{com}}}{\omega},\qquad \omega=\sqrt{\frac{g}{z_c}},$$

where $\mathbf{r}_{\text{com}}$ is the ground-projected center of mass and $z_c$ is nominal CoM height. With $\mathbf{c}_{\text{supp}}$ the weighted center of stance contacts, the balance error is

$$\mathbf{e}=\boldsymbol{\xi}-\mathbf{c}_{\text{supp}}=\mathbf{r}_{\text{com}}-\mathbf{c}_{\text{supp}}+\frac{\dot{\mathbf{r}}_{\text{com}}}{\omega}.$$

The forward component $e_x$ drives a pitch correction and the lateral component $e_y$ drives a roll correction. An anti-windup integral $\mathbf{e}_{\text{int}}=\int\mathbf{e}\,dt$ is clamped by $\left|\mathbf{e}_{\text{int}}\right|\le e_{\text{int,max}}$.

Each axis uses a four-layer fuzzy system. Fuzzification maps each input to five Gaussian membership functions labeled NB, NS, Z, PS, and PB:

$$\mu_{\ell}(x)=\exp\left(-\frac{(x-c_{\ell})^{2}}{2\sigma_{\ell}^{2}}\right).$$

The rule base has $5\times5\times5=125$ rules per axis. If deviation belongs to $\mathcal{A}_i$, velocity to $\mathcal{B}_j$, and integral state to $\mathcal{C}_k$, the consequent is $y_{ijk}$. Product inference gives the firing strength

$$w_{ijk}=\mu_{\text{dev}}^{(i)}(e)\cdot\mu_{\text{vel}}^{(j)}(\dot{r})\cdot\mu_{\text{int}}^{(k)}(e_{\text{int}}).$$

The consequent combines a PD-like base term and an integral term:

$$y_{ijk}=\text{clip}_{[-1,1]}\left(y_{\text{base}}^{(ij)}+\Delta_{\text{int}}^{(k)}\right).$$

Defuzzification returns a bounded compensation moment:

$$\tau=S\cdot\frac{\sum_{i,j,k}w_{ijk}y_{ijk}}{\sum_{i,j,k}w_{ijk}},\qquad |\tau|\le\tau_{\max}.$$

The authors describe this law as close to a saturated, gain-scheduled PID on capture-point error, but with effective gains changing jointly with error, velocity, and integral state. The rule centers, widths, output scales, and saturation values were hand tuned once and reused in all experiments.

Four-layer fuzzy inference system

Figure 3: Deviation, CoM velocity, and error integral enter the fuzzy system; bounded pitch and roll compensation leave it.

Torque Allocation to Stance Legs

The task-space compensation $\boldsymbol{\tau}_{\text{comp}}^{\text{task}}=[\tau_{\text{pitch}},\tau_{\text{roll}}]^{\top}$ is allocated only through stance legs. The arms hold the payload, so upper-body corrections would disturb the grasp and change inertia. The allocation minimizes joint torque norm:

$$\boldsymbol{\tau}_{\text{leg}}^{*}=\arg\min_{\boldsymbol{\tau}_{\text{leg}}}\ \boldsymbol{\tau}_{\text{leg}}^{\top}\boldsymbol{\tau}_{\text{leg}}$$

$$\text{s.t.}\quad \Omega(\boldsymbol{\tau}_{\text{leg}})=\boldsymbol{\tau}_{\text{comp}}^{\text{task}}.$$

The map $\Omega$ relates stance-leg joint torques to a task-space moment at the pelvis. This choice keeps the grasp undisturbed and prevents balance error from corrupting swing-leg references. It also bounds the blast radius of the compensator: only joints already supporting the robot participate in correction.

Selecting a Feasible Pelvis Pose

A desired pelvis height and pitch do not uniquely determine posture. Horizontal pelvis position remains free, but only some values yield joints inside limits and a center-of-mass projection inside the support polygon. The paper uses a three-link planar leg with joint vector

$$\mathbf{q}_{w}=[q_{h},q_{k},q_{a}]^{\top}$$

for hip, knee, and ankle. For a candidate pelvis height $h$, pitch $\theta$, and horizontal coordinate $p_x$, inverse kinematics produces $\mathbf{q}_{wr}$. If the solution is outside joint-limit set $\mathcal{Q}$, the algorithm moves $p_x$ by $\operatorname{sign}(\theta)\varepsilon$ within the support polygon until it finds a feasible configuration.

With thigh and shank lengths $l_1$ and $l_2$, and hip-to-ankle distance $d_0$, the closed-form inverse kinematics is

$$q_{k}=\pi-\arccos\left(\frac{l_{1}^{2}+l_{2}^{2}-d_{0}^{2}}{2l_{1}l_{2}}\right),$$

$$q_{h}=\frac{\pi}{2}-\arccos\left(\frac{l_{1}^{2}+d_{0}^{2}-l_{2}^{2}}{2l_{1}d_{0}}\right)-\arctan 2(h,p_{x}),$$

$$q_{a}=-q_{h}-q_{k}-\theta.$$

This abstraction does not model every upper-body degree of freedom. Its purpose is to make a large set of pelvis candidates cheap enough to test during planning.

Three-link leg model

Figure 4: The hip, knee, and ankle geometry supplies fast feasibility checks for pelvis candidates.

Trajectory Generation as a Jerk-Constrained Optimization

The planner uses a discrete triple integrator rather than direct interpolation. Its state and jerk input are

$$\boldsymbol{\eta}=[\mathbf{q}_{w}^{\top},\dot{\mathbf{q}}_{w}^{\top},\ddot{\mathbf{q}}_{w}^{\top}]^{\top},\qquad \boldsymbol{\omega}=\dddot{\mathbf{q}}_{w}.$$

The transition is

$$\boldsymbol{\eta}_{k+1}=\boldsymbol{\Phi}\boldsymbol{\eta}_{k}+\boldsymbol{\Gamma}_{1}\boldsymbol{\omega}_{k}+\boldsymbol{\Gamma}_{2}\boldsymbol{\omega}_{k+1},$$

with $\boldsymbol{\Phi}$, $\boldsymbol{\Gamma}_1$, and $\boldsymbol{\Gamma}_2$ built from $\Delta t$ and $\mathbf{I}_3$. The objective minimizes tracking error to the reference joint configuration and jerk energy:

$$\min_{\boldsymbol{\eta},\boldsymbol{\omega}}\sum_{k=0}^{N}\left(\|\mathbf{q}_{w,k}-\mathbf{q}_{wr,k}\|_{\mathbf{W}_{x}}^{2}+\|\boldsymbol{\omega}_{k}\|_{\mathbf{W}_{u}}^{2}\right).$$

The constraints are the triple-integrator recursion, the initial joint state, bounds on joint position, velocity, acceleration, and jerk, and a hard center-of-mass condition:

$$\mathbf{q}_{w0}=\mathbf{q}_{w,\text{init}},\qquad \boldsymbol{\eta}_{k}\in\mathcal{N},\quad \boldsymbol{\omega}_{k}\in\mathcal{W},\quad \gamma(\mathbf{q}_{w,k})\in\texttt{support\_polygon}.$$

Because $\gamma$ maps the joint configuration to the CoM projection, balance is not a post-processing check. The optimizer must move the pelvis horizontally as the robot squats or stands so that the center of mass stays inside the support polygon.

A real humanoid bending to grasp a box

Figure 5: During hardware trials, the arms maintain the grasp while corrective torques remain in the legs.

Experiments

The real robot has 28 degrees of freedom: seven per arm and six per leg. Centroidal MPC runs at 50 Hz. The adaptive control layer runs at 500 Hz. Low-level torque control runs above 1 kHz. MuJoCo validates individual modules, while hardware experiments test static lifting and combined lifting-walking.

Simulation comparison between standard centroidal MPC and adaptive MPC

Figure 6: The standard MPC falls forward under a heavy unknown load; the adaptive MPC lowers its posture and preserves the stability margin.

MethodLocomotionPhysical ConstraintsAdaptive BalancingPosture PlanningApplication
Reduced-order MPCYesNoNoNoRobust locomotion
MPC + WBCYesYesNoNoDynamic locomotion
Matrix exponential MPC + WBPCYesYesNoNoLocomotion
Flexible MPCYesYesNoNoVariable-speed walking
NMPC + gait adaptationYesYesYesNoPosture and push recovery
Kinodynamic MPC + Gait-NetYesYesYesNoTerrain walking
Three-particle MPC + WBCNoYesNoYesPrecise whole-body squat
This workYesYesYesYesUnknown-payload loco-manipulation

Table 1: The contribution is the combination of locomotion, constraints, adaptive balancing, and posture planning.

Static Lifting

Hardware tests use 7 kg and 10 kg payloads. In the 7 kg trial, the robot begins lowering and pitching at roughly 30 s, completes sitting in about 3 s, grasps the object, and stands between 55 s and 80 s before placing it down. The pelvis height, pitch, and leg joint curves are smooth, showing that jerk continuity is present in the generated reference.

The 10 kg trial exposes the compensator more clearly. The robot bows at about 20 s and grasps near 30 s. After pickup, the larger mass changes torso dynamics and causes small oscillations in pelvis height and pitch. The fuzzy controller increases corrective effort until pitch stabilizes; the robot then continues height recovery to its nominal posture. No payload estimate is reported as a prerequisite for recovery.

ScenarioPayloadTimingObserved Behavior
Static lifting7 kgSquat at 30 s, 3 s sit phase, stand at 55–80 sSmooth pelvis transitions and final placement
Static lifting10 kgBow at 20 s, grasp at 30 sSmall oscillations during pickup, then stable recovery
Lifting and walking7 kgGrasp at 83 s, home at 110 s, walk 140–155 sStable carrying, stopping, and placing
SimulationUnknown heavy objectFailure stages 1–3 for baselineAdaptive MPC lowers posture and preserves CoM margin

Table 2: The paper reports behavior and timing rather than a single headline score.

Carrying While Walking

In the combined scenario, the robot grasps a 7 kg object at 83 s, returns to home posture by 110 s, walks from 140 s to 155 s, stops, places the object, and returns to home. The fuzzy parameters were not retuned for walking. That observation matters: if the compensator only worked for the static task, it would be a task-specific patch. Reusing the same parameters across lifting and locomotion suggests that capture-point error is a more transferable signal than payload identity.

Real humanoid robot platform

Figure 7: The platform used for both static lifting and walking manipulation.

ModuleInput SignalOutputKey ConstraintRole
Centroidal MPCPelvis reference, contact mode, CoM stateMotion and wrench referencesFriction cone, CoP, joint limitsNominal feasible motion
Inverse-dynamics WBCJoint error, contact wrenchJoint torqueExponential trackingFast low-level conversion
Fuzzy balance controllerCapture-point error, CoM velocity, integralPitch and roll moment125 rules per axis, bounded outputResidual mismatch rejection
Torque allocationTask-space compensationStance-leg torque incrementMinimum norm, stance legs onlyProtect grasp and swing foot
Posture plannerPelvis height, pitch, support polygonSquat trajectoriesTriple integrator, jerk and CoM boundsFeasible feedforward motion

Table 3: Each module consumes signals it can measure directly.

Limitations

The fuzzy rule base and Gaussian parameters are hand designed. The authors explicitly state that the parameters were tuned by expert experience and that a quantitative comparison with PID is left for future work. Thus, the result is convincing on the tested platform but not yet a validated transfer rule.

Capture-point error relies on a linear inverted pendulum abstraction. A large object can add substantial angular momentum and coupled inertial effects. For very heavy or awkward payloads, pitch and roll moments allocated to the legs may not cover all failure modes.

The allocation map $\Omega$ assumes that stance-leg joint torques can be related reliably to a pelvis task-space moment. Real actuators introduce friction, compliance, and estimation error. The paper does not evaluate online correction of this map.

The posture model is planar and three-link. It captures the dominant squat geometry but not arbitrary upper-body motions, yaw changes, lateral entry under a shelf, or contact changes caused by unusual payloads.

There is no official code release and no standardized benchmark table. Evidence is presented through successful simulations, timelines, and trajectory plots. Direct quantitative comparison with disturbance observers, model-reference adaptive control, or robust control remains open. The authors themselves point to learned compensation strategies and proactive disturbance observers as future work.

Takeaway

The paper is strongest as an engineering decomposition. MPC supplies constraint-aware nominal motion. Fuzzy control supplies a bounded residual correction without waiting for a payload estimate. Posture planning moves the pelvis to a place where the nominal motion can succeed. The lessons generalize: do not force one optimizer to absorb every uncertainty; connect compensation to observable stability margins; and encode smoothness as dynamics rather than filtering it afterward.

With learned rule parameters and a proactive disturbance observer, this framework could become more capable in highly dynamic handling. Even without those additions, the hardware result shows a practical route to humanoid lifting under unknown payloads.

Golden sentence: A nominal optimum is useless if the next capture point is already outside the support polygon; the controller must correct where the robot is falling, not merely what it was supposed to track.

Related Papers

Learning Multi-Phase Robot Loco-Manipulation via Phase-Conditioned Policy Optimization

Learning Multi-Phase Robot Loco-Manipulation via Phase-Conditioned Policy Optimization

Complex whole-body loco-manipulation requires executing diverse maneuvers, such as crouching, grasping, and locomotion, within a single long-horizon task. While performing simple pick-and-place behaviors is well-established, scaling to complex, long-horizon tasks remains difficult. Currently, this challenge is addressed by relying on human motion data and correspondingly humanoid platforms, which limits platform independence and introduces substantial data processing overhead. Instead, we extend proximal policy optimization (PPO) to train a single policy for multi-phase tasks across diverse robotic hardware, leveraging prior task structure to shape behavior. Our method adapts PPO using a phase-conditioned critic, phase-gated reward functions, and a multi-phase reset curriculum to guide exploration. To support varied hardware, we employ a decoupled hierarchical control architecture that separates lower-level balancing dynamics from high-level phase execution. We demonstrate multi-stage loco-manipulation skills on hardware on both the Unitree G1 and a Boston Dynamics Spot equipped with a manipulator arm, and validate our design choices through ablations. Our approach enables the acquisition of complex loco-manipulation behaviors purely through environment interaction while directly incorporating high-level task structure into policy learning.

Simone Manni, Annika Wollschläger, Dario Bellicoso · 89 views · Oct 26, 2026
Whole-Body Loco-ManipulationPhase-Conditioned PPO
Oct 26, 2026
MorphMimic: Morphology-Conditioned World Model and Policy Sharing Across Humanoids

MorphMimic: Morphology-Conditioned World Model and Policy Sharing Across Humanoids

MorphMimic conditions a shared differentiable world model and tracking policy on a 125-value morphology descriptor, enabling three humanoids to learn from 128,786 common motion clips and share one controller.

Lizhi Yang, Fengze Xie, Yuyang Wang · 168 views · Oct 25, 2026
HumanoidCross-Embodiment
Oct 25, 2026
Contact-UAN: Unsupervised Actuator Networks as a Residual World Model for Humanoid Control

Contact-UAN: Unsupervised Actuator Networks as a Residual World Model for Humanoid Control

Humanoid policies trained in simulation can transfer qualitatively to hardware while failing to transfer the force interactions learned during training, compromising torque efficiency, load regulation, and robustness to impacts. This failure can arise from actuator sim-to-real gaps because forces depend on actuator torques. We introduce Contact-UAN, a residual world model that preserves a simulator's physics priors while correcting actuator dynamics to align simulated rollouts with recorded hardware rollouts. For humanoid motion with contact, this requires contact-consistent replay: if hardware playback in simulation begins with misaligned contact wrenches, the residual model learns to correct reset artifacts rather than actuator discrepancies. Using only onboard proprioception, Contact-UAN infers the simulator-side stance-foot pose needed to initialize replay with consistent contact forces. We show that a UAN trained on 6.5 minutes of real-world walking data generalizes to tasks that benefit from accurate force and impulse regulation and produces policies that transfer seamlessly to the real world, yielding 20% lower running torque, 43% lower force-tracking error, extreme compliance, accurate impedance control, and dynamic, robust jumps.

Nolan Fey, Khai Nguyen, Yash Prabhu · 124 views · Oct 13, 2026
HumanoidActuator Modeling
Oct 13, 2026
Compliant GMT: Making General Motion Tracking Compliant via Residual Reference Adaptation

Compliant GMT: Making General Motion Tracking Compliant via Residual Reference Adaptation

We propose Compliant GMT (C-GMT), a modular framework for full-body compliant responses in general motion tracking. As humanoid robots move into real world deployment, they not only need to perform any motion but also respond safely and robustly to interaction forces. Existing general motion tracking policies can imitate diverse motions but are trained to be stiff, leading to unexpected and unsafe behaviors under disturbance. Prior work in compliant humanoid control trades off compliance and generality. There exist examples of full-body compliant responses, but these are heavily curated to single-reference policies. On the other hand, general motion trackers (GMT) are trained to rigidly imitate massive motion capture datasets. Our key insight is to leverage the generality of pretrained GMTs for motion tracking while introducing compliance from a residual adapter that conditions on a history of proprioception. This enables our approach, C-GMT, to achieve both general motion tracking and whole-body compliant responses. Compared to state-of-the-art general motion trackers and single-motion compliant policies, C-GMT demonstrates competitive performance in both motion tracking accuracy and compliance adherence. We further demonstrate improved safety, robustness, and error tolerance in simulation and real-world G1 experiments.

Venki Parsuram, Michelle Wang, Jin-Hyuk Hong · 163 views · Oct 15, 2026
HumanoidMotion Tracking
Oct 15, 2026

As an Amazon Associate, we earn from qualifying purchases.