본문 바로가기
유도항법제어/최적제어

[Continuous-Time] 최종상태제약 (Final-state-constrained) LQR

by 세인트 워터멜론 2023. 4. 8.

다음과 같이 선형 시스템이 주어지고,

 

\[ \dot{\mathbf{x}}=A\mathbf{x}+B \mathbf{u} \tag{1} \]

 

이 시스템의 목적함수도 다음과 같이 고정된 시간 구간 \([t_0, \ t_f]\) 에서 이차함수로 주어졌다고 하자.

 

\[ J=\frac{1}{2} \mathbf{x}^T (t_f ) S_f \mathbf{x}(t_f )+ \frac{1}{2} \int_{t_0}^{t_f} \left( \mathbf{x}^T Q \mathbf{x}+ \mathbf{u}^T R \mathbf{u} \right) dt \tag{2} \]

 

최종 상태변수의 제약조건은 다음과 같이 설정되었다고 가정하자.

 

\[ \psi (\mathbf{x}(t_f ), t_f )=C \mathbf{x}(t_f )-\mathbf{r}_f=0 \tag{3} \]

 

 

 

이와 같은 최적제어 문제는 목적함수를 최소화하면서 최종 상태변수 구성요소의 선형조합이 \(\mathbf{r}_f\) 가 되도록 요구하는 것이므로 '최종 상태가 제약된 LQR(final-state-constrained linear quadratic regulator) 문제’ 라고 한다. 이 LQR 문제는 자유최종상태(free-final-state) LQR의 한 예이다.

 

 

이 문제를 풀기 위해 먼저 해밀토니안(Hamiltonian) 함수를 정의한다.

 

\[ \mathcal{H}= \frac{1}{2} (\mathbf{x}^T Q \mathbf{x}+ \mathbf{u}^T R \mathbf{u})+ \lambda^T (A \mathbf{x}+B\mathbf{u}) \tag{4} \]

 

그러면 다음과 같이 상태변수와 코스테이트 미분 방정식을 얻을 수 있다.

 

\[ \begin{align} \dot{\mathbf{x}} &= \frac{\partial \mathcal{H}}{\partial \lambda} =A\mathbf{x}+B \mathbf{u} \tag{5} \\ \\ -\dot{\lambda} &= \frac{\partial \mathcal{H}}{\partial \mathbf{x}}=Q \mathbf{x}+A^T \lambda \tag{6} \end{align} \]

 

