(22′ 전시회) 국가과학전 (2) – 칼만 필터의 역사

이 기사에서는 PID로 나를 괴롭히는 칼만 필터에 대해 쓰고자 합니다.

정당성

Kalman 필터는 노이즈 측정을 기반으로 선형 역학 시스템의 상태를 추정하는 재귀 필터입니다.

통계적 노이즈 및 기타 부정확성을 포함하여 시간이 지남에 따라 관찰된 일련의 측정을 수행하고 결합 확률 분포를 추정하여 단일 측정만으로 더 정확한 경향이 있는 알려지지 않은 변수의 추정치를 생성하는 알고리즘입니다. 주로 Rudolf E.Kálmán이 개발했습니다.


출처: 위키백과

왜? 그것을 사용해야합니까?

Kalman 필터를 사용하는 이유는 먼저 사용할 위치를 알기 위해서입니다.

Kalman 필터는 제가 여러 로봇을 만드는 데 사용한 것과 같은 로봇 및 자율 주행 자동차와 같은 장소에서 사용됩니다. 그 이유는 주행 중 변수 감지 및 주행 제어에서 현재 위치를 측정하는 매핑 과정을 거칠 때 현지화 작업이 필요하기 때문입니다. 주어진 지도에서 로봇이 어디에 있는지 파악하기 위해 초음파, 라이다, 카메라와 같은 센서를 사용하여 확률 기반 방법을 사용하여 로봇이 지도에서 어디에 있는지 예측합니다. 이 시점에서 모든 관찰에는 오류가 있으며 오류를 제거하는 것은 불가능합니다.

이 경우 Kalman 필터가 사용됩니다. 칼만 필터의 기본 개념은 “과거와 현재 값을 재귀적으로 연산하여 최적의 값을 추적하는 것”입니다. 여기서 필터는 노이즈 값, 즉 측정 데이터에 포함된 불확실성을 필터링하는 데 사용됩니다. 대상에서 얻은 데이터가 완벽하지 않기 때문에 누락된 속성을 채우는 역할을 합니다. 예를 들어 측정 데이터나 신호에는 항상 노이즈가 수반되기 때문에 원하는 신호나 정보를 골라내는 알고리즘 정도로 생각하면 되고, 이를 정규분포 대상에 사용할 수 있다.

사용된

이 알고리즘에서 자세 제어를 위해서는 다음 방정식을 사용해야 합니다.

$\begin{bmatrix} \dot \phi \\ \dot \theta \\ \dot \psi \end{bmatrix} = \begin{bmatrix} 1 & \sin \phi \tan \theta & \cos \phi \tan \theta \\ 0 & \cos \phi & – \sin \phi \\ 0 & \sin \phi / \cos \theta & \cos \phi / \cos \theta \\ \end{bmatrix} \begin{bmatrix } p \\ q \\ r \end{bmatrix}$

이를 통해 mpu6050에서 수신한 데이터를 기반으로 현재 각도를 계산할 수 있으며 이 값은 Kalman 필터를 사용하여 얻은 가장 정확한 각도입니다.

Kalman 필터 및 기타 필터

칼만 필터의 단점: 비선형 시스템에 적용하면 오차가 커지거나 발산한다.

> 사용할 필터는 Extended Kalman Filter입니다. 이것을 사용하면 비선형이나 가우시안 분포를 따르지 않는 노이즈에도 유효하게 사용할 수 있습니다.

그 개발로 무향 칼만 필터(UKF)가 탄생했습니다.

확장 칼만은 계산 시간과 무향 칼만 정확도를 얻을 수 있으므로 둘 다 적용하고 성능을 비교합니다.

칼만 필터 및 LPF

– LPF에서 a는 상수이지만 Kalman 필터는 입력 값, 기존 시스템 모델링 및 통계적 추정을 통해 가중치를 동적으로 조정합니다.

입자 필터: 추정된 확률 분포를 가우시안으로 특성화하지 않는 필터입니다.

> 높은 계산량으로 인해 임베디드 시스템에서 사용하기 어렵습니다.