RK-MPC: Residual Koopman Model Predictive Control for Quadruped Locomotion in Offroad Environments
Organizations: Department of Mechanical Engineering, Clemson University, Clemson, SC 29630, USA
Abstract
This paper presents Residual Koopman MPC (RK-MPC), a Koopman-based, data-driven model predictive control framework for quadruped locomotion that improves prediction fidelity while preserving real-time tractability. RK-MPC augments a nominal template model with a compact linear residual predictor learned from data in lifted coordinates, enabling systematic correction of model mismatch induced by contact variability and terrain disturbances with provable bounds on multi-step prediction error. The learned residual model is embedded within a convex quadratic-program MPC formulation, yielding a receding-horizon controller that runs onboard at 500 Hz and retains the structure and constraint-handling advantages of optimization-based control. We evaluate RK-MPC in both Gazebo simulation and Unitree Go1 hardware experiments, demonstrating reliable blind locomotion across contact disturbances, multiple gait schedules, and challenging off-road terrains including grass, gravel, snow, and ice. We further compare against Koopman/EDMD baselines using alternative observable dictionaries, including monomial and -structured bases, and show that the residual correction improves multi-step prediction and closed-loop performance while reducing sensitivity to the choice of observables. Overall, RK-MPC provides a practical, hardware-validated pathway for data-driven predictive control of quadrupeds in unstructured environments. See https://sriram-2502.github.io/rk-mpc for implementation videos.
Figures & tables
| Parameter | Value |
|---|---|
| Mass [kg] | 12.75 |
| Inertia [kg m 2 ] |
| Parameter | Trot | Crawl |
|---|---|---|
| [s] | 0.45 | 1.10 |
| 0.5 | 0.75 | |
| [s] | 0.225 | 0.825 |
| [s] | 0.225 | 0.275 |
| Freq. [Hz] | 2.22 | 0.91 |
| Phase bias (LF,LH,RF,RH) | [0,0.5,0.5,0] | [0,0.25,0.5,0.75] |
| Parameter name | Symbol | Value |
|---|---|---|
| Swing Cartesian P gain | ||
| Swing Cartesian D gain | ||
| Joint PD gains (swing) | ||
| Joint PD gains (stance) | ||
| Torque saturation limit [Nm] |
| State | SRB | EDMD (mono) | EDMD-SE(3) | Res-Koopman |
|---|---|---|---|---|
| Linear velocity (m/s) | ||||
| Angular velocity (rad/s) | ||||
| (37a) | ||||
| s.t. | (37b) | |||
| (37c) | ||||
| (37d) | ||||
| Metric | SRB-MPC | SE3-KMPC | RK-MPC |
|---|---|---|---|
| Linear velocity RMSE (m/s) | |||
| Angular-rate RMSE (rad/s) | |||
Model Predictive Control
Model Predictive Control optimizes future actions with a system model, repeatedly applying the first action as new information arrives.
See all 296 papers