매우 기본적인 질문이지만 EKF-SLAM에서 Jacobian 행렬을 계산하는 이유를 알고 싶습니다. 이해가 어려워서 잘 이해하지 못합니다. 그 일은 어렵지만 나는 그것을 알고 싶다. 나는 누군가가 이것에 관해 나를 도울 수 있는지 궁금하게 생각하고 있었다.ekf-slam의 jacobians를 계산하는 이유
1
A
답변
1
칼만 필터는 선형 시스템에서 작동합니다. 단계는 두 부분을 병렬로 업데이트합니다. 상태는 x
이고 오류 공분산은 P
입니다. 선형 시스템에서 우리는 다음을 예측합니다. x
은 Fx
입니다. Fx
의 정확한 공분산을 FPF^T
으로 계산할 수 있습니다. 비선형 시스템에서는 x
을 f(x)
으로 업데이트 할 수 있지만 P
을 어떻게 업데이트합니까? 두 개의 인기있는 방법이 다음과 같습니다 EKF에서
- , 우리는
x
에서f()
의 선형 근사를 선택한 다음 일반적인 방법FPF^T
를 사용합니다. - UKF에서는 공분산이
P
인x
의 분포를 근사합니다. 근사치는 시그마 포인트이라고하는 점 집합입니다. 그런 다음 우리는 실제 상태 인f(sigma_point)
을 통해 그 상태를 전파하고 그 결과 분포의 분산을 측정합니다.
귀하는 EKF (케이스 1)에 관심이 있습니다. 함수의 선형 근사는 무엇입니까? 커브를 확대하면 직선처럼 보이기 시작합니다. 기울기는 그 지점에서 함수의 미분입니다. 이상하게 들리면 Taylor series을 확인하십시오. 다변량 등가물을 Jacobian이라고합니다. 그래서 우리는 f()
의 야곱을 x
으로 평가하여 F
을 얻습니다. 지금은 Fx != f(x)
이지만 우리가 변경 한 내용이 x
인 경우 작아도됩니다. 대략적으로 작은 숫자 인 F
은 이전에서 이후로 많이 바뀌지 않을 것입니다.
EKF 근사법의 주요 문제점은 측정 단계 후에 근사를 사용하여 분포를 업데이트 할 때 결과 공분산이 낮아지는 경향이 있다는 것입니다. P
선형적인 방식으로 수정 작업처럼 작동합니다. 실제 업데이트는 선형 근사값에서 약간 벗어나 매우 좋지는 않습니다. KF가 반복 될 때 이러한 과도한 과도한 자신감은 축적되어 Q
에 가상의 프로세스 잡음을 추가하여 상쇄해야합니다.