All Projects → locuslab → Differentiable Mpc

locuslab / Differentiable Mpc

Licence: mit

Programming Languages

python
139335 projects - #7 most used programming language

Differentiable MPC for End-to-end Planning and Control

This repository is by Brandon Amos, Ivan Dario Jimenez Rodriguez, Jacob Sacks, Byron Boots, and J. Zico Kolter and contains the PyTorch source code to reproduce the experiments in our NIPS 2018 paper Differentiable MPC for End-to-end Planning and Control.

The PyTorch implementation of the fast and differentiable MPC solver we developed for this work is available as a standalone library at locuslab/mpc.pytorch.

If you find this repository helpful in your publications, please consider citing our paper.

@article{amos2018differentiable,
  title={{Differentiable MPC for End-to-end Planning and Control}},
  author={Brandon Amos and Ivan Jimenez and Jacob Sacks and Byron Boots and J. Zico Kolter},
  booktitle={{Advances in Neural Information Processing Systems}},
  year={2018}
}

Setup and Dependencies

LQR Imitation Learning Experiments

From within the imitation_lqr directory:

  1. train.py is the main training script for the experiment in Section 5.3.

Non-Convex Imitation Learning Experiments

From within the imitation_nonconvex directory:

  1. make_dataset.py should be run to create a dataset of trajectories for each environment.
  2. il_exp.py is the main training script for each experiment.
  3. run-pendulum-cartpole.sh runs all of the experiments for the pendulum and cartpole environments in Section 5.3.
  4. run-complex-pendulum.sh runs all of the experiments for the non-realizable pendulum environment in Section 5.4.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].