본문 바로가기

유도항법제어/칼만필터를 넘어서7

노이즈 공분산 추정 방법: 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.
[PF-2] SIS에서 파티클 필터로 전체 조건부 확률밀도함수 \(p(\mathbf{x}_{0:t} | \mathbf{z}_{0:t}, \mathbf{u}_{0:t-1})\) 를 순차 샘플링 \(\mathbf{x}_{0:t}^{(i) }\) 로 다음과 같이 근사화 할 수 있었다. \[ p(\mathbf{x}_{0:t} | \mathbf{z}_{0:t}, \mathbf{u}_{0:t-1}) \approx \sum_{i=1}^N w_t^{(i)} \delta ( \mathbf{x}_{0:t} - \mathbf{x}_{0:t}^{(i)} ) \tag{1} \] 베이즈 필터는 상태변수 \(\mathbf{x}_t\) 의 조건부 확률밀도함수인 사후 확률밀도함수 \(p(\mathbf{x}_t | \mathbf{z}_{0:t}, \mathbf{u}_{0:.. 2021. 7. 11.
[PF-1] 순차 중요 샘플링 (Sequential Importance Sampling) 베이즈 필터(Bayes filter) 문제는 측정값의 시퀀스 \(\mathbf{z}_{0:t}\) 와 제어입력의 시퀀스 \(\mathbf{u}_{0:t-1}\) 을 조건으로 한 상태변수 \(\mathbf{x}_t\) 의 조건부 확률밀도함수 \(p(\mathbf{x}_t | \mathbf{z}_{0:t}, \mathbf{u}_{0:t-1})\) 을 계산하는 문제였다. 상태변수 \(\mathbf{x}_t\) 의 사후(posterior) 조건부 확률밀도함수\(p(\mathbf{x}_t | \mathbf{z}_{0:t}, \mathbf{u}_{0:t-1})\) 이 주어지면 다양한 종류의 상태변수 추정이 가능하다. 예를 들어 칼만필터(Kalman filter)는 최적 MMSE(minimum mean-square .. 2021. 6. 13.
베이즈 필터 (Bayes Filter) 베이즈 필터(Bayes filter)는 이산시간(discrete-time) 확률 동적 시스템(stochastic dynamical system)의 상태변수를 추정하기 위한 확률론적인 방법으로서 칼만필터를 비롯한 대부분의 상태변수 추정 알고리즘의 근간을 이룬다. 베이즈 필터 문제는 초기 시간 \(0\) 부터 시간스텝 \(t\) 까지의 측정값 시퀀스 \[ \mathbf{z}_{0:t} = \{\mathbf{z}_0, \mathbf{z}_1, ... , \mathbf{z}_t \} \tag{1} \] 와 초기 시간 \(0\) 부터 시간스텝 \(t\) 까지의 제어입력(또는 행동)의 시퀀스 \[ \mathbf{u}_{0:t} = \{\mathbf{u}_0, \mathbf{u}_1, ... , \mathbf{u}_.. 2021. 6. 8.
칼만필터 알고리즘 칼만필터는 수학 알고리즘이다. 따라서 수학식 없이는 칼만필터를 사용할 수도 이해할 수도 없다. 그렇다고 칼만필터 유도과정을 자세히 이해할 필요까지는 없다. 결과만 잘 이해하고 있어도 칼만필터를 사용할 수 있다. 우선 칼만필터 알고리즘을 수학식으로 써 보겠다. 칼만필터는 다음과 같이 주어진 선형 동적 시스템 모델과 측정 모델, \[ \begin{align} & \mathbf{x}_{t+1}= F_t \mathbf{x}_t+G_t \mathbf{u}_t+ \mathbf{w}_t \\ \\ & \mathbf{z}_t=H_t \mathbf{x}_t+ \mathbf{v}_t \end{align} \] 을 이용하여, 시스템의 상태변수 \(\mathbf{x}(k)\)를 다음과 같이 시간 업데이트와 측정 업데이트 등 .. 2021. 3. 4.
칼만필터란 무엇인가 공대 출신이라면 칼만필터를 한번쯤은 들어 보았을 것이다. 조금 더 관심을 가진 사람이라면 칼만필터가 다음과 같은 일을 한다고 들었을 것이다. 칼만필터로 신호에 섞인 노이즈를 제거할 수 있다. 칼만필터로 센서가 측정하지 못하는 것도 추정할 수 있다. 칼만필터로 여러 센서를 융합하여 더 좋은 측정값을 만들 수 있다. 칼만필터로 기계 장치에 난 고장을 감지할 수 있다. 칼만필터로 적 항공기를 추적할 수 있다. 칼만필터로 선물 또는 주식의 가격을 예측할 수 있다. 이 정도라면, 칼만필터만 잘 다룰 줄 알면 뭔가 대단한 일을 할 수 있을 것 같다는 생각이 들 것이다. 그래서 칼만필터는 공대 출신에게 로망으로 알려져 있다. 실제로 칼만필터는 공학의 모든 분야에 걸친 막대한 영향력 때문에 추정 이론 분야의 가장 위대.. 2021. 3. 3.