/ContactImplicitMPC.jl

Fast contact-implicit model predictive control for robotic systems that make and break contact with their environments.

Primary LanguageJuliaMIT LicenseMIT

ContactImplicitMPC.jl

CI codecov

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

Flamingo

drawing

PushBot

drawing

Hopper Parkour

drawing

Quadruped with Payload

drawing

Hopper Monte Carlo

drawing

Quadruped Monte Carlo

drawing

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.

Citing

If you find ContactImplicitMPC useful in your project, we kindly request that you cite the following paper:

@article{lecleach2021fast,
	title={Fast Contact-Implicit Model-Predictive Control},
	author={Le Cleac'h, Simon  and Howell, Taylor A. and Schwager, Mac and Manchester, Zachary},
	journal={arXiv preprint arXiv:2107.05616},
	year={2021}
}

The article is available under Open Access here.