Reference: Prof Steve Brunton, Control Bootcamp
Youtube Link
Controllability (제어가능성)
Controllability는 시스템이 제어 가능한지 판별하는 지표이다.
다음과 같이 제어입력이 존재하는 선형 시스템을 가정하자:
x˙=Ax+Bu
여기서 시스템의 차원은 다음과 같다:
x∈Rn,u∈Rq
A∈Rn×n,B∈Rn×q
가상의 제어입력(예: 최적제어)이 다음과 같이 설정되었다고 가정하자:
그러면 제어입력을 대입한 시스템은 다음과 같다:
x˙=(A−BK)x
예시를 통한 이해
Case 1: Uncontrollable System
다음과 같은 시스템을 예시로 들어보자:
[x1˙x2˙]=[1002][x1x2]+[01]u
이 시스템에서는 제어입력 u가 x2에만 영향을 주므로 x1을 직접 제어할 수 없다. 따라서 이 시스템은 Uncontrollable이다.
Case 2: Controllable System (추가 입력)
만약 다음과 같이 추가적인 제어입력이 있다면:
[x1˙x2˙]=[1002][x1x2]+[01]u+[1001][u1u2]
이제 x1과 x2 모두를 독립적으로 제어할 수 있으므로 전체 시스템은 Controllable하다.
Case 3: Controllable System (상태 결합)
혹은 다음과 같이 x1과 x2가 결합되어 있다면:
[x1˙x2˙]=[1012][x1x2]+[01]u
이 경우 u가 x2에 영향을 주고, x2가 x1에 결합되어 있으므로 간접적으로 x1도 제어 가능하다.
제어가능성 판별법
이론적으로 제어 가능성을 판별하는 방법은 다음과 같다.
제어가능성 행렬(Controllability Matrix)을 구성한다:
C=[BABA2B⋯An−1B]
판별 조건:
if rank(C)=n⇒Controllable
else ⇒Noncontrollable
결론: 시스템이 제어가능하려면 제어가능성 행렬 C의 rank가 시스템의 차원 n과 같아야 한다.