728x90

7. 이동 로봇 위치 추정 mobile robot localization

7.1 소개

 이번 장에서는 이동 로봇 위치 추정을 수행하는 다양한 확률적인 알고리즘들을 설명하겠습니다. 이동 로봇의 위치 추정은 지도가 주어질때 로봇의 자세를 구하는 문제로 위치 추정 position estimation이나 자세 추적 position tracking이라고도 부릅니다. 이동 로봇의 추정 문제는 로봇 공학에서 가장 기본적인 위치 추정 문제이기도 합니다. 이는 모든 로봇 공학 작업들이 로봇와 조작하려는 물체에 대한 정보를 필요로 하기 때문입니다.

 

 위치 추정은 좌표계 변환 문제로 볼수도 있는데, 지도는 로봇의 자세에 독립적인 전역 좌표계 상에서 나타나지므로 위치 추정 문제는 로봇의 지역좌표계와 지도의 좌표계 사이에 올바른 대응관계를 만들어나가는 과정이 됩니다. 이 좌표 변환을 아는것으로 로봇은 로봇의 지역 좌표계상에 존재하는 물체의 관심 물체를 나타낼 수 있게 됩니다. 쉽게 설명하면 로봇의 자세 $x_t$ = (x y $\theta$$)^T$를 알기만 해도 좌표 변환을 구하는데 충분하여 자세는 지도 상에서 표현될수있습니다.

 

 불행히도 위치 추정에서 생기는 문제가 있는데 자세는 직접적으로 감지될수 없습니다. 다시 설명하면 대부분의 로봇은 자세를 측정하는 센서를 가지고 있지 않습니다. 그러므로 자세는 데이터를 추론하여 구하여야 하는데, 어려운 점은 단일 센서 측정만으로는 자세를 구하는데 불충분하는 점에서 생깁니다. 대신, 자세를 구하려면 로봇이 여러 시간에 대한 데이터를 합하여야 합니다. 왜 이것이 필요한지 보기위해서, 로봇이 복도에 존재한다고 할때 여기서 단일 센서 측정(레이저 스캔)만으로는 복도의 어디쯤에 있는지 구분하기에는 어렵습니다.

 

그림 7.1 로봇 위치 추정에 사용된 지도 예시: 2차원 미터 레이아웃, 그래프 위상 지도, 천장 모자이크 이미지

 

 위치 추정문제는 다양항 지도 표현들에 적용될수 있는데, 이미 이전 장에 특징 기반 지도와 위치 기반 지도에 대해 살펴봤습니다. 후자의 예시로 점유 격자 지도가 있으며 이후 장에서 다루어보겠습니다. 이러한 지도의 예시가 그림 7.1에서 보여주고 있는데, 2차원 미터 지도와 그래프 위상 지도, 천장 모자이크 이미지(이것도 지도로 사용 가능)들을 보여주고 있습니다. 오늘날 연구에서 이런 지도 표현방법들이 크게 사용되고 있습니다. 많은 뒷 장에서 특정 지도의 타입과 데이터로부터 지도를 얻는 알고리즘에 대해서 다뤄보겠습니다. 위치 추정문제는 정확한 지도가 존재한다고 가정을 하고 수행됩니다.

 

 이는 이번과 이후 장에서, 위치 추정에 필요한 기본적인 확률 알고리즘들을 보여줄것인데 이 알고리즘은 모두 2장에서 소개한 기본 베이즈 필터의 변형이 됩니다. 그리고 각 표현법들과 관련 알고리즘의 이점과 단점에 대해서 살펴보고 나아가서 다른 위치 추정문제들도 넓혀가서 살펴보겠습니다.

 

7.2 위치 추정 문제의 분류 a taxonomy of localization problems

 모든 위치 추정 문제는 어려움이 똑같지는 않습니다. 위치 추정의 어려움을 이해하기 위해서 간단하게 위치 추정 문제를 분류해볼것인데, 로봇의 초기 위치를 아는지의 여부와 추정해야할 차원의 수에 따라 분류할 수 있습니다.

 

