Skip to content

An implementation of the Iterative Linear Quadratic Regulator (iLQR) method to control nonlinear dynamical systems

Notifications You must be signed in to change notification settings

Red-Rapious/iLQR

Repository files navigation

iLQR

An implementation of the Iterative Linear Quadratic Regulator (iLQR) method to control nonlinear dynamical systems.

Description

This project was developed as part of the course "Introduction to Robotics" at the École Normale Supérieure (ENS) Paris. The report of the project can be found here.

Results

inverted-pendulum.mov
cartpole.mov

Installation

The use of miniconda is recommended to manage the dependencies. To install the dependencies, run the following command:

conda env create -f ilqr_demo_env.yml

To activate the environment, run:

conda activate ilqr_demo

This project uses maturin as the build system for the Rust and Python bindings. It can be installed directly using pip:

pip install maturin

To build the Rust code and install it directly as a Python package in the current ilqr_demo virtual environment, run:

maturin develop --release

You can then take a look at the code demos in the python/examples directory. Be sure to select the correct virtual environment before running the demos.

Examples

The following examples are implemented in the python/examples directory. A checkmark indicates that the example can be successfully solved at the moment:

About

An implementation of the Iterative Linear Quadratic Regulator (iLQR) method to control nonlinear dynamical systems

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published