Skip to content

Differentiable MPC in Chainer, developed as part of PFN summer internship 2019.

License

Notifications You must be signed in to change notification settings

pfnet-research/chainer-differentiable-mpc

Repository files navigation

Differentiable MPC in Chainer

Attempt to port mpc.pytorch to Chainer.

Disclaimer: PFN provides no warranty or support for this software. Use it at your own risk.

This software is developed as part of PFN summer internship 2019 and the main developer is Shun Arahata.

Overview of Differentiable MPC

overview

Install

$ pipenv install

Dependencies

This code has been tested using libraries below:

  • numpy = "1.17.2"
  • chainer = "6.3.0"
  • jupyter = "1.0.0"
  • matplotlib = "3.1.1"
  • jupytext = "1.2.4"
  • scipy = "1.3.1"
  • pathlib = "1.0.1"
  • torch = "1.2.0"

See also Pipfile.

Usage

$ pipenv run python env_dx/make_dataset.py
$ pipenv run python env_dx/il_exp.py

Example Result

pendulum

References

Useful Links

LICENSE

MIT License (see the LICENSE file for details).

Note: Part of the code is derived from mpc.pytorch and differentiable-mpc which are also licensed under MIT License (see the LICENSE_THIRD_PARTY file for details). Also this package still uses PyTorch for fast batch LU factorization (torch.lu) and solving (torch.lu_solve).