PythonLinearNonlinearControl/iLQR/README.md

3.2 KiB
Raw Blame History

Iterative Linear Quadratic Regulator

This program is about iLQR (Iteratice Linear Quadratic Regulator)

Problem Formulation

Two wheeled robot is expressed by the following equation. It is nonlinear and nonholonomic system. Sometimes, it's extremely difficult to control the steering(or angular velocity) and velocity of the wheeled robot. Therefore, many methods control only steering, like purepersuit, Linear MPC. However, sometimes we should consider the velocity and steering simultaneously when the car or robots move fast. To solve the problem, we should apply the control methods which can treat the nonlinear system.

Nonliner Model Predictive Control is one of the famous methods, so I applied the method in the folder of this repository. (if you are interested, please look it)

NMPC is very effecitive method to solve nonlinear optimal control problem but it is a handcraft method. This program is about one more other methods to solve the nonlinear optimal control problem.

The method is iterative LQR. Iterative LQR is one of the DDP(differential dynamic programming) method. Recently, this method is used in IRL(inverse reinforcement learning), such as GPS(guided policy search)

If you want to know more about the iLQR, please look the references. The paper and website is great.

Usage


Expected Results

  • static goal

  • track the goal

Applied other model

Requirement

  • python3.5 or more
  • numpy
  • matplotlib

Reference