Post

개념-LQR

LQR

optimal control이론은 최소비용으로 dynamic system을 다루고자하는 이론이다.
system dynamics가 linear differential방정식이고, cost가 quadratic function이면, 이러한 dynamics를 control하는 경우를 LQ problem이라고 한다. 이 이론의 주요 결과중 하나는, 해당 dynamics에 대한 feedback controller인 linear quadratic regulator(LQR)에 의해 solution이 구해진다는 것이다!

  • LQR controller는 robust하고 보장된 gain과 phase margin을 갖는다.
  • (linear quadratic gaussian)LQG 문제에 대한 solution의 일부이다.

(Finite-horizon, continuous-time)

\[J=x^{T}(t_{1})F(t_{1})x(t_{1})+\int \limits _{t_{0}}^{t_{1}}\left(x^{T}Qx+u^{T}Ru+2x^{T}Nu\right)dt\]

Q(state weighting matrix): 시스템의 각 상태 변수가 비용 함수에 얼마나 중요한지를 결정한다.

R(control weighting matrix): 제어 입력의 에너지 소비나 제어 입력의 제약을 고려할 때 사용된다.
대부분의 경우, 큰 R 값은 제어 입력의 에너지를 줄이고 더 부드러운 제어를 유도한다.

N(correlation matrix): 상태와 제어 입력 간의 상관 가중치를 정의한다. 대부분의 경우, N은 0 행렬로 설정된다.

hamiltonian

F(hamiltonian): hamiltonian은 dynamic system의 optimal control문제를 해결하는데 사용되는 함수이다. 이는 특정 시간영역에 대해 최적화된 lagrangian function의 순간적인 증가로 이해될 수 있다. (Pontryagin의 maximum principle은 optimal control문제를 해결하기위한 필수조건이 ‘Hamiltonian을 최적화하기위해 control이 선택되는 것이라는 것’을 증명한다.)

다음과 같은 performance index \({\displaystyle I(\mathbf {x} (t),\mathbf {u} (t),t)}\) 가 있을 때, 다음과 같이 cost function(objective function)을 최소화시키는 문제가 있다고 해보자.

\[{\displaystyle \max _{\mathbf {u} (t)}J}, with = {\displaystyle J=\int _{t_{0}}^{t_{1}}I[\mathbf {x} (t),\mathbf {u} (t),t]\,\mathrm {d} t}\]

이러한 u(t)를 solution으로 찾고자할 때, solution method는 다음과 같이 정의된 Hamiltonian이라는 ancillary function를 포함한다는 것이다!

\[{\displaystyle H(\mathbf {x} (t),\mathbf {u} (t),\mathbf {\lambda } (t),t)\equiv I(\mathbf {x} (t),\mathbf {u} (t),t)+\mathbf {\lambda } ^{\mathsf {T}}(t)\mathbf {f} (\mathbf {x} (t),\mathbf {u} (t),t)}\]

목표는 control policy function \(\mathbf{u}^{\ast}(t)\)와 Pontryagin’s maximum principle에 의해 Hamiltonian을 최대화시키는 논거인 state variable의 optimal trajectory \(\mathbf {x} ^{\ast }(t)\)를 찾는 것이다.

\[H(\mathbf {x} ^{\ast }(t),\mathbf {u} ^{\ast }(t),\mathbf {\lambda } (t),t)\geq H(\mathbf {x} (t),\mathbf {u} (t),\mathbf {\lambda } (t),t) for all \mathbf {u} (t)\in {\mathcal {U}}\]

최대화를 위한 조건은 다음과 같다.

\({\frac {\partial H(\mathbf {x} (t),\mathbf {u} (t),\mathbf {\lambda } (t),t)}{\partial \mathbf {u} }}=0\quad\)
(maximum principle. input state와 costate의 관계결정)
\({\frac {\partial H(\mathbf {x} (t),\mathbf {u} (t),\mathbf {\lambda } (t),t)}{\partial \mathbf {\lambda } }}={\dot {\mathbf {x} }}(t)\quad = \,\mathbf {f} (\mathbf {x} (t),\mathbf {u} (t),t)\)
(state transition function)
\({\frac {\partial H(\mathbf {x} (t),\mathbf {u} (t),\mathbf {\lambda } (t),t)}{\partial \mathbf {x} }}=-{\dot {\mathbf {\lambda } }}(t)\quad\)
( costate equation인 \({\dot {\mathbf {\lambda } }}(t)=-\left[I_{\mathbf {x} }(\mathbf {x} (t),\mathbf {u} (t),t)+\mathbf {\lambda } ^{\mathsf {T}}(t)\mathbf {f} _{\mathbf {x} }(\mathbf {x} (t),\mathbf {u} (t),t)\right]\) 을 도출한다. )

costate는 시스템의 동적 특성을 나타내는 state variable과 함께, 시스템의 최적 제어를 결정하는 데 사용되는 쌍대 변수이다. 또 minimization problem의 constraint의 marginal cost를 의미한다.

Pontryagin’s maximum principle에 의해, costate equation의 boundary condition이 결정된다.

finite horizon의 경우, 다음과 같다. (horizon의 끝에서 optimal costate는 hamiltonian)

\[-{\dot {\lambda }}^{\rm {T}}(t)=H_{x}{\big (}x^{*}(t),u^{*}(t),\lambda (t),t{\big )}=\lambda ^{\rm {T}}(t)\cdot f_{x}{\big (}x^{*}(t),u^{*}(t){\big )}+L_{x}{\big (}x^{*}(t),u^{*}(t){\big )}\]

solution인 optimal costate(\(\lambda\). 이제부터 P(t)로 표기)는 hamiltonian과 optimal state variable로 나타낼 수 있으며, 다음과 같은 형태가 된다.

\[u=-Kx\]

여기서 K는 다음과 같다.

\[K=R^{-1}(B^{T}P(t)+N^{T})\]

costate인 P(t)는 다음과 같은 Riccati differential equation의 solution이다.

\[A^{T}P(t)+P(t)A-(P(t)B+N)R^{-1}(B^{T}P(t)+N^{T})+Q=-{\dot {P}}(t)\]

앞서 말했듯이, Pontryagin’s maximum principle에 의해 costate equation의 boundary condition은 다음과 같다. (Finite-horizon, continuous-time)

\[P(t_{1})=F(t_{1})\]

최종적으로, 위의 Riccati differential equation을 풀어서 optimal costate P(t)를 얻으면, 순차적으로 K, optimal x, optimal u를 계산할 수 있게된다.

비용함수를 state variable과 input variable로 잡았으므로, 위에 정의한 continuous-time linear system에 대해, 가중행렬에 따르는 최소의 input, 최소의 state를 알게 되었다.

예를 들어, state가 position, input이 torque인 경우, 이와 같은 방식으로 가중치에 따르는 최소 torque로 현재 position을 유지하는 lqr controller에 필요한 적절한 control parameter인 K를 찾을 수 있다.

This post is licensed under CC BY 4.0 by the author.