anassinator / pddp

WIP implementation of Probabilistic Differential Dynamic Programming in PyTorch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Probabilistic Differential Dynamic Programming

image

Probabilistic Differential Dynamic Programming (PDDP) is a data-driven, probabilistic trajectory optimization framework for systems with unknown dynamics. This is an implementation of Yunpeng Pan and Evangelos A. Theodorou's paper in PyTorch, [1].

Warning

This is a work in progress and does not work/converge as is yet.

Install

To install simply clone and run:

You may also install the dependencies with pipenv as follows:

Finally, you may add this to your own application with either:

Usage

After installing, import as follows:

You can see the notebooks directory for Jupyter notebooks to see how common control problems can be solved through PDDP.

Contributing

Contributions are welcome. Simply open an issue or pull request on the matter.

Testing and Benchmarking

You can run all unit tests and benchmarks through pytest as follows:

To speed things up, you may also run tests in parallel and disable benchmarks with:

You can install pytest with:

Linting

We use YAPF for all Python formatting needs. You can auto-format your changes with the following command:

You can install the formatter with:

License

See LICENSE.