728x90

 

5.5 동작과 지도 Motion and Maps

 그동안 p($x_t$ | $u_t$, $x_{t-1}$)를 다룰때, 로봇의 동작을 외부를 고려하지 않은 사용하였습니다. 하지만 이 모델은 주변 환경에 대한 정보가 없는 경우 로봇의 동작을 나타냅니다. 하지만 많은 경우 지도 m 이 주어지며, 여기서 지도란 로봇이 주행할수 있는 공간인지 아닌지에 대한 정보를 가지고 있습니다.

 

 예를들어 점유격자 지도 occupancy maps(이후 챕터에서 다룸)는 공간이 점유되었는지 텅비었는지를 구분하는데, 로봇의 자세는 텅빈 공간에서만 존재하여야 합니다. 그러므로 지도 m을 아는것은 제어 $u_t$를 수행한 후에 로봇의 자세 $x_t$에 대한 추가적인 정보를 줍니다.

 

 이를 고려해서 지도 m이 주어질때 동작 모델을 고려하여봅시다. 이 모델을 p($x_t$ | $u_t$, $x_{t-1}$, m)으로 적을수 있는데 여기서 m은 표준변수로 추가되었씁니다. 만약 m이 자세 추정과 관련된 정보들을 제공한다면, 아래의 관계를 구할 수 있습니다.

 동작 모델 p($x_t$ | $u_t$, $x_{t-1}$, m)은 지도가 없는 동작 모델인 p($x_t$ | $u_t$, $x_{t-1}$)보다 더 나은 결과를 구할수 있습니다. 그래서 p($x_t$ | $u_t$, $x_{t-1}$, m)를 지도 기반 모션 모델 map based motion model이라 부릅니다. 이 지도기반 모션 모델은 지도 m을 가진 로봇이 자세 $x_{t-1}$에서 동작 $u_t$를 수행한 후에 자세 $x_t$에 도착하는 우도 likelihood를 계산합니다.

 

 불행히도 이 닫힌 형태의 동작 모델을 계산하기는 힘든 일입니다. 왜냐하면 동작 $u_t$가 수행된 후에 $x_t$에서의 우도를 계산하기 위해서, $x_{t-1}$과 $x_t$ 사이에 존재하는 비점유 경로가 존재하는 확률을 합쳐야 하고, 로봇이 동작을 수행할때 이 비점유된 경로를 따라서 움직여야 하기 때문입니다.

 

 다행이도 지도 기반 동작 모델을 효과율적으로 근사하는 방법이 존재하는데 이는 $x_{t-1}$과 $x_t$ 사이의 거리를 줄이는 것입니다.(로봇의 반지름 보다 작게) 이 근사화 방법은 다음의 두 가지 요소로 지도 기반 모션모델을 분해할 수 있습니다.

 

 여기서 $\eta$는 정규자로, 이 분해에 따르면 지도자유 추정인 p($x_t$ | $u_t$, $x_{t-1}$)에 두번째 항으로 p($x_t$ | m)을 곱하면 되는데, p($x_t$ | m)은 지도이 주어질때 자세 $x_t$의 일관성을 의미합니다.

 

 점유 지도의 경우에서 만약 로봇이 지도의 점유된 격자 셀에 로봇이 충돌한다면 p($x_t$ | m) = 0이 되나 그렇지 않은 경우 상수 값으로 다루겠습니다. p($x_t$ | m)과 p($x_t$ | $u_t$, $x_{t-1}$)를 곱하여 지도와 함께 자세 $x_{t-1}$에서 확률 질량을 나타내는 분포를 얻을수 있는데 위 경우가 아니라면 항상  p($x_t$ | $u_t$, $x_{t-1}$)의 형태를 가지게 됩니다. $\eta$는 정규화를 하기위해 사용될수 있으며 이 지도기반 모델의 근사는 지도 자유 동작 모델과 비교해서 큰 오버해드 없이 쉽게 계산할 수 있습니다.

 