지역대 전역 위치 추정 local versus global localization

 위치 추정 문제는 초기 위치에 대한 정보같은게 주어지는지의 여부로 판단할 수 있습니다. 위치 추정 문제를 어려움의 크기에 따라 3가지 타입으로 나누어보았습니다.

 

- 위치 추적 position tracking

  위치 추적은 초기 로봇의 위치를 알고 있다고 가정하는것으로 로봇의 위치 추정시 로봇의 동작에 대한 노이즈들을 수용하여야 합니다. 이 노이즈의 영향은 작으므로 위치 추적에서 자세의 에러는 작다고 가정합니다. 자세의 불확실성은 종종 단봉 분포(가우시안 같은)로 근사화 되기도 하는데, 불확실성이 지역적이고 로봇의 실제 위치 주변의 공간으로 제한하기 때문에 이 문제를 지역 문제가 됩니다.

 

- 전역 위치 추정 global localization

 로봇의 초기 위치를 알수 없는 경우 로봇은 어디에 존재하는지에 대한 정보를 모르는체 초기에 어딘가에 위치하고 있습니다 전역 문제의 접근 방법에서 자세 에러의 범위를 가정할 수 없어 이 장에서 뒤에 다르겠지만 단봉 확률 분포는 적절하지 않습니다. 전역 문제는 위치 추적보다 더 어려우며 위치 추적문제를 포함하고 있습니다.

 

 - 로봇 납치 문제 kidnapped robot problem

 이 문제는 전역 위치 추정 문제의 변형으로 더 어렵습니다. 동작되는 동안 로봇이 납치되어 다른 장소로 옮겨질 수 있는데, 납치된 로봇 문제는 전역 위치 추정보다 더 어려우며 로봇은 다른데 옮겨지더라도 기존의 위치에 있는것으로 알고 있습니다. 전역 위치 추정에서 로봇은 자신이 어디있는지 모릅니다. 현실적으로 로봇은 납치되는 경우가 드물지만 이는 최신 위치 추정 알고리즘들이 절대 실패하지 않게 하기 위해서 중요하다고 볼수있습니다. 위치 추정 실패에도 복원하는 능력은 자율 주행 로봇에서 필수적으로, 납치 되었을 때 전역 위치 추정 실패에도 복원하는 능력을 측정하여 위치 추정 알고리즘을 시험할 수 있습니다.

 

정적 대 동적 환경 static versus dynamic environments

 위치 추정의 어려움에 영향을 주는 두번째는 환경으로 이 환경에는 정적인 경우와 동적인 경우가 존재합니다.

 

- 정적 환경

 정적 환경은 로봇의 자세만 변하는 환경으로 다르게 설명하면 정적 환경에서는 로봇만 움직이고 있습니다. 다른 물체들은 항상 같은 위치에서만 있습니다. 정적 환경은 확률적 추정이 쉬운 수학적 성질을 가지게 됩니다.

 

- 동적 환경

 동적 환경은 시간의 변화에 따라 로봇 뿐만이 아니라 다른 물체들의 장소도 변하는 것으로 흥미로운 점은 시간에 대해 변하는 것이고 단일 센서 읽기만으로 부족합니다. 이러한 측정할수 없는 변화는 위치 추정과 관련이 없고, 단일 측정시 (2.4.4)처럼 노이즈로 다루는게 낫습니다. 이런 변화들의 예시로 사람이나 조명, 움직이는 가구, 문 등이 있습니다. 실제 대다수의 환경은 동적이므로 서로 다른 속도로 변하는 상태를 가지게 됩니다.

 

 동적 환경에서 위치 추정은 정적 환경보다 더 어렵습니다. 동적 환경을 다루기위한 2가지 주요 원칙으로 첫째는 동적 개체들은 상태 백터에포함되어야 하는데, 그결과 마르코브 가정이 성딜될수 있으나 추가적인 계산량과 모델 복잡도를 만들수 있습니다. 결과적인 알고리즘은 효율적인 지도 작성 알고리즘이 됩니다. 두번째는 센서 데이터를 설계되지 않은 동역학의 영향을 제거하도록 필터시키는것인데 이는 8.4에서 살펴보겠습니다.

 

