locuslab / Differentiable Mpc
Licence: mit
Stars: ✭ 85
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
- Python/numpy/PyTorch
- locuslab/mpc.pytorch
LQR Imitation Learning Experiments
From within the imitation_lqr
directory:
-
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:
-
make_dataset.py
should be run to create a dataset of trajectories for each environment. -
il_exp.py
is the main training script for each experiment. -
run-pendulum-cartpole.sh
runs all of the experiments for the pendulum and cartpole environments in Section 5.3. -
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].