ContactImplicitMPC.jl
This repository contains algorithms and examples from our paper: Fast Contact-Implicit Model-Predictive Control.
A collection of examples are pre-generated in notebooks with the package, please try: flamingo, pushbot, hopper, and quadruped. Additional notebooks with examples from the paper can be generated.
Installation
ContactImplicitMPC
can be added via the Julia package manager (type]
):pkg> add ContactImplicitMPC#main
(this will grab the latest version of the package from this repository)
Flamingo
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/flamingo.gif)
PushBot
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/pushbot.gif)
Hopper Parkour
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/hopper_parkour.gif)
Quadruped with Payload
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/quadruped_payload.gif)
Hopper Monte Carlo
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/hopper_monte_carlo.gif)
Quadruped Monte Carlo
![drawing](/docs/ContactImplicitMPC/lSgvG/0.2.0/_packagesource/animations/quadruped_monte_carlo.gif)
Reference Trajectories
The trajectories we track in the examples are generated using contact-implicit trajectory optimization and can be run here.
Simulator
The differentiable simulator is available as a stand-alone package: RoboDojo.jl.