본문 바로가기
유도항법제어/비행제어

[Continuous-Time] 제어가능성 (Controllability)

by 깊은대학 2024. 7. 16.

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

 

(1)x˙=Ax+Bu

 

여기서 x(t)Rn 는 상태변수, u(t)Rp 는 제어입력이다. 만약 유한 시간 t1< 안에 임의의 초기 상태 x(0)=x0 에서 임의의 목표 상태(target state) x(t1)=x1 으로 시스템의 상태를 움직이도록 하는 제어입력 u(t), t[0, t1] 이 존재하는 경우, 시스템 (1) 또는 행렬 (A,B) 는 제어가능(controllable)하다고 정의한다.

제어가능성의 정의에서 특징적인 점은 첫째, 초기 상태와 목표 상태는 모두 임의로 주어진다는 것이고, 둘째, 유한한 시간 t1 에 목표 상태에 도달해야 한다는 것이며, 셋째, 시간 t>t1 의 상태에 대해서는 어떤 제약도 없다는 것이다. 따라서 목표 상태에 시스템이 머물러 있지 않아도 된다.

 

 

선형 시불변 시스템이 제어가능성 또는 가제어성(controllability)이 있다면 불안정한 시스템을 안정화할 수 있고, 시스템의 반응 속도를 높일 수 있으며, 고유주파수를 변경할 수도 있다. 그리고 특정 최적제어 문제에 대한 해의 존재를 보장할 수도 있다. 이에 대해서는 차차 알아보기로 하고 여기서는 시스템이 이러한 '능력' 을 보유하고 있는지 아닌지, 즉 제어가능한지 아닌지 판단할 수 있는 조건에 대해서 알아본다.

제어가능성에 관련하여 다음 3가지 명제는 동치이다.

(a) (A,B)는 제어가능하다.

(b) 어떤 t1>0 에 대해서도 Wc(t1)>0 이다. 여기서 Wc 를 제어가능성 그래미안(controllability gramian)이라고 하며 다음과 같이 정의한다.

 

(2)Wc(t1)=0t1eAtBBTeATt dt

 

(c) Qc 의 랭크(rank)는 n 이다. 여기서 Qc 를 제어가능성 행렬(controllability matrix)이라고 하며 다음과 같이 정의한다.

 

(3)Qc=[BABA2BAn1B]

 

증명은 다음과 같다.

 

 

1. (c) (b)
‘(c) 이면 (b)다’라는 것을 직접 증명하기는 어려우므로 이와 동치인 ‘(b)가 아니면 (c)도 아니다’라는 명제를 대신 증명하겠다.
Wc(t1) 가 정정행렬(positive-definite matrix)이 아니라면 vTWc(t1)v=0 을 만족하는 어떤 벡터 v0 가 존재한다. 따라서

 

0=vTWc(t1)v=vT(0t1eAtBBTeATt dt)v=0t1vTeAtBBTeATtv dt=0t1(BTeATtv)T(BTeATtv) dt=0t1BTeATtv2 dt

 

이므로 모든 0tt1 에 대해서 BTeATtv0 이 된다. 이는 곧 모든 시간 미분도 모든 시간 t 에서 항상 0 이 되어야 한다는 뜻이므로,

 

BTeATtv=0      BTv=0BTATeATtv=0      BTATv=0BT(A2)TeATtv=0      BT(A2)Tv=0       BT(An1)TeATtv=0      BT(An1)Tv=0

 

가 된다. 따라서

 

[BTBTATBT(A2)TBT(An1)T]v=0=QcTv

 

이므로 rank(QcT)=rank(Qc)<n 이 되어서 ‘(b)가 아니면 (c)도 아니다’ 라는 명제가 증명되었다.

2. (b) (c)
이번에도 ‘(b) 이면 (c)다’라는 것을 직접 증명하기는 어려우므로 이와 동치인 ‘(c)가 아니면 (b)도 아니다’라는 명제를 대신 증명하겠다.
만약 Qc 의 랭크(rank)가 n 이 아니라면 QcTv=0 을 만족하는 어떤 벡터 v0 가 존재한다. 따라서

 

[BTBTATBT(A2)TBT(An1)T]v=0

 

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

 

eATt=i=0n1βi(t)(AT)i

 

로 쓸 수 있으므로 다음 식이 성립한다.

 

BTeATtv=i=0n1βi(t)BT(AT)iv=0

 

따라서

 

Wc(t1)v=(0t1eAtBBTeATt dt)v=0t1eAtBBTeATtv dt=0

 

이 되므로 Wc(t1) 는 정정행렬이 아니다.

3. (b) (a)
어떤 t1>0 에서 식 (1)의 해는 다음과 같다.

 

(4)x(t1)=eAt1x0+0t1eA(t1t)Bu(t) dt

 

만약 Wc(t1)>0 이라면 그 역행렬이 존재하므로 제어입력을 다음과 같이 선택할 수 있다.

 

u(t)=BTeAT(t1t)Wc1(t1)[x1eAt1x0]

 

위 식을 (4)에 대입하면,

 

x(t1)=eAt1x0+0t1eA(t1t)BBTeAT(t1t)Wc1(t1)[x1eAt1x0] dt=eAt1x0+[0t1eA(t1t)BBTeAT(t1t) dt]Wc1(t1)[x1eAt1x0]=eAt1x0+Wc(t1)Wc1(t1)[x1eAt1x0]=x1

 

이 된다. 따라서 Wc(t1)>0 일 때 시스템의 상태를 x0 에서 x1 으로 움직이는 제어입력 u(t) 가 존재한다.

4. (a) (b)
이번에도 '(a) 이면 (b)다'라는 것을 직접 증명하기는 어려우므로 이와 동치인 '(b)가 아니면 (a)도 아니다'라는 명제를 대신 증명하겠다.
만약 Wc(t1)>0 이 아니라면 rank(Qc)<n 이다. 한편 케일리-해밀톤 정리(https://pasus.tistory.com/335)에 의하면

 

eA(t1t)=i=0n1βi(t)Ai

 

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

 

x(t1)eAt1x0=z=0t1i=0n1βi(t)AiBu(t) dt=i=0n1AiB0t1βi(t)u(t) dt

 

위 식에 의하면 zrange(Qc) 안에 있고 rank(Qc)<n 이므로 입력 u(t) 는 상태공간 전체를 스팬(span)할 수 없다. 따라서 시스템은 제어가능하지 않다.

(a) (c) 의 증명은 (a) (b) (c)의 순서로, (c) (a) 의 증명은 (c) (b) (a)의 순서로 증명하면 된다.

 

 

따라서 증명 1,2,3,4에 의해서 제어가능성에 관련한 3가지 명제가 동치임을 증명하였다. 보통 어떤 시스템이 제어가능한지의 여부는 식 (3)의 제어가능성 행렬의 랭크를 계산해서 확인한다.

댓글