상태변수와 코스테이트 미분 방정식을 풀기 위해서는 경계조건이 필요하다. 여기서는 초기 시간과 초기 상태변수, 그리고 최종 시간이 정해졌으므로 \(dt_0=0\), \(d\mathbf{x}(t_0 )=0\), \(dt_f=0\) 이 된다. 따라서 최적제어의 필요조건을 정리한 표(https://pasus.tistory.com/232)의 경계조건에 의하면,

 

\[ S_f \mathbf{x}(t_f )+C^T \nu- \lambda(t_f )=0 \tag{7} \]

 

를 얻을 수 있다. 여기서 \(\nu\) 는 라그랑지 곱수(Lagrange multiplier)이다. 만약 모든 시간에서 위 식이 성립한다고 가정하면,

 

\[ \lambda (t)=S(t) \mathbf{x}(t)+V(t) \nu, \ \ \ S(t_f )=S_f, \ \ V(t_f )=C^T \tag{8} \]

 

이 성립한다. 정정조건(stationary condition)은 다음과 같다.

 

\[ 0=\frac{\partial \mathcal{H}}{\partial \mathbf{u}}=B^T \lambda +R \mathbf{u} \tag{9} \]

 

따라서 최적 제어입력은 식 (9)와 (8)로부터 다음과 같이 계산할 수 있다.

 

\[ \begin{align} \mathbf{u}(t) &= - R^{-1} B^T \lambda(t) \tag{10} \\ \\ &= - R^{-1} B^T S(t) \mathbf{x}(t)-R^{-1} B^T V(t) \nu \end{align} \]

 

식 (10)을 식 (5)에 대입하면 상태변수 미분 방정식은 다음과 같이 된다.

 

\[ \begin{align} \dot{\mathbf{x}} &= \frac{\partial \mathcal{H}}{\partial \lambda} \tag{11} \\ \\ &=A \mathbf{x}-BR^{-1} B^T S(t) \mathbf{x}(t)-BR^{-1} B^T V(t) \nu \end{align} \]

 

식 (8)을 미분하고 식 (6)과 비교해보면 다음과 같다.

 

\[ \begin{align} \dot{\lambda} & = \dot{S} \mathbf{x}+S \dot{\mathbf{x}} + \dot{V} \nu \tag{12} \\ \\ &=-Q \mathbf{x}-A^T \lambda \end{align} \]

 

식 (12)에 식 (11)을 대입하고 정리하면 다음과 같다.

 

\[ \begin{align} -\dot{S} \mathbf{x} &= S(A\mathbf{x}+B \mathbf{u})+ \dot{V} \nu +Q \mathbf{x}+A^T \lambda \tag{13} \\ \\ &= (SA+A^T S-SBR^{-1} B^T S+Q) \mathbf{x} \\ \\ & \ \ \ +(-SBR^{-1} B^T V+A^T V+ \dot{V} ) \nu \end{align} \]

 

임의의 \(\mathbf{x}\) 와 \(\nu\) 값에 대해서 위 식이 항상 성립해야 하므로 다음 미분 방정식을 얻을 수 있다.

 

\[ \begin{align} -\dot{S} &= SA+A^T S-SBR^{-1} B^T S+Q, \ \ t \le t_f, \ S(t_f )=S_f \tag{14} \\ \\ -\dot{V} &= -SBR^{-1} B^T V+A^T V, \ \ t \le t_f, \ V(t_f )=C^T \tag{15} \end{align} \]

 

이제 \(\nu\) 만 구하면 식 (10)의 최적제어를 계산할 수 있다. 일단 식 (3)의 제약조건을 다음과 같이 \(\mathbf{x}(t)\) 와 \(\nu\) 의 선형조합으로 표현할 수 있다고 가정한다.

 

\[ \begin{align} \mathbf{r}_f =C \mathbf{x}(t_f ) &= U(t) \mathbf{x}(t)+P(t) \nu, \tag{16} \\ \\ & \ \ \ \ U(t_f )=C, \ \ P(t_f )=0 \end{align} \]

 

여기서 \(U(t)\) 와 \(P(t)\) 는 미지의 행렬인데, 만약 이 행렬에 관한 적절한 식을 얻을 수만 있다면 위 가정은 유효한 가정이 된다. 식 (16)을 미분하면,

 

\[ \begin{align} 0 &= \dot{U} \mathbf{x}+ U \dot{\mathbf{x}}+ \dot{P} \nu \tag{17} \\ \\ &= \dot{U} \mathbf{x}+U \left( A \mathbf{x}-BR^{-1} B^T S \mathbf{x}-BR^{-1} B^T V(t) \nu \right)+ \dot{P} \nu \\ \\ &= \left( \dot{U}+UA-UBR^{-1} B^T S \right) \mathbf{x}+ \left( -UBR^{-1} B^T V(t)+ \dot{P} \right) \nu \end{align} \]

 

이 되는데, 임의의 \(\mathbf{x}\) 와 \(\nu\) 값에 대해서 위 식이 항상 성립해야 하므로 다음 미분 방정식을 도출할 수 있다.

 

\[ \begin{align} -\dot{U} &= UA-UBR^{-1} B^T S, \ \ \ t \le t_f, \ U(t_f )=C \tag{18} \\ \\ \dot{P} &= UBR^{-1} B^T V, \ \ \ t \le t_f, \ P(t_f )=0 \end{align} \]

 

그런데 여기서 식 (18)과 식 (15)를 비교해 보면, \(U^T=V\) 임을 알 수 있다. 따라서 식 (19)는 다음과 같이 쓸 수 있다.

 

\[ \dot{P} = V^T BR^{-1} B^T V, \ \ \ t \le t_f, \ P(t_f )=0 \tag{20} \]

 

이제 식 (16)에서 라그랑지 곱수 \(\nu\) 를 계산하면 다음과 같다.

 

\[ \nu =P^{-1} (t) \left( \mathbf{r}_f-V^T (t) \mathbf{x}(t) \right) \tag{21} \]

 

여기서 만약 \(P^{-1} (t)\) 이 존재하지 않는다면 이 최적제어 문제는 해가 존재하지 않는다. 이제 식 (21)을 식 (10)에 대입하면 최종적으로 상태변수 피드백 제어(feedback control)인 최적제어를 계산할 수 있다.

 

\[ \mathbf{u}(t)=-R^{-1} B^T S(t) \mathbf{x}(t)-R^{-1} B^T V(t) P^{-1} (t) \left( \mathbf{r}_f-V^T (t) \mathbf{x}(t) \right) \tag{22} \]

 

최종 상태가 제약된 LQR(final-state-constrianed linear quadratic regulator) 최적제어를 정리하면 다음과 같다.

    시스템 모델:
          \( \dot{\mathbf{x}}=A \mathbf{x}+B \mathbf{u} \)

    목적함수:
          \( J=\frac{1}{2} \mathbf{x}^T (t_f ) S_f \mathbf{x}(t_f )+ \frac{1}{2} \int_{t_0}^{t_f} \left( \mathbf{x}^T Q \mathbf{x}+ \mathbf{u}^T R \mathbf{u} \right) dt \),
                    \(\ S_f \ge 0, \ \ Q \ge 0, \ \ R \gt 0 \)

    최종 상태변수의 제약조건:
          \(C \mathbf{x}(t_f )= \mathbf{r}_f \)

    최적제어:
          \( -\dot{S} = SA+A^T S-SBR^{-1} B^T S+Q, \ \ S(t_f )=S_f \),
          \( -\dot{V} = -SBR^{-1} B^T V+A^T V, \ \ V(t_f )=C^T \)
          \( \dot{P} = V^T BR^{-1} B^T V, \ \ P(t_f )=0 \)
          \(\mathbf{u}(t)=-R^{-1} B^T S(t) \mathbf{x}(t) -R^{-1} B^T V(t) P^{-1} (t) \left( \mathbf{r}_f-V^T (t) \mathbf{x}(t) \right) \)

 

 

댓글