P. Zhao, A. Lakshmanan, K. Ackerman, A. Gahlawat, M. Pavone, and N. Hovakimyan, โTube-certified trajectory tracking for nonlinear systems with robust control contraction metrics,โ IEEE Robotics and Automation Letter, 2022. arXiv:2109.04453.
- YALMIP + Mosek solver for search of CCM or robust CCM (RCCM) using sum of squares (SOS) relaxation.
- SPOTLESS also needed for CCM/RCCM synthesis for the 3D quadrotor example
- OptimTraj for planning trajectories.
- OPTI + Matlab
fmincon
slover for solving the nonlinear programming (NLP) problem associated with geodesic computation.
For each example,
- Run
main.m
under themetric
folder to design the CCM/RCCM controller. - Run
main.m
under thesim
folder to simulate the behavior of the system under a CCM/RCCM controller. - Accelerate the geodesic and control law computation by generating C codes with
generate_code_for_geodesic_cal.m
.
SOS programming seems not reliable for CCM/RCCM synthesis for high dimensional systems (e.g., a 3D quadrotor). If you struggle in getting a CCM/RCCM for your system using SOS programming, you can try gridding the state space and solving an LMI problem instead, as I did for the quadrotor example.