This code is primarily uses DDP as the optimizer with autodiff for real-time implementation. The analytical model is derived using RobCoGen. control-toolbox is used to use Autodiff functionality for real-time implentation.
This repo uses DDP (Differential Dynamic Programming) + Soft-Contact inside a ADMM (Alternating Direction Multiplier Method) outer loop.
- Standalone DDP code (C++) with a soft contact model
- ADMM integration with constraints and DDP
- Model Predictive Control (MPC)
Dynamics of the robot are computed using
- orocos KDL
- control-toolbox
mkdir build & cd build
ccmake ..
To use the eigen library installed in the system, enable the the option USE_SYSTEM_EIGEN
. To build from source.
make
-
Scripts for executables can be found in
src
-
Files specific to ADMM -
admm
-
Files specific to DDP -
ddp
-
Following executables are generated
- admm-contact (admm with orocos KDL dynamics, finite difference)
- admm-contact-rcg (admm with RobCoGen dynamics, AutoDiff)
- admm-mpc-contact - (MPC - admm with orocos KDL dynamics, finite difference)
- admm-mpc-contact-rcg - (MPC - admm with RobCoGen dynamics, AutoDiff)
Lasitha Wijayarathne - lasitha@gatech.edu
Ziyi Zhou - zhouziyi@gatech.edu
@article{wijayarathne2023real,
title={Real-Time Deformable-Contact-Aware Model Predictive Control for Force-Modulated Manipulation},
author={Wijayarathne, Lasitha and Zhou, Ziyi and Zhao, Ye and Hammond, Frank L},
journal={IEEE Transactions on Robotics},
year={2023},
publisher={IEEE}
}