add README
This commit is contained in:
parent
addbaacc7a
commit
fdce29cb9e
|
@ -9,6 +9,7 @@ Now you can see the examples of control theories as following
|
||||||
- **Nonlinear Model Predictive Control with CGMRES**
|
- **Nonlinear Model Predictive Control with CGMRES**
|
||||||
- **Linear Model Predictive Control**(as generic function such as matlab tool box)
|
- **Linear Model Predictive Control**(as generic function such as matlab tool box)
|
||||||
- **Extended Linear Model Predictive Control for vehicle model**
|
- **Extended Linear Model Predictive Control for vehicle model**
|
||||||
|
- **Iterative LQR (linear quadratic regulator)**
|
||||||
|
|
||||||
# Usage and Details
|
# Usage and Details
|
||||||
you can see the usage in each folder
|
you can see the usage in each folder
|
||||||
|
|
|
@ -3,13 +3,43 @@ This program is about iLQR (Iteratice Linear Quadratic Regulator)
|
||||||
|
|
||||||
# Problem Formulation
|
# 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.
|
||||||
|
|
||||||
|
<a href="https://www.codecogs.com/eqnedit.php?latex=\frac{d}{dt}&space;\boldsymbol{X}=&space;\frac{d}{dt}&space;\begin{bmatrix}&space;x&space;\\&space;y&space;\\&space;\theta&space;\end{bmatrix}&space;=&space;\begin{bmatrix}&space;\cos(\theta)&space;&&space;0&space;\\&space;\sin(\theta)&space;&&space;0&space;\\&space;0&space;&&space;1&space;\\&space;\end{bmatrix}&space;\begin{bmatrix}&space;u_v&space;\\&space;u_\omega&space;\\&space;\end{bmatrix}&space;=&space;\boldsymbol{B}\boldsymbol{U}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\frac{d}{dt}&space;\boldsymbol{X}=&space;\frac{d}{dt}&space;\begin{bmatrix}&space;x&space;\\&space;y&space;\\&space;\theta&space;\end{bmatrix}&space;=&space;\begin{bmatrix}&space;\cos(\theta)&space;&&space;0&space;\\&space;\sin(\theta)&space;&&space;0&space;\\&space;0&space;&&space;1&space;\\&space;\end{bmatrix}&space;\begin{bmatrix}&space;u_v&space;\\&space;u_\omega&space;\\&space;\end{bmatrix}&space;=&space;\boldsymbol{B}\boldsymbol{U}" title="\frac{d}{dt} \boldsymbol{X}= \frac{d}{dt} \begin{bmatrix} x \\ y \\ \theta \end{bmatrix} = \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ 0 & 1 \\ \end{bmatrix} \begin{bmatrix} u_v \\ u_\omega \\ \end{bmatrix} = \boldsymbol{B}\boldsymbol{U}" /></a>
|
||||||
|
|
||||||
|
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
|
# Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
# Expected Results
|
# Expected Results
|
||||||
|
|
||||||
|
- static goal
|
||||||
|
|
||||||
|
|
||||||
|
- track the goal
|
||||||
|
|
||||||
|
|
||||||
|
# Applied other model
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Requirement
|
# Requirement
|
||||||
|
@ -17,9 +47,6 @@ This program is about iLQR (Iteratice Linear Quadratic Regulator)
|
||||||
- python3.5 or more
|
- python3.5 or more
|
||||||
- numpy
|
- numpy
|
||||||
- matplotlib
|
- matplotlib
|
||||||
- cvxopt
|
|
||||||
- scipy1.2.0 or more
|
|
||||||
- python-control
|
|
||||||
|
|
||||||
# Reference
|
# Reference
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue