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

[Continuous-Time] 고정최종상태 (Fixed-final-state) LQR

by 깊은대학 2023. 4. 13.

다음과 같이 선형 시스템이 있다.

 

(1)x˙=Ax+Bu

 

이 시스템의 초기 시간 t0 와 초기 상태변수 x(t0) 는 주어졌다고 가정한다. 또한 최종 시간 tf 와 최종 상태변수 x(tf) 도 미리 원하는 값 xf 로 설정되었다고 가정한다.

 

 

따라서 dt0=0, dx(t0)=0, dtf=0, dx(tf)=0 이 되기 때문에 최적제어의 필요조건을 정리한 표에 의하면 경계조건은 자동으로 만족된다.

 

 

이 시스템의 비용함수도 다음과 같이 고정된 시간 구간 [t0, tf] 에서 이차함수로 주어졌다고 하자.

 

(2)J=12xT(tf)Sfx(tf)+12t0tf(xTQx+uTRu) dt

 

최종 상태변수가 고정됐기 때문에 비용함수에 포함되어 있는 최종 상태변수 함수 xT(tf)Sfx(tf) 는 중복이므로 Sf=0 으로 놓는다. 또한 해석적인 해를 얻기 위하여 Q=0 으로 한다. 그러면, 비용함수는 다음과 같이 간단하게 된다.

 

(3)J=12t0tfuTRu dt

 

이와 같은 설정으로 얻어지는 최적제어 문제를 고정최종상태 LQR(fixed-final-state linear quadratic regulator) 문제라고 한다.

 

 

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

 

(4)H=12uTRu+λT(Ax+Bu)

 

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

 

(5)x˙=Hλ=Ax+Buλ˙=Hx=ATλ

 

코스테이트 미분 방정식은 상태변수와 독립이므로 다음과 같이 쉽게 해를 구할 수 있다.

 

(6)λ(t)=eAT(tft)λ(tf)

 

정정조건(stationary condition)은 다음과 같다.

 

(7)0=Hu=BTλ+Ru

 

따라서 최적제어는 식 (7)과 (6)으로부터 다음과 같이 계산할 수 있다.

 

(8)u(t)=R1BTλ(t)=R1BTeAT(tft)λ(tf)

 

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

 

(9)x˙=AxBR1BTeAT(tft)λ(tf)

 

위 식을 풀면 x(t) 를 다음과 같이 계산할 수 있다.

 

(10)x(t)=eA(tt0)x(t0)t0teA(tτ)BR1BTeAT(tfτ) dτλ(tf)

 

위 식에 의하면 t=tf 에서 x(tf) 를 다음과 같이 구할 수 있다.

 

(11)x(tf)=eA(tft0)x(t0)t0tfeA(tfτ)BR1BTeAT(tfτ) dτλ(tf)

 

이 값이 x(tf)=xf 가 되도록 λ(tf) 를 계산해야 한다.

 

 

여기서 G(t) 를 다음과 같이 정의하면,

 

(12)G(t)=ttfeA(tfτ)BR1BTeAT(tfτ) dτ

 

λ(tf) 를 다음과 같이 계산할 수 있다.

 

(13)λ(tf)=G1(t0)(xfeA(tft0)x(t0))

 

마지막으로 식 (13)을 식 (8)에 대입하면 최적제어는

 

(14)u(t)=R1BTeAT(tft)G1(t0)(xfeA(tft0)x(t0))

 

이 된다. 이 최적제어는 현재의 상태변수와 무관하고 상태변수의 초기값과 최종값 xf 에만 영향을 받으므로 오픈루프(open-loop) 제어이다. 따라서 만약 어떤 이유로 시스템이 교란(perturbed)된다면 최종값에 도달하지 못할 수도 있다.

이제 최적제어가 초기 상태변수 x(t0) 대신에 현재의 상태변수 x(t) 의 함수가 되도록 식을 조금 변형해 보자.

식 (11)은 시간 t0 에서 상태변수 x(t0) 가 주어졌을 때 x(tf) 를 계산하는 식이다. 이 식은 임의의 시간 t0tf 에서 상태변수 x(t0) 가 주어졌을 때에도 모두 성립하는 식이기 때문에, 시간 ttf 에서 상태변수 x(t) 가 주어졌을 때에도 성립해야 한다.

 

(15)x(tf)=eA(tft)x(t)ttfeA(tfτ)BR1BTeAT(tfτ) dτλ(tf)

 

따라서 식 (13)은 다음과 같이 수정된다.

 

(16)λ(tf)=G1(t)(xfeA(tft)x(t))

 

최적제어도 식 (17)과 같이 수정되므로 최적제어는 이제 최종 상태변수와 함께 현재의 상태변수 x(t) 의 피드백 제어가 된다.

 

(17)u(t)=R1BTeAT(tft)G1(t)(xfeA(tft)x(t))

 

최적제어 (17)은 최종 상태가 제약된 LQR(final-state-constrained linear quadratic regulator) 최적제어의 일반적인 해를 통해서도 구할 수 있다. 앞선 포스팅(https://pasus.tistory.com/257)에서 유도해 본 일반적인 문제에서 Sf=0, Q=0, C=I 로 두면 간략화된 최적제어 문제와 일치한다. 이 조건에서 최적제어 문제의 해는 다음과 같이 된다.

 

(18)V˙=ATV,   ttf,   V(tf)=I(19)P˙=VTBR1BTV,   ttf,   P(tf)=0(20)u(t)=R1BTV(t)P1(t)(xfVT(t)x(t))

 

식 (19)에서 V(t) 를 풀면 다음과 같다.

 

(21)V(t)=eAT(tft),   ttf

 

식 (21)을 식 (19)에 대입하면 다음과 같이 된다.

 

(22)P˙=eA(tft)BR1BTeAT(tft)

 

이 식을 풀면 P(t) 는 다음과 같다.

 

(23)P(t)=ttfeA(tfτ)BR1BTeAT(tfτ) dτ

 

이제 식 (23)을 식 (12)와 비교해 보면, G(t)=P(t) 가 됨을 알 수 있다. 따라서 최적제어 식 (20)은 식 (17)과 일치함을 확인할 수 있다.

 

 

댓글