This repository contains the code and resources for the paper "Chance-Constrained Convex MPC for Robust Quadruped Locomotion Under Parametric and Additive Uncertainties". The robot's dynamics are modeled using a stochastic single rigid body dynamics framework, with inertial properties and contact locations represented as stochastic distributions. Uncertainty in the dynamics and control actions is propagated through Taylor series expansion. Friction cone and unilateral contact force constraints are adaptively tightened based on these propagated uncertainties. The key results demonstrate that with chance-constrained MPC, the robot achieves stable blind locomotion over challenging terrains and handles unmodeled payloads up to 7.5 kg effectively, outperforming Linear MPC and MPC with hand-tuned constraint tightening. Additional details can be found at the project website
For an overview of our method and results, please check out the supplementary video.
Simulation and hardware experiments with an unmodeled 6kg payload.
The parameters for all locomotion components have been organized separately from the core logic in controller_configs.py
and world_configs.py
. To run a simulation with a specific set of parameters, follow these steps:
git clone [email protected]:RIVeR-Lab/Chance-Constrained-MPC.git
cd Chance-Constrained-MPC
python3 -m venv quadruped_venv
source quadruped_venv/bin/activate
pip3 install -r requirements.in
python3 setup.py install
python3 -m src.convex_mpc_controller.locomotion_controller
Some useful parameters are:
# File -- controller_configs.py
config.gait_type # Switch between gait types
config.constraint_tightening_method # Switch between MPC implementations
config.mpc_weights, config.mpc_control_weights # Weights for MPC trajectory tracking
config.Sigma_theta, config.Sigma_w #Covariance for Chance-Constrained MPC
config.dare_Q, config.dare_R #Weights for DARE solver to propagate control covariance
If you find this code useful, please consider citing:
@inproceedings{trivedi2024probabilistic,
title={A probabilistic motion model for skid-steer wheeled mobile robot navigation on off-road terrains},
author={Trivedi, Ananya and Zolotas, Mark and Abbas, Adeeb and Prajapati, Sarvesh and Bazzi, Salah and Pad{\i}r, Ta{\c{s}}kin},
booktitle={2024 IEEE International Conference on Robotics and Automation (ICRA)},
pages={12599--12605},
year={2024},
organization={IEEE}
}