6.6. Feature-Based Measurement Models
1. Feature Extraction
지금까지 소개된 센서 모델들은 모두 raw sensor measurements에 기반했습니다. 다른 접근 방법으로는 measurements로부터 feature를 추출(extract)하는 것입니다. 이제 이 feature extractor를 함수 $f$라고 할 것인데, range measurements로부터 추출된 features는 $f(z_t)$라고 할 것입니다. 대부분은 feature extractors는 high-dimensional sensor measurements로부터 적은 수의 features를 추출합니다. 이 접근법의 key advangate는 계산 복잡도를 크게 줄여주는 것입니다.
range sensors에서 벽, 코너, 장애물 같은 물체 등 각각에 해당되는 선, 코너, range scans에서의 지역 최솟값들을 식별하는 것은 흔한 경우입니다. 일반적으로 로보틱스에서는 복도나 교차로 같은 장소를 features로써 정의합니다.
2. Landmark Measurements
많은 로보틱스 응용분야에서, features는 physical world에서의 뚜렷하게 구분되는 물체들을 말합니다. 실내 환경에서의 features는 문의 기둥이나 창턱 같은 것이고, 실외 환경에서는 나무의 몸통이나 빌딩의 코너같은 것입니다. 로보틱스에서, 이런 physical objects를 landmarks라고 하며, 이런 landmarks를 로봇 내비게이션에 이용합니다.
processing landmarks의 가장 흔한 모델은 센서가 로봇의 local coordinate frame에 대한 landmarks의 방향 및 거리를 측정할 수 있다고 가정합니다. 이런 센서들을 range and bearing sensors라고 합니다. 추가로, feature extractor는 signature를 만들어내기도 합니다. 이 signature는 관측된 landmark를 characterizing하는 하나의 정수이거나, landmark를 characterizing하는(높이나 색깔 같이) multi-dimensional vector일 수 있습니다.
이제 우리는 측정값의 거리를 $r$이라고 하고, 방향은 $\phi$, signatrue는 $s$라고 하면 feature vector는 이 세가지 값들을 모은 벡터로, 다음과 같이 주어집니다.
각각의 time step에서 식별된 features의 개수는 변수입니다(각 time step에서의 측정에 따라 features의 개수도 달라진다는 것입니다.) 하지만, 많은 확률적 알고리즘들은 각각의 features은 다음과 같이 조건부 독립이라고 가정합니다.
조건부 독립은 만약 각각의 측정 $(r^i_t \; \phi _t^i \; s_t^i)^T$에서의 noise가 서로 독립이어야 합니다. 조건부 독립의 가정 하에, 우리는 하나의 시간에 한 개의 feature를 process할 수 있습니다.
이제 features를 위한 센서 모델을 생각해보겠습니다. 우리는 이전에 feature-based map과 location-based map에 대해 언급했었는데, landmark measurement models는 일반적으로 feature-based map에서만 정의됩니다. feature-based map은 features의 리스트인 $m = \left\{m_1,\; m_2,\; ...\right\}$으로 구성됩니다. 각각의 feature는 하나의 signature와 location coordinate를 소유할 수 있습니다. feature의 location은 map의 global coordinate로 나타낸 $m_{i, x}$와 $m_{i, y}$라고 표기합니다.
noise-free landmark sensor의 measurement vector는 기본적인 기하학적 법칙에 의해 쉽게 정의됩니다. 우리는 landmark perception에서의 noise를 거리, 방향, signature에서 독립적인 Gaussian noise로 모델링합니다. 이 모델의 측정 결과는 $t$에서 $i$번째 feature가 map에서의 $j$번째 feature로 대응되는 경우를 만듭니다. 일반적으로, 로봇의 pose는 $x_t = (x \; y \; \theta )^T$로 주어집니다.
여기서 $\varepsilon _{\sigma _r}, \varepsilon _{\sigma _r}, \varepsilon _{\sigma _\phi}, \varepsilon _{\sigma _s}$는 평균이 0이고 각각 표준편차가 $\sigma _r, \sigma _{\phi}, \sigma _s$인 Gaussian error variables입니다.
3. Sensor Model with Known Correspondence
range/bearing sensors에서 key problem은 data association problem이라고 알려진 문제입니다. 이 문제는 landmark가 uniquely identified될 수 없을 때 발생하는데, 이 때문에 landmark의 identity에 관련된 일부 residual uncertainty가 존재하게됩니다. range/bearing sensor model을 개선하기위해, feature $f_t^i$와, map에서의 landmark $m_j$사이의 correspondence variable을 사용합니다.
이 variable은 $c_t^i \in \left\{1, ..., N + 1\right\}$에서의 $c_t^i$라고 나타내며, $N$은 map $m$에서의 landmarks의 개수 입니다. 만약 $c_t^i = j \leq N$이면, $t$에서 관측된 $i$번째 feature는 map에서의 $j$번째 landmark에 대응됩니다. 다시 말해, $c_t^i$는 관측된 feature의 true identitiy입니다. 여기서 예외는 $c_t^i = N+1$인 경우에 발생하는데, 즉, feature observation이 map $m$에서의 어떠한 feature에도 대응되지 않는 경우입니다. 이 경우는 spurious landmarks를 처리할 때 매우 중요합니다. 즉, robotic mapping에서 로봇이 이전에 관측되지 않은 landmarks를 관측하는 경우에 해당합니다.
table 6.4.는 알고있는 correspondence $c_t^i \leq N$에 대한 feature $f_t^i$의 확률을 계산하는 알고리즘입니다. line 3과 4는 landmark까지의 true range와 bearing을 계산합니다. 측정된 ranges와 bearing의 확률은 line 5에서 계산되며, 각각의 noise는 독립이라고 가정합니다.
4. Sampling Poses
때때로, feature identity $c_t^i$와 measurement $f_t^i$에 대응되는 로봇의 pose $x_t$를 샘플하는 것이 요구되기도 합니다. 일반적인 경우, 효과적인 샘플링 알고리즘을 사용하는 제안된 landmark model에서 sensor measurement $z_t$에 대응되는 pose $x_t$를 샘플링하는 것은 어렵습니다. 그러나 사전확률을 알고 있다는 가정만 더해지면, 이는 Bayes rule을 이용하여 쉽게 구할 수 있습니다. 간단하게, 사전 확률이 1의 값을 갖는 uniform distribution이라고 가정하겠습니다(실제로는 이렇지 않습니다. 간단하게 나타내기 위함입니다). Bayes rule로 나타내면 아래와 같습니다(4.3 Particle Filter를 참조하세요. https://soohwan-justin.tistory.com/5).
$p(x_t | f_t^i, c_t^i, m)$은 이제 "inverse" sensor model인 $p(f_t^i | c_t^i, x_t, m)$에서 샘플링 될 수 있습니다. table 6.5.는 pose $x_t$를 샘플링 하는 알고리즘을 보여줍니다.
이 알고리즘은 tricky한데, noise-free인 경우에도 landmark observation은 로봇의 위치를 uniquely determine하지 않습니다. 대신에, 로봇은 landmark 까지의 range값을 가진 원으로 landmark를 둘러싸게 됩니다.
이 pose sampler를 적용하기 위해, 우리는 landmark를 주변으로 원을 그리며 위치한 로봇의 좌표를 결정하는 남은 free parameter를 sample해야합니다. 이 parameter는 table 6.5.에서 $\hat {\gamma}$로 나타내었으며, line 3에서 랜덤하게 선택됩니다. line 4와 5는 Gausian으로 인해 조금씩 변하는 measured range와 bearing을 나타내고, 마지막으로 line 6부터 8은 $\hat {\gamma}, \hat {r}, \hat {\phi}$에 대응되는 pose를 recover 합니다.
그림 6.13은 그 pose distribution $p(x_t | f_t^i, c_t^i, m)$과, 위 알고리즘을 통해 그려진 sample을 나타냅니다.