파이썬 칼만필터 예제

이 두 가지 예를 유익하다고 생각시길 바랍니다. 개인적으로, 나는 자전거 시나리오를 조롱한 다음 KF와 EKF를 인공 데이터에 적용하는 과정을 통해 매우 유익한 작업을 발견했습니다. 생각할 수 있듯이 GPS, 속도계 및 자이로스코프 센서를 자전거에 부착하고 공원 주변을 돌아다니면서 실제 세계에서 이 정확한 절차를 테스트할 수 있습니다. 그러나, 그렇게 하기 전에, 하나는이 시나리오에서 만든 많은 가정 및 단순화를 인식 해야-적어도 $z$축 완전히 무시 됩니다! 분산이 0으로 설정된 경우 해당 측정에서 상당히 큰 확실성을 가지고 있다는 의미입니다. 예를 들어 x 위치의 상태 공변이 0이면 x 위치 예측에 대한 신뢰도가 높아야 합니다. 행렬 형식에서 Kalman 게인은 입력과 동일한 차원의 행렬이고 대각선을 따라 관찰된 위치와 속도를 조정하는 가중치가 있습니다. 가중치가 낮을수록 모델이 예측에 비해 관측을 신뢰합니다. Kalman 필터의 사용은 추적에 관심이 있는 변수의 예측 및 측정 모두에서 일부 오류와 노이즈가 암시적임을 인정합니다. Kalman 게인은 새 추정치를 업데이트하는 데 사용할 새 측정값의 양을 결정하는 데 사용됩니다. Kalman 필터 알고리즘을 적용하기 전에 해야 할 일은 시스템의 초기 상태에 대한 최상의 추측을 만드는 것입니다.

간단하게 하기 위해 자전거의 시작 상태 벡터를 알고 있다고 가정합니다. 여기서 $t_m$는 $m$th 시간 단계이며 상위 용어(바보 포함)는 0평균 가우시안 신호$J_x$및 $J_y$로 가정됩니다. 이 모델을 사용하면 현재 상태를 취하고 향후 상태를 예측할 수 있습니다. 예측 모델의 가장 큰 결함은 $t_{m-1}$의 상태 정보를 감안할 때, 미래에 몇 시간 단계(예: $t_m$)로 상태를 예측하는 것만으로 합리적으로 예상할 수 있다는 것입니다. 그 보다 더 많은 것 그리고 예측 시간 스테핑과 관련 된 높은 순서 용어및 오류의 역학으로 인해 실제 솔루션에서 심각 하 게 분기 될 것 이다. 거기에서, 칼만 게인은 관찰 된 데이터와 함께 계산됩니다. 업데이트 프로세스는 Kalman을 이전 추정치 및 새로운 관찰 데이터와 결합하여 예측과 측정 사이의 어딘가에 있는 믿음으로 상태 변수를 업데이트하는 것을 포함합니다.

Posted in Uncategorized