유도항법제어/비행제어

[Continuous-Time] 제어가능한 부분공간

깊은대학 2024. 7. 23. 12:02

다음과 같은 선형 시불변(LTI) 시스템이 있다.

 

(1)x˙=Ax+Bu

 

여기서 x(t)Rn 는 상태변수, u(t)Rp 는 제어입력이다. 이 시스템의 제어가능한 부분공간(controllable subspace) χc 는 제어가능성 행렬(controllability matrix)의 레인지(range, 치역)로 정의한다.

 

(2)χc=range(Qc)

 

여기서 제어가능성 행렬 Qc 는 다음과 같이 정의한 바 있다 (https://pasus.tistory.com/336).

 

(3)Qc=[BABA2BAn1B]   Rn×np

 

만약 상태벡터가 제어가능한 부분공간 어느 지점에서 시작하면 제어입력에 관계없이 상태벡터는 항상 제어가능한 부분공간에 머물러 있다. 즉, 제어입력은 제어가능한 부분공간 밖으로, 또는 제어불가능한 부분공간으로 상태를 이동시킬 수 없다.

 

 

증명은 다음과 같다.

방정식 (1)의 해는 다음과 같다.

 

(4)x(t)=eAtx(0)+0teA(tτ)Bu(τ) dτ

 

여기서 케일리-해밀톤 정리(https://pasus.tistory.com/335)에 의하면

 

(5)eA(tτ)=i=0n1βi(τ)Ai

 

로 놓을 수 있으므로, 시스템의 해 (4)는 다음과 같이 된다.

 

(6)x(t)eAtx(0)=0ti=0n1βi(τ)AiBu(τ) dτ=i=0n1AiBwi(t)

 

여기서 wi(t)=0tβi(τ)u(τ) dτ 이다. 위 식에 의하면 x(0)range(Qc) 안에 있으면 x(t)range(Qc) 안에 머물러 있다. 만약 rank(Qc)=n 이라면 n 차원 상태공간 전체가 제어가능한 공간이 되지만 rank(Qc)=nc<n 이라면 nc 차원 제어가능한 부분공간과 (nnc) 차원의 제어불가능한 부분공간으로 분할할 수 있다.

증명은 다음과 같다.

변환행렬 T 를 이용하여 상태변수 x 를 상태변수 x~ 로 변환한다.

 

(7)x=Tx~

 

그러면 식 (1)은 다음과 같이 변환할 수 있다.

 

(8)x~˙=A~x~+B~u~

 

여기서 A~=T1AT, B~=T1B 이다. AA~ 는 상사관계이므로 고유값은 서로 같다. 또한 시스템 (1)과 변환된 시스템 (8)의 제어가능성 특성은 동일하다. 확인해 보기 위해서 시스템 (8)의 제어가능성 행렬을 보면,

 

Q~c=[B~A~B~A~2B~A~n1B~]=[T1BT1ABT1A2BT1An1B]=T1Qc

 

이므로 rank(Q~c)=rank(Qc) 이어서 제어가능성 특성이 동일하다.

 

 

식 (7)에서 변환행렬 T 는 제어가능한 부분공간 χc 에서 nc 개의 기저 벡터를 선택하고 나머지 (nnc) 개의 기저 벡터는 변환행렬 T 가 직각행렬(orthogonal matrix, T1=TT )이 되도록 선택하여 구성한다.

 

(9)T=[t1tnctnc+1tn]=[T1T2]

 

이러한 특징을 가진 변환행렬은 Qc 를 QR분해하거나 특이값 분해(singular value decomposition)해서 얻을 수 있는데 여기서는 특이값 분해(https://pasus.tistory.com/15)를 이용한다.

 

(10)Qc=UΣVT=[U1U2][Σnc000][V1TV2T]=[U1U2][R0]=U1R

 

여기서 URn×n, VRnp×np, ΣRn×np, U1Rn×nc, U2Rn×(nnc), ΣncRnc×nc, RRnc×np 이다.

특이값 분해는 U1=UT, V1=VT 인 특징이 있으므로 T=U 로 선택한다. 그러면 식 (8)을 다음과 같이 분해할 수 있다.

 

(11)[x˙cx˙u]=[T1TAT1T1TAT2T2TAT1T2TAT2][xcxu]+[T1TBT2TB]u

 

여기서 x~=[xcxu] 이다.

식 (10)에 의하면 Qc=[BABAn1B]=T1R 이므로 다음 식이 성립한다.

 

(12)B=T1R1,AB=T1R2,A2B=T1R3,  An1B=T1Rn

 

여기서 R=[R1R2Rn] 이다. 또한 식 (10)에 의하면 T2TQc=T2TT1R=0 이다. 따라서

 

(13)T2TQc=T2T[BABA2BAn1B]=[T2TBT2TABT2TA2BT2TAn1B]=0

 

이다. 식 (12)를 이용하여 식 (13)의 각 항을 전개하면 다음과 같다.

 

(14)T2TB=0T2TAB=T2TAT1R1=0T2TA2B=T2TA(AB)=T2TAT1R2=0   T2TAn1B=T2TAT1Rn=0

 

식 (14)에 의하면 T2TAT1[R1Rn]=T2TAT1R=0 이므로 T2TAT1=0 이다. 따라서 식 (11)은 다음과 같은 형식이 된다.

 

(15)[x˙cx˙u]=[AccAcu0Auu][xcxu]+[Bc0]u

 

여기서 AccRnc×nc, BcRnc×p 이다. 식 (15)에 의하면,

 

(16)x˙u=Auuxu

 

이므로 상태변수 xu 는 제어입력의 영향을 전혀 받지 않기 때문에 제어불가능한 부분공간의 상태변수가 된다. 한편 식 (15)의 특성다항식은 다음과 같다.

 

(17)det(λIA~)=det(λIAcc)det(λIAuu)

 

따라서 시스템 (1)의 고유값 또는 A~ 의 고유값은 Acc 의 고유값과 Auu 의 고유값의 합집합이라는 것을 알 수 있다. 여기서 Auu 의 고유값을 제어불가능한 고유값(uncontrollable eigenvalue)이라고 하고 그에 관련된 운동모드를 제어불가능한 모드라고 한다.

한편 제어불가능한 고유값이 모두 안정하다면 시스템 (1)을 또는 (A,B) 를 안정화가능(stabilizable)한 시스템이라고 말한다. 달리 말하면 불안정한 고유값이 모두 제어가능하다면 안정화가능하다고 한다.

따라서 시스템이 제어가능하다면 안정화가능하다. 하지만 시스템이 안정화가능하다고 하여 제어가능한 것은 아니다.

한편 식 (15)에서 다음 일부 시스템을 제어가능 서브시스템(controllable subsystem)이라고 한다.

 

(18)x˙c=Accxc+Bcu

 

왜냐하면 (Acc,Bc) 는 제어가능하기 떄문이다. 증명은 다음과 같다.

시스템 (15)의 제어가능성 행렬 Q~c 의 랭크는 nc 이므로 다음과 같이 전개할 수 있다.

 

nc=rank(Q~c)=rank [B~  A~B~  A~2B~    A~n1B~]=rank[BcAccBcAcc2BcAccn1Bc0000]=rank [Bc  AccBc  Acc2Bc    Accn1Bc]

 

따라서 서브 시스템 (18)은 제어가능하다.