수동 대 활성 방법 passive versus active approaches

 위치 추정문제를 다루는 3번째 방법은 위치 추정 알고리즘이 로봇의 자세를 변화시키는지 여부로 분류할 수 있습니다. 두가지 경우로 바꿀수 있는데,

 

- 수동 위치 추정 passive localization

 수동적인 방법에서 위치 추정 모듈은 로봇의 동작만을 보여주고 있으며, 로봇은 다른 요인들로 제어되고 로봇의 동작은 위치 추정에 사용되지 않습니다 예를 들면 오늘날에 로봇은 임의의 장소로 움직일것입니다.

 

- 활성 위치 추정 active localization

 활성 위치 추정 문제는 위치 추정의 에러를 최소화 하거나 위험한 공간에서 위치 추정 비용이 증가하는 경우 로봇을 제어합니다.

 

그림 7.2 대칭 환경에서 전역 위치 추정중 신뢰도 상태를 보여주는 예시 상황. 로봇은 방에 들어가야 실제 위치를 구할수 있습니다

 

 

 위치 추정에서 활성 방법은 수동적인 것보다 더 나은 위치 추정 성능을 보이는데 이미 이 책의 소개에서 다루어봤습니다. 2번째 예시로 그림 7.2가 되겠는데, 로봇은 대칭하는 복도에 위치해 있고, 주행 후의 신뢰도가 대칭적인 2 장소로 중심을 가지고 있습니다. 대칭적인 환경은 로봇이 어디에 있는지 추정이 불가능하게 만드는데, 로봇을 방안에 들어가게 함으로써 애매함을 제거하고 위치를 결정시킬수 있습니다. 이러한 경우 활성 위치 추정으로 더 나은 결과를 구할수 있는데, 로봇을 방으로 보낼때 까지 기다리기 보다, 활성 위치 추정은 교착 상태를 인지하여 바로 거기로 보낼수 있습니다.

 

 하지만 활성 방법의 문제는로봇의 제어권을 필요로 하는점이며 현실적으로 활성 위치 추정 기술은 부족한 점이 있습니다. 로봇이 위치 추정보다 다른 작업을 수행할때 위치 추정을 수행하여야만 합니다. 몇몇 활성 위치 추정 기술들은 동적인 기술들의 정점으로 다른 방법은 로봇을 제어 할때 위치 추정을 수행할수있도록 정능제어도 포함하고 있습니다.

 

단일 로봇 대 다중 로봇 single robot versus multi robot

 위치 추정문제의 4번째로는 다루어야 하는 로봇의 갯수가 있습니다.

 

- 단일 로봇 위치 추정

 대부분의 연구들은 단일 로봇들에 대한 위치 추정을 다루는데 이는 단일 로봇 플랫폼에서 수집한 모든 데이터를 사용하고, 커뮤니케이션 문제도 없습니다.

 

- 다중 로봇 위치 추정

 이 문제는 로봇들을 사용하는 경우로 각각의 로봇은 개별적으로 위치를 추정할수 있기 때문에 이런 단일 로봇 위치 추정을 통해 다중 로봇 위치 추정도 풀수 있을것 같습니다. 하지만 로봇이 각자 감지를 한다면 더 나아질수 있는 가능성이 있게 됩니다. 이는 두 로봇 사이 상대적인 거리를 안다면 한 로봇의 신뢰도가 다른 로봇의 신뢰도의 기준으로 사용될수 있기 때문입니다. 다중 로봇 위치 추정에 대한 관심은 커지고 있는 중이고, 이들 사이의 신뢰도나 의사소통 문제가 주요 이슈가 되어지고 있습니다.

 

 이러한 4가지는 이동 로봇 위치 추정에서 가장 중요한 특성들을 보여주고 있습니다. 여기에는 이 문제에 영향을 주는, 동작 후 정보 손실같은 다른 수많은 어려움도 있습니다. 또 대칭 환경에서는 애매함이 커지기 때문에 비대칭인 공간보다 더 어렵기도 합니다. 여기서 살펴본 서로 다른 위치 추정문제를 이용하여 알고리즘들을 더 살펴보겠습니다.

300x250

+ Recent posts