728x90

2.2 SLAM 사후확률

 시간 t에서의 로봇의 자세를 $s_t$라고 하겠습니다. 평면 공간에서 로봇이 주행하면서, 로봇의 자세는 평면 공간에서의 x-y 위치와 해딩각도로 이루어 집니다. 앞으로 살펴볼 모든 실험은 평면 환경에서 수행될 것이나, 어떤 알고리즘들은 3차원 세계에서 다루겠습니다. 로봇의 모든 시간에서의 자세로 이루어진 로봇의 완전한 궤적은 $s^t$라고 쓰며 아래와 같습니다.

 이번에는 로봇의 주위 환경을 N개의 점 랜드마크의 집합으로 설계할수 있습니다. 점 랜드마크는 센서로부터 추출한 특징의 위치로, 레이저 스캔으로 구한 기하학적 특징이나 카메라로 얻은 시각 특징 같은게 될수 있습니다. N개의 랜드마크 위치 집합을 {$\theta_1$, . . ., $\theta_N$}이라고 쓰겠습니다. 전체 지도에 대해서 간단하게 적으면 $\Theta$로 표기하겠습니다.

 

 로봇은 주위 환경에서 주행하면서, 로봇의 동작에 대해 상대적인 정보들을 수집하는데, 이 정보는 로봇의 바퀴에 장착된 오도미터나, 관성 센서로 구할수 있으며, 아니면 로봇이 수행하는 제어입력으로 구할수 있겠습니다. 원점이 어디인지든 간에 로봇의 동작을 제어 입력이라고 부릅니다. 시간 t에 대한 제어 입력을 $u_t$라 하며, 모든 제어 입력의 집합을 $u^t$라고 표기합니다.

 로봇이 주행하는 동안에 근처에 있는 랜드마크들을 관측도 하는데, 평면 공간에서의 SLAM 문제에서 로봇들은 장애물, 랜드마크에 대한 거리와 방위를 측정하게 됩니다. 이 시간 t에서의 관측을 $z_t$라 하며, 로봇이 수집한 모든 관측 집합을 $z^t$라고 표기합니다.

 SLAM에 있어서 센서 관측치들은 개별적인 랜드마크에 대한 정보로 분할하여 다룰수 있는데, 각 랜드마크 관측치는 다른 간측치로부터 독립적으로 반영할수 있습니다. 이는 성공적으로 SLAM을 구한하기 위해서 가공되지 않은 센서 데이터로부터 랜드마크 특징들을 하나 하나 추출하는데 있어, 현실적인 가정이라 할 수 있겠습니다. 그래서 각각의 관측은 로봇의 현재 자세 $s_t$에 대해 상대적인 랜드마크의 위치 $\theta_n$에 대한 정보를 전달한다고 할수 있겠습니다. 

 

 여기서 변수 n은 관측된 랜드마크의 아이디로, 현실에서는 많은 수의 랜드마크들이 비슷비슷하게 생겨서, 랜드마크의 아이디는 관측할수 없습니다. 관측 $z_t$로 얻은 랜드마크의 아이디를 $n_t$라고 표기하겠습니다.($n_t$ $\in$ {1, . . .N}). 예를들어 $n_8$ = 3이라고 한다면, 시간 t=8에 로봇이 관측한것이 3번째 랜드마크라는 의미가 되겠스빈다. 랜드마크 아이디를 보통 데이터 연관 data associations이나 대응관계 correspondences라고 부릅니다. 이러한 모든 데이터 연관 집합을 $n^t$로 표기합니다.

 쉽게 보자면, 로봇은 매 시간마다 제어입력 $u_t$를 수행하고, 관측 $z_t$를 얻는다고 할수 있겠습니다. 시간 t에서 다중 관측치또한 처리될수 있겠으나 조금 복잡한 표기를 해야되겠습니다.

 위의 정의들을 사용하여 SLAM의 주요 목표는 노이즈를 가진 관측치들 $z^t$와 제어 입력들 $u^t$이 주어질때, 로봇의 자세 $s_t$와 지도 $\Theta$의 최고의 추정치를 구하는것이라 할수 있겟습니다.

 확률적인 용어로 이는 아래의 사후확률로 표현할 수 있겠고,

 모든 데이터 연관에 대한 집합 $n^t$가 주어진다면, 이 사후확률은 다음과 같이 고칠수 있겠습니다.

 

 

 

 

 

300x250

'로봇 > SLAM' 카테고리의 다른 글

FastSLAM - 2.5 조절하는 SLAM 알고리즘  (0) 2020.07.07
FastSLAM - 2.3~ 마르코브 체인으로 SLAM  (0) 2020.07.07
FastSLAM - 2. SLAM 문제  (0) 2020.07.07
FastSLAM - 1.6 FastSLAM+  (0) 2020.07.07
FastSLAM - 1.6 FastSLAM  (0) 2020.07.06

+ Recent posts