표 5.7 지도 m을 활용하여  p($x_t$ | $u_t$, $x_{t-1}$, m)를 계산하는 알고리즘

 

 

  표 5.7은 지도 기반 동작 모델의 계산과 샘플링하는 기본 알고리즘을 보여주고 있습니다. 샘플링 알고리즘에서는 가중치를 가진 샘플들을 반환하는데 여기서는 중요성 가중치가 p($x_t$ | m)에 비례하고 있습니다. 이 샘플 버전을 구현하는데서는 내부 루프의 제거가 보장되어야만 합니다.

 

그림 5.11 지도가없는 속도 동작 모델 (a)와 지도 m이 주어진 속도 동작 모델

 

 예를들자면 그림 5.11에서의 모션모델을 보면 그림 5.11a에서의 밀도는  p($x_t$ | $u_t$, $x_{t-1}$)으로 속도 모델로 계산됩니다. 그림 5.11b는 사각형 장애물이 존재하는 지도 m을 가정하고 있는데, 로봇이 장애물과 교차하는 모든 자세 $x_t$에서 확률 p($x_t$ | m)은 0이 됩니다.

 

 여기서 사용할 로봇은 원형이므로 장애물은 로봇의 반지름보다 크게 이루어져 있습니다. 그림 5.11b에서 p($x_t$ | $u_t$, $x_{t-1}$, m)의 결과를 보여주는데 이 값은 p($x_t$ | m)과 p($x_t$ | $u_t$, $x_{t-1}$)의 정규화된 곱이 됩니다. p($x_t$ |  m)는 장애물이 있는 곳에서는 0이고, 모든 곳에서 p($x_t$ | $u_t$, $x_{t-1}$)에 비례하게 됩니다.

 

 그림 5.11은 근사화 문제를 또한 보여주고 있는데, (*)이라 표기한 영역은 p($x_t$ | $u_t$, $x_{t-1}$)과 p($x_t$ | m)에 의하여 0이 아닌 우도를 가지고 있게 됩니다. 하지만 로봇이 이 공간으로 가기 위해서 벽을 통과하여야 하지만 실제 현실에서는 불가능 합니다. 이 문제는 목적지까지 로봇의 경로 일관성을 확인하는 대신 마지막 자세 $x_{t-1}$에서의 일관성을 확인한 결과이지만 현실적으로 이러한 에러는 큰 동작 $u_t$에서만 발생하지, 갱신 주기가 큰 경우에 무시해도 됩니다.

 

 근사시 발생하는 이 문제를 없에기 위해선 식 (5.48)에 베이즈룰을 적용하여 다음이 됩니다.

 

 

 p(m | $x_t$, $u_t$, $x_{t-1}$)를 p(m | $x_t$로 근사화 시킨다면 다시 한번 베이즈룰을 통해 다음과 같이 정리할 수 있습니다.

 

 

 

여기서 $\eta$는 정규자(서로다른 변환 단계 이 값들은 다릅니다.)이며, 이 간단한 분석을 통해 지도 기반 모델을 러프하게 정리할 수 있습니다.

 이 식은 같지는 않지만, m이 주어질때 조건부 확률을 계산하는 경우 근사 시에 $u_t$, $x_t$항을 생략하고, 이들을 생략함으로서 $x_t$를 향하는 로봇의 경로 관련 정보들을 읽어버리게 됩니다. 위 예제로 이러한 생략의 결과를 봤는데 여기서 벽 뒤의 자세들은 0이 아닌 우도치를 가지는것을 보았습니다. 이러한 지도 기반 동작 모델의 근사치는 초기와 마지막 위치가 점유되지 않은 공간이며 벽을 통과했다고 잘못 가정한 것을수도 있지만  어떻게 이 문제를 해결할까요? 위에서 살펴봤듯이 이는 갱신 간격에 의존하므로 갱신 주기를 높이면 이 효과가 발생하지 않은체 충분한 근사치를 구할수 있게됩니다.

 

 

300x250

+ Recent posts