Contact-Implicit Differential Dynamic Programming
![](/project/ddp/featured_hu10402889922098237580.gif)
This project was developed for my Legged Robots course at the University of Michigan taught by Prof. Yanran Ding in the Winter 2024 semester. This work mainly follows the publication from Kim et al. “Contact-Implicit Differential Dynamic Programming for Model Predictive Control with Relaxed Complementarity Constraints”, IROS 2022.
Online contact planning is a desirable feature in a legged-robot control system, as it allows the controller more freedom in planning motions to navigate various terrains. However, the numerical consequences of including decisions regarding contact in optimal control problems often make them difficult to solve and prohibitively slow for real-time use. In this work, I implement the contact-implicit differential dynamic programming-based model predictive controller first presented by Kim et al. in 2022, which, through clever relaxations of the ground contact complementarity constraints, can select appropriate contact modes at rates suitable for online use.
From very sparse and simple reference trajectories, the controller can identify appropriate contact sequences and gaits automatically. In the following videos, the contact sequences are not prespecified. Rather, they are automatically generated by the algorithm in real-time.
Vertical Hopper: By commanding a constant reference position above the ground, the algorithm selects a hopping gait to get as close to the reference as possible.
Forward Hopper: Likewise if we command a simple horizontal velocity reference, the algorithm can automatically identify this hopping gait forward.
The full report detailing this controller and the mathematical underpinnings can be found here. Unfortunately, the base repository for my code is not public. If you are interested in seeing it, please email me and I can request that you are given access.