다음과 같이 선형 시불변 (LTI, linear time-invariant) 시스템이 있다.
\[ \dot{\mathbf{x}}(t)=A \mathbf{x}(t) \tag{1} \]
여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(A \in \mathbb{R}^{n \times n}\) 는 상수 행렬이다. 이 시스템의 해는 다음과 같다 (https://pasus.tistory.com/234).
\[ \mathbf{x}(t)=e^{A(t-t_0)} \mathbf{x} (t_0) \tag{2} \]
이번에는 다음과 같은 선형 시변(LTV, linear time-varying) 시스템의 해를 구해보자.
\[ \dot{\mathbf{x}}(t)=A(t) \mathbf{x}(t) \tag{3} \]
여기서 행렬 \(A(t) \in \mathbb{R}^{n \times n}\) 는 시간 연속 함수(continuous function)이다. 이 시스템의 해는 시불변 시스템과는 달리 그리 간단하게 얻어지지 않는다. 이 시스템의 해를 구하기 위해서 행렬 두 개를 정의한다.
먼저 기본행렬(fundamental matrix)이다. \(j\) 번째 성분만 \(1\) 이고 나머지 성분은 모두 \(0\) 인 기본 벡터 \(\mathbf{e}_j=[0 \ \ \cdots \ \ 1 \ \ \cdots \ \ 0]^T\) 가 있을 때 \(\psi_j (t)\) 를 다음과 같은 미분 방정식의 해라고 정의하자.
\[ \dot{\psi}_j(t)=A(t) \psi_j (t), \ \ \ \ \psi_j (t_0 )= \mathbf{e}_j \tag{4} \]
여기서 \(\psi_j (t_0 )\) 는 \(\psi_j (t)\) 의 초기값을 의미한다. 그러면 초기값이 다음과 같을 때에는
\[ c_1 \psi_1 (t_0 )+ \cdots +c_n \psi_n (t_0 )= \Psi(t_0 ) \mathbf{c}= \mathbf{x}(t_0) \tag{5} \]
위 시스템 해는 중첩의 원리에 의해서
\[ c_1 \psi_1 (t )+ \cdots +c_n \psi_n (t )= \Psi(t ) \mathbf{c}= \mathbf{x}(t) \tag{6} \]
로 주어질 것이다. 여기서 \(\mathbf{c}=[c_1 \ \ c_2 \ \ \cdots \ \ c_n ]^T\) 는 상수 벡터이고,
\[ \Psi (t)=[ \psi_1 (t) \ \ \psi_2 (t) \ \ \cdots \ \ \psi_n (t)] \tag{7} \]
이다. 여기서 \(\Psi (t) \in \mathbb{R}^{n \times n}\) 를 시스템 \(\dot{\mathbf{x}}(t)=A(t)\mathbf{x}(t)\) 의 기본행렬이라고 한다.
기본행렬의 정의에 의하면 \(\Psi (t_0 )=I\) 이고 다음 미분방정식이 성립한다.
\[ \begin{align} \dot{\Psi} (t) & = [\dot{\psi}_1 (t) \ \ \dot{\psi}_2 (t) \ \ \cdots \ \ \dot{\psi}_n (t)] \tag{8} \\ \\ &=[ A(t)\psi_1 (t) \ \ A(t)\psi_2 (t) \ \ \cdots \ \ A(t) \psi_n (t)] \\ \\ &=A(t) [\psi_1 (t) \ \ \psi_2 (t) \ \ \cdots\ \ \psi_n (t)] \\ \\ &=A(t) \Psi(t) \end{align} \]
식 (6)에 의하면 임의의 시간 \(\tau\) 에서 \(\mathbf{x}(\tau)= \Psi(\tau) \mathbf{c}\) 이므로 \(\mathbf{c}= \Psi^{-1} (\tau) \mathbf{x}(\tau)\) 가 되어서
\[ \mathbf{x}(t)= \Psi(t) \Psi^{-1} (\tau) \mathbf{x}(\tau) \tag{9} \]
로 표현할 수 있다.
다음은 상태천이행렬(STM, state transition matrix)이다. 시스템 \(\dot{\mathbf{x}}(t)=A(t)\mathbf{x}(t)\) 의 기본행렬을 \(\Psi (t)\) 라고 할 때, 이 시스템의 상태천이행렬 \(\Phi (t, \tau)\) 를 다음과 같이 정의한다.
\[ \Phi (t, \tau)= \Psi(t) \Psi^{-1} (\tau) \tag{10} \]
그러면 식 (9)에 의해서 어떤 시간 \(\tau\) 에서 상태변수가 주어졌을 때 다른 시간 \(t\) 에서의 상태변수는 상태천이행렬을 이용하여 다음과 같이 표현할 수 있다. 상태천이행렬이라는 이름 그대로 두 싯점간의 상태변수를 매핑해준다.
\[ \mathbf{x}(t)= \Phi(t, \tau) \mathbf{x}(\tau) \tag{11} \]
정의에 의하면 상태천이행렬은 다음 몇가지 특징을 갖는다.
먼저 상태천이행렬을 미분하면 다음과 같다.
\[ \begin{align} \frac{d}{dt} \Phi (t, \tau ) &= \dot{\Psi}(t) \Psi^{-1} (\tau) =A(t) \Psi(t) \Psi^{-1} (\tau) \tag{12} \\ \\ &=A(t) \Phi (t, \tau) \end{align} \]
위 미분방정식의 초기값은 \(\Phi (\tau, \tau)=I\) 이다. 이는 상태천이행렬의 정의에 의해서 \(\Phi (\tau, \tau)=\Psi (\tau) \Psi^{-1} (\tau)=I\) 이기 때문이다. \(\Phi (t, \tau)\)는 \(n \times n\) 행렬이기 떄문에 위 식에 의하면 \(n^2\) 개의 스칼라 미분방정식이 나온다.
또한 정의에 의하면, 상태천이행렬의 역행렬은
\[ \Phi^{-1} (t, \tau) = \Psi (\tau) \Psi^{-1} (t) =\Phi( \tau, t) \tag{13} \]
이 된다. 또한 다음과 같이 연쇄법칙도 성립한다.
\[ \begin{align} \Phi (t_2, t_0 ) &= \Psi (t_2 ) \Psi^{-1} (t_0 ) \tag{14} \\ \\ &= \Psi(t_2 ) \Psi^{-1} (t_1 ) \Psi (t_1 ) \Psi^{-1} (t_0 ) \\ \\ &= \Phi (t_2, t_1 ) \Phi (t_1, t_0 ) \end{align} \]
만약 선형시스템의 시불변이라면 식 (2)에 의해서 상태천이행렬은 다음과 같이 된다.
\[ \begin{align} \mathbf{x}(t) &=e^{A(t-\tau)} \mathbf{x} (\tau) \tag{15} \\ \\ &= \Phi (t, \tau) \mathbf{x}(\tau ) \\ \\ &= \Phi (t-\tau) \mathbf{x} ( \tau) \end{align} \]
일반적으로 상태천이행렬을 계산하기는 어렵지만 시불변 선형시스템인 경우 상태천이행렬을 쉽게 계산할 수 있다. 또한 식 (15)에 의하면
\[ \begin{align} \Phi (t, \tau )&=e^{A(t-\tau)} =e^{At} e^{-A \tau} =e^{At} (e^{A\tau} )^{-1} \tag{16} \\ \\ &= \Psi (t) \Psi^{-1} (\tau) \end{align} \]
이므로 시불변 시스템 \(\dot{\mathbf{x}}(t)=A\mathbf{x}(t)\) 의 기본행렬은 \(\Psi (t)=e^{At}\) 이다.
이제 식 (3)으로 주어지는 선형 시변 시스템에서 행렬 \(A(t)\) 가 주기(period) \(T\) 를 갖는 주기 함수라고 하자.
\[ \dot{\mathbf{x}}(t)=A(t) \mathbf{x}(t), \ \ \ \ A(t)=A(t+T) \tag{17} \]
이 시스템의 기본행렬은 다음과 같다.
\[ \begin{align} \dot{\Psi} (t+T) &= A(t+T)\Psi(t+T) \tag{18} \\ \\ &=A(t) \Psi (t+T) \end{align} \]
위 식을 식 (8)과 비교해 보면 다음과 같이 상수 비특이(non-singular) 행렬 \(M\) 이 존재함을 알 수 있다.
\[ \Psi (t+T)= \Psi(t) M \tag{19} \]
여기서 \(M=e^{\bar{A}T}\) 로 놓고, 행렬 \(P(t)\) 를 \(P(t)= \Psi(t) e^{-\bar{A}t}\) 로 정의하면,
\[ \begin{align} P(t+T) &= \Psi (t+T) e^{-\bar{A} (t+T)} =\Psi (t)M e^{-\bar{A}T} e^{-\bar{A}t} \tag{20} \\ \\ &=\Psi (t) e^{-\bar{A}t} =P(t) \end{align} \]
가 되어서 \(P(t)\) 도 시스템의 주기와 동일한 주기를 갖는 주기 행렬이 된다. \(P(t)\) 를 이용하여 시스템의 상태변수 \(\mathbf{x}(t)\)를 \(\mathbf{z}(t)\) 로 변환해 보자.
\[ P(t) \mathbf{z}(t)= \mathbf{x}(t) \tag{21} \]
식 (21)을 식 (17)에 대입하면 다음과 같다.
\[ \begin{align} \dot{\mathbf{z}} (t) &= \dot{P}^{-1} (t) \mathbf{x}(t)+P^{-1} (t) \dot{\mathbf{x}}(t) \tag{22} \\ \\ &=[ \dot{P}^{-1} (t)+P^{-1} (t)A(t)] \ P(t) \mathbf{z}(t) \end{align} \]
위 식에서 \(\dot{P}^{-1} (t)\) 는 다음과 같이 \(P^{-1} (t)P(t)=I\) 을 미분하여 구할 수 있다.
\[ \begin{align} & \dot{P}^{-1} (t)P(t)+P^{-1} (t) \dot{P}(t)=0 \tag{23} \\ \\ \to \ & \dot{P}^{-1} (t)=-P^{-1} (t) \dot{P}(t) P^{-1} (t) \end{align} \]
식 (23)을 식 (22)에 대입하면 시스템의 상태변수 \(\mathbf{x}(t)\) 가 \(\mathbf{z}(t)\) 로 변환된 미분방정식을 얻을 수 있다.
\[ \begin{align} \dot{\mathbf{z}}(t) &= \left[ -P^{-1} (t) \dot{P}(t) P^{-1} (t)+P^{-1} (t)A(t) \right] \ P(t) \mathbf{z}(t) \tag{24} \\ \\ &= P^{-1} \left[ A(t)P(t)-\dot{P}(t) \right] \ \mathbf{z}(t) \\ \\ &= e^{\bar{A}t} \Psi^{-1} (t) \left[ A(t) \Psi(t) e^{-\bar{A}t}-A(t) \Psi(t) e^{-\bar{A}t}+\Psi(t) e^{-\bar{A}t} \bar{A} \right] \ \mathbf{z}(t) \\ \\ &= \bar{A} \mathbf{z}(t) \end{align} \]
식 (24)에 의하면 원래 시스템이 선형 시불변 시스템으로 변환된 것을 알 수 있다. 이와 같이 주기적 선형 시변 시스템을 적절한 상태변수 변환을 통하여 신형 시불변 시스템으로 바꿀 수 있다는 것을 Floquet 정리라고 한다.
식 (19)에서 행렬 \(M\) 은 다음과 같이 계산할 수 있다.
\[ M= \Psi^{-1} (t) \Psi (t+T) \tag{25} \]
여기서 \(M\) 은 상수 행렬이므로 위 식은 모든 시간에서 동일한 값을 갖는다. 따라서 다음식이 성립한다.
\[ \begin{align} M &= \Psi^{-1} (t_0 ) \Psi(t_0+T) \tag{26} \\ \\ &= \Psi(t_0+T) \\ \\ &= \Phi(t_0+T, t_0 ) \end{align} \]
식 (26)으로 정의되는 행렬 \(M\) 을 모노드로미 행렬(monodromy matrix)이라고 한다.
식 (24)의 시스템 행렬 \(\bar{A}\) 는 모노드로미 행렬 \(M\) 과 다음과 같은 관계식을 갖는다.
\[ \bar{A}= \frac{1}{T} \log M \tag{27} \]
'유도항법제어 > 비행제어' 카테고리의 다른 글
근궤적법 (Root locus method)에서 K→∞ 일 때의 근 (0) | 2023.11.03 |
---|---|
상태공간 방정식과 전달함수 (0) | 2023.09.22 |
쿼터니언 기반 자세제어 (0) | 2023.03.18 |
[PX4] 멀티콥터 자세 명령 (0) | 2023.02.25 |
[PX4] 멀티콥터 자세제어 알고리즘 - 3 (0) | 2023.02.24 |
댓글