- #1
matematikawan
- 338
- 0
I'm trying to pick up optimal control by self study. At the moment I'm working on linear quadratic regulator and trying to reproduce the result publish in this paper.
Curtis and Beard, Successive collocation: An approximation to optimal nonlinear control, Proceedings of the American Control Conference 2001.
The problem is:
Minimize [tex]J(x)=\int_0^{10} x^Tx + u^Tu dt[/tex]
subject to
[tex]\dot{x}=Ax+Bu; \ \ x_0^T=(-12,20)[/tex]
where
[tex]A=\left(\begin{array}{cc}0&1\\-1&2\end{array}\right) [/tex]
[tex]B=\left(\begin{array}{cc}0\\1\end{array}\right) [/tex]
Answer for optimal cost is J*(x)=2221.
However I have try a few times but cannot reproduce this answer. I obtain 2346.5 instead using the methods of Pontryagin's Minimum Principle or Riccati equation. Probably I have misunderstood some concept here.
Using Pontryagin's Minimum Principle, I let the Hamiltonian
[tex]H=x_1^2 + x_2^2 + u^2 + \lambda_1x_2 + \lambda_2(-x_1+2x_2+u)[/tex]
From which I can obtain 5 equations.
[tex]\dot{x}=Ax+Bu [/tex]
[tex]\dot{\lambda}_1 = -\frac{\partial H}{\partial x_1}[/tex]
[tex]\dot{\lambda}_2 = -\frac{\partial H}{\partial x_2}[/tex]
[tex]\frac{\partial H}{\partial u}=0[/tex]
This linear system can be solve subject to the conditions
[itex]x_1(0)=-12, x_2(0)=20, \lambda_1(10)=0 , \lambda_2(10)=0.[/itex]
The solutions are plug into
[tex]J(x)=\int_0^{10} x^Tx + u^Tu dt [/tex].
Any clue where did I gone wrong? Or do anybody know a program that can compute the answer. I know there is a MATLAB command lqr but it only gives the feedback control not the value of the optimal cost.
Curtis and Beard, Successive collocation: An approximation to optimal nonlinear control, Proceedings of the American Control Conference 2001.
The problem is:
Minimize [tex]J(x)=\int_0^{10} x^Tx + u^Tu dt[/tex]
subject to
[tex]\dot{x}=Ax+Bu; \ \ x_0^T=(-12,20)[/tex]
where
[tex]A=\left(\begin{array}{cc}0&1\\-1&2\end{array}\right) [/tex]
[tex]B=\left(\begin{array}{cc}0\\1\end{array}\right) [/tex]
Answer for optimal cost is J*(x)=2221.
However I have try a few times but cannot reproduce this answer. I obtain 2346.5 instead using the methods of Pontryagin's Minimum Principle or Riccati equation. Probably I have misunderstood some concept here.
Using Pontryagin's Minimum Principle, I let the Hamiltonian
[tex]H=x_1^2 + x_2^2 + u^2 + \lambda_1x_2 + \lambda_2(-x_1+2x_2+u)[/tex]
From which I can obtain 5 equations.
[tex]\dot{x}=Ax+Bu [/tex]
[tex]\dot{\lambda}_1 = -\frac{\partial H}{\partial x_1}[/tex]
[tex]\dot{\lambda}_2 = -\frac{\partial H}{\partial x_2}[/tex]
[tex]\frac{\partial H}{\partial u}=0[/tex]
This linear system can be solve subject to the conditions
[itex]x_1(0)=-12, x_2(0)=20, \lambda_1(10)=0 , \lambda_2(10)=0.[/itex]
The solutions are plug into
[tex]J(x)=\int_0^{10} x^Tx + u^Tu dt [/tex].
Any clue where did I gone wrong? Or do anybody know a program that can compute the answer. I know there is a MATLAB command lqr but it only gives the feedback control not the value of the optimal cost.