본문 바로가기

유도항법제어101

노이즈 공분산 추정 방법: ALS 칼만필터(Kalman filter)는 시스템의 동역학 모델과 센서의 확률적 특성을 이용하여 시스템의 상태를 추정하는 알고리즘이다 (https://pasus.tistory.com/105). 만약 시스템의 동역학 모델이 선형이고 그 모델의 오차와 센서 노이즈를 가우시안(Gaussian) 확률 함수로 정확히 표현할 수 있다면 칼만필터가 계산한 시스템의 상태 추정값은 최소평균제곱오차(MMSE, minimum mean-square error) 관점에서 최적(optimal)이다. 가우시안이 아니더라도 칼만필터는 최상(best)의 추정값을 산출한다. 하지만 실제로는 많은 상황에서 시스템 모델의 오차와 센서 노이즈의 확률적 특성을 모르거나 부분적으로만 아는 경우가 많기 때문에 부정확한 확률 특성 값을 사용한 칼만필터의.. 2024. 12. 17.
이노베이션 (Innovation)의 확률적 특성 칼만필터(Kalman filter)의 이노베이션(innovation) 또는 측정 잔차는 측정값(measurement)과 측정 예측값(measurement prediction)의 차이로서 칼만필터가 작동 중에 유일하게 실제값과 비교하여 알 수 있는 값이다. 따라서 이 값과 이 값의 확률적 특성을 이용하면 칼만필터가 설계대로 잘 작동하고 있는지 여부를 판단할 수 있을 뿐만 아니라 칼만필터 설계값들을 튜닝할 수 있는 근거가 된다. 먼저 칼만필터 알고리즘을 간략히 살펴본 후 이노베이션의 확률적 특성에 대해서 알아보자. 다음과 같이 선형 시스템이 있다. \[ \begin{align} \mathbf{x}_{t+1} &= F_t \mathbf{x}_t + G_t \mathbf{u}_t + \Gamma_t \mat.. 2024. 12. 15.
[Continuous-Time] 밸런싱 변환을 이용한 모델 차원 축소 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \begin{align}\dot{\mathbf{x}} &= A \mathbf{x}+B \mathbf{u} \tag{1} \\ \\ \mathbf{y} &= C\mathbf{x}+D \mathbf{u} \end{align} \]   여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(\mathbf{u}(t) \in \mathbb{R}^p\) 는 제어입력, \(\mathbf{y}(t) \in \mathbb{R}^q\) 는 출력이다. 이 LTI 시스템은 제어가능(controllable)하고 관측가능(observable)하며 안정(stable)하다고 가정한다. 그러면 이 시스템의 무한 제어가능성 그래미안(infi.. 2024. 8. 8.
[Continuous-Time] 관측가능성과 제어가능성의 관계 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \begin{align} \dot{\mathbf{x}} &=A \mathbf{x}+B \mathbf{u} \tag{1} \\ \\ \mathbf{y} &=C \mathbf{x}+D \mathbf{u} \end{align}\]   여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(\mathbf{u}(t) \in \mathbb{R}^p\) 는 제어입력, \(\mathbf{y}(t) \in \mathbb{R}^q\) 는 출력이다. 주요 제어가능성(controllability) 정리의 의하면 시스템 \((A, B)\) 가 제어가능하기 위한 필요충분 조건은 제어가능성 행렬 \(Q_c\) 의 랭크(rank)가 \(n\) .. 2024. 8. 1.
[Continuous-Time] 관측가능성 (Observability) 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \begin{align} \dot{\mathbf{x}} &= A \mathbf{x}+B \mathbf{u} \tag{1} \\ \\ \mathbf{y} &=C \mathbf{x}+D \mathbf{u} \end{align} \]   여기서 \( \mathbf{x}(t) \in \mathbb{R}^n \) 는 상태변수, \( \mathbf{u}(t) \in \mathbb{R}^p \) 는 제어입력, \( \mathbf{y}(t) \in \mathbb{R}^q \) 는 제어입력이다. 만약 미지의 초기 상태 \(\mathbf{x}(0)\) 에 대해 시간 범위 \(t \in [0, \ t_1]\) 에서의 입력 \(\mathbf{u}(t)\) 와 출력 \(.. 2024. 7. 31.
[Continuous-Time] 최소에너지 제어와 그래미안 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \dot{\mathbf{x}} =A \mathbf{x}+B \mathbf{u} \tag{1} \]   여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(\mathbf{u}(t) \in \mathbb{R}^p\) 는 제어입력이다. 방정식 (1)의 해는 다음과 같다.  \[ \mathbf{x}(t)=e^{At} \mathbf{x}(0)+ \int_0^t e^{A(t-\tau)} B \mathbf{u}(\tau) \ d \tau \tag{2} \]  이 시스템이 제어가능(controllable)하다면 유한 시간 \(t_1 \lt \infty\) 안에 임의의 초기 상태 \(\mathbf{x}(0)= \mathbf{x}.. 2024. 7. 29.
[Continuous-Time] 제어가능성 그래미안 시스템 \((A, B)\) 의 제어가능성 그래미안(controllability gramian) \(W_c\) 는 다음과 같이 정의한다 (참고로 여러 문헌을 보면 그래미안을 grammian 으로 표기 한 것도 있고 gramian 으로 표기 한 것도 있다).  \[ W_c (t)= \int_0^t e^{A \tau} BB^T e^{A^T \tau} \ d \tau \tag{1} \]   시스템이 제어가능하기 위한 필요충분 조건은 임의의 \(t \gt 0\) 에 대해서 \(W_c (t) \gt 0\) 이라는 것은 이미 증명하였다 (https://pasus.tistory.com/336).    식 (1)의 그래미안 행렬은 다음 미분방정식의 해다.  \[ \dot{W}_c (t)=AW_c+W_c A^T+BB^T,.. 2024. 7. 25.
[Continuous-Time] 안정성과 리야프노프 방정식 행렬 \(A\) 의 모든 고유값이 음의 실수부를 갖는다면 행렬 \(A\) 는 안정(stable)하다고 한다. 만약 행렬 \(A\) 가 안정하다면 다음 리야프노프 방정식(Lyapunov equation),  \[ A^T P+PA=-N \tag{1} \]   은 모든 행렬 \(N\) 에 대해서 유일해를 갖고, 그 해는 다음과 같다.  \[ P= \int_0^\infty e^{A^T t} N e^{At} \ dt \tag{2} \]   증명은 다음과 같다. 먼저 식 (2)를 (1)에 대입한다.  \[ \begin{align}A^T P+PA &= \int_0^\infty A^T e^{A^T t} N e^{At} \ dt + \int_0^\infty e^{A^T t} N e^{At} .. 2024. 7. 25.
[Continuous-Time] 제어가능성과 PBH 테스트 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \dot{\mathbf{x}}=A\mathbf{x}+B\mathbf{u} \tag{1} \]   여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(\mathbf{u}(t) \in \mathbb{R}^p\) 는 제어입력이다. 이 시스템이 제어불가능하다면 제어불가능한 고유값(uncontrollable eigenvalue)이 존재한다 (https://pasus.tistory.com/337). 그렇다면 구체적으로 \(A\) 의 고유값 중 어떤 값이 제어불가능한 고유값일까. 이를 판별하기 위한 방법으로 PBH 테스트(Popov-Belevitch-Hautus test)가 있다.    PBH 테스트에 의하면, 어떤 복소수 .. 2024. 7. 24.
[Continuous-Time] 제어가능한 부분공간 다음과 같은 선형 시불변(LTI) 시스템이 있다.  \[ \begin{align} \dot{\mathbf{x}}=A \mathbf{x}+B \mathbf{u} \tag{1} \end{align} \]   여기서 \(\mathbf{x}(t) \in \mathbb{R}^n\) 는 상태변수, \(\mathbf{u}(t) \in \mathbb{R}^p\) 는 제어입력이다. 이 시스템의 제어가능한 부분공간(controllable subspace) \(\chi_c\) 는 제어가능성 행렬(controllability matrix)의 레인지(range, 치역)로 정의한다.  \[ \begin{align} \chi_c=range(Q_c) \tag{2} \end{align} \]  여기서 제어가능성 행렬 \(Q_c\) 는.. 2024. 7. 23.