기본참고 교재: Cyrill Stachniss 교수님의 Robot Mapping 강의
아주 오래전부터 공부하려고 했었던 Robot Mapping 강의를 들으면서 그 내용을 정리하여 기록해두고자 합니다. 이 강의는 robot mapping (SLAM)에 관한 SOTA system의 내용들 (Kalman filter, EKF, UKF, Particle filter, Graph-based Approach...) 을 다루고 있기 때문에 SLAM에 관한 기초를 공부하기에 좋은 자료라고 생각 됩니다.
이전글에서 Bayes-Filter는 다음과 같은 recursive form형태로 쓸수 있다는 것을 보였다.
$bel(x_t) = \eta\ p(z_t\ |\ x_t)\ \int_{x_{t-1}}\ p(x_t\ |\ x_{t-1},\ u_t)\ bel(x_{t-1})dx_{t-1}$
이 식을 활용한 Bayes Filter는 주로 다음과 같이 prediction step 과 correction step의 두가지 방식으로 표현된다.
이때 prediction step에서의 $p(x_t\ |\ x_{t-1},\ u_t)$는 타임 $t-1$에서 제어명령을 받아 다음 state가 어떻게 발전하는지 보여주기 때문에 motion model이라고 부르고, correction step에서의 $\eta\ p(z_t\ |\ x_t)$는 특정한 state에서 관측값의 likelihood에 대해 알려주기 때문에 sensor model 또는 observation model 이라고 부른다.
이로부터 Bayes-filter라는 상태 추정을위한 일반적인 framework가 어떻게 동작하는지는 알 수 있는데, 구체적으로 이를 실제 문제에 적용할 때에는 여러가지 상황을 고려 해봐야 한다.
- 예측하고자하는 값의 확률 분포가 어떻게 되는지? (Gaussian distribution / non-Gaussian distribution)
- Motion model/Observation model이 어떻게 되는지? (Linear function / non-linear function)
- Distribution이 설명이 되는지? (N~(m, $\sigma$) / distribution을 설명하기위해 sampline technique을 써야 하는지)
이러한 실제 system의 특성에 따라 다양한 Bayes-Filter 종류 중 하나를 선택해서 적용해야 하는데 크게 다음의 두 부류로 나눌 수 있다.
'SLAM' 카테고리의 다른 글
[SLAM-Course] EKF SLAM (Extended Kalman Filter SLAM) - 07 (0) | 2020.06.30 |
---|---|
[SLAM-Course] Kalman Filter-06 (0) | 2020.06.24 |
[SLAM-Course] Bayes Filter-04 (0) | 2020.06.21 |
[SLAM-Course] Homogeneous Coordinates-03 (0) | 2020.06.20 |
[SLAM-Course] SLAM 이란? (Introduction to Robot Mapping)-02 (0) | 2020.06.18 |
댓글