Localization : Histogram filter

움직이는 물체가 자신의 위치를 정확히 파악하는 것은 매우 중요한 작업이다. 우리가 지도를 사용하고 GPS navigation를 사용하는 것은 바로 자신의 위치를 파악하기 위해서이다. 움직이는 로봇을 공부하면서 접한 개념이지만 localization은 생각보다 쉽지 않은 작업이다. 자율 주행차에서 매우 중요한 분야의 하나이기도 하다. 주변 환경에 대한 정보가 있는 상태에서 움직이는 물체가 센서를 통해 정보를 얻어 현재 자신의 위치가 어디인지 파악하는 것이 바로 localization이다.

자동차의 navigation의 경우 주변환경 정보는 맵(map)이고 센서는 GPS 인공위성이다. 그러나 자동차를 운전하다 보면 GPS가 획기적이긴 하지만 그다지 정확성이 높지 않다는 것을 알 수 있다. 기본적으로 차로를 구분할 정도의 정확도를 가지고 있지 않기 때문에 고속도로에서 빠져 나온 상태인지 고속도로를 달리고 있는 상태인지 분간 못하는 경우가 많다. 그러므로 자율주행차의 localization은 GPS와는 별개의 방법이 필요하다.

인공지능 뿐만 아니라 최근 mobile robot을 공부하면서 주행 로봇의 system dynamics 및 control의 개념에 못지 않게 localization을 위한 기본 개념이 필요함을 알았다. 이에 대한 간단한 내용을 정리하고자 한다.

localization 기본 이론

Localization을 위해서는 기본적으로 환경정보(environments), 움직임(motions) 정보, 마지막으로 센서에 의한 관측(measurements) 정보가 필요하다. 관측은 센서가 주변환경으로 부터 얻은 정보이고, 움직임 정보는 운동하고 있는 물체의 속도와 방향을 통해 얻어 낸다.

수학적 접근 방법은 이렇다. 센서로 부터 위치파악에 도움이 될 만한 주변환경의 특이정보를 얻어 낸다. 움직이면서 계속 얻어낸 특이 정보와 일치할 가능성이 높은 환경 지점의 확률을 계속 높여 간다. 움직이면서 얻어내 정보가 연속해서 일치할 확률(곱의 확률)로 각 지점의 확률값을 계속 계산해 준다. 현재의 위치 파악은 환경의 각 지점중 가장 높은 확률값을 가지는 지점이 수학적으로 추론된 현재의 위치이다.

예를 들어 보자. 1차원 환경이 다음과 같다고 하자.

Environments = [A, A, B, C, C, A, D]

움직이는 물체의 센서가 C를 관측후 A를 관측했다면 현재의 위치를 나타낼 환경 각 지점의 확률은 아래와 같은 값을 가져야 한다.

1차 localization probability = [0, 0, 0, 0.5, 0.5, 0, 0]

2차 localization probability = [0, 0, 0 ,0, 0, 1, 0]

2차 localization의 확률값이 1인 지점은 C관측후 바로 A가 관측되는 환경이 한군데 존재하므로 확률값은 1이고 이 곳이 추정된 물체의 위치이다.

알고리즘

이러한 기본적 이론에 근거하되, 센서의 정확도를 나타내는 패러미터(p_Sensor)와, 움직임의 정확도를 나타내는 패러미터(p_Motion)등을 도입하여 알고리즘을 구현하였다. 아래와 같은 2차원 환경을 생각한다. 각 테스트별로 움직임과 측정값을 사용하여 현재 위치의 추정 확률 값을 나타내었다. 마지막 테스트는 p_Sensor = 0.9, p_Motion = 0.9를 사용하여 관측 및 움직임의 부정확정을 도입하여 얻은 확률 값이다.

localization

1차 test : measurements = [‘G’,‘G’] & motions = [Stay,  Down]

localization-1

2차 test : measurements = [‘G’,‘G’,‘G’,‘G’] & motions = [Stay,  Down, Down, Right]

localication-2

3차 test : measurements = [‘G’,‘G’,‘G’,‘G’] & motions = [Stay,  Down, Down, Right]

localization-3

확률값을 적기가 여의치 않아 계산 결과 매트릭스를 그대로 첨부하였다. 센서와 움직임의 부정확성을 도입하면, 가장 높은 확률값의 위치는 2차 테스트와 동일하지만 주변의 확률값도 동시에 높아지는 것을 알 수 있다.

(Note) 지금까지의 설명은 discrete environment에 대한 localization 방법인 Monte Carlo 방법에 근거한 것이다. Continous environment에 대한 다른 접근법으로 Karlman filter를 사용하는 방법이 있다. 이에 대해서는 다음에 정리하도록 하겠다.

Advertisements

Localization : Histogram filter”에 대한 답글 1개

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중