현재 EKF (Extended Kalman Filter)를 디버깅하고 조정하고 있습니다. 작업은 랜드 마크가 AR 마커 인 클래식 모바일 로봇 포즈 추적입니다.
때로는 일부 측정이 추정치에 어떤 영향을 미치는지 놀랍습니다. 관련된 숫자와 행렬을보고 계산할 때 업데이트 단계가 어떻게 실행되었는지, 정확히 무엇이, 왜 일어 났는지 알아낼 수 있지만 매우 지루합니다.
EKF 업데이트 단계에서 어떤 일이 일어나고 있는지 더 잘 느끼기 위해 누군가 기술, 트릭 또는 영리한 시각화를 사용하고 있는지 궁금합니다.
업데이트 # 1 (더 구체적으로 생각하고 내가 생각한 것을 대략적으로 보여줍니다)
내가 찾고있는 것은 측정의 각 구성 요소가 상태의 각 구성 요소에 미치는 영향을 느끼는 방식으로 하나의 업데이트 단계를 시각화하는 방법입니다.
저의 첫 번째 아이디어는 측정 값을 플롯하는 것이며 K 행렬에서 가져온 일부 벡터와 함께 예측입니다. K의 벡터는 혁신 벡터 (측정-측정 예측, 플롯되지 않음)가 상태의 각 구성 요소에 어떤 영향을 미치는지 나타냅니다.
현재 상태가 2D 포즈 (x, y, angle)이고 측정도 2D 포즈 인 EKF로 작업하고 있습니다.
첨부 된 이미지 (전체 페이지로 보려면 새 페이지 / 탭에서 열기)에서 (스케일링 된) 벡터 K (1,1 : 2) (3x3 매트릭스에서 서브 매트릭스를 가져 오는 MATLAB 구문)는 첫 번째 방법을 이해해야합니다 EKF 상태의 구성 요소는 현재 혁신 벡터 K (2,1 : 2)에 따라 EKF의 두 번째 구성 요소가 어떻게 변경되는지 등으로 변경됩니다.이 예에서 혁신 벡터는 상대적으로 큰 x 구성 요소를 가지며 벡터 K (2,1 : 2)-상태의 두 번째 구성 요소 (y 좌표)가 가장 많이 변경됩니다.
이 그림에서 한 가지 문제는 혁신 벡터의 세 번째 성분 (각도)이 상태에 어떤 영향을 미치는지에 대한 느낌을주지 않는다는 것입니다. 국가의 첫 번째 구성 요소는 K (1 : 1 : 2)가 나타내는 것과 달리 약간 증가합니다. 혁신의 세 번째 구성 요소는이를 유발하지만 현재는 이것을 시각화 할 수 없습니다.
첫 번째 개선은 혁신의 세 번째 요소가 국가에 미치는 영향을 시각화하는 것입니다. 그런 다음 공분산 데이터를 추가하여 K 행렬이 어떻게 생성되는지 느낌을 얻는 것이 좋습니다.
업데이트 # 2 이제 그림의 상태 공간에 각 측정 구성 요소가 위치를 변경하는 방법을 보여주는 벡터가 있습니다. 이 그림에서 측정의 세 번째 구성 요소가 상태를 가장 많이 변경 함을 알 수 있습니다.