728x90

8.3 몬테카를로 위치추정 Monte Carlo Localization

8.3.1 몬테카를로 위치 추정 알고리즘 MCL Algorithm

 이번에는 신뢰도 bel($x_t$)를 파티클로 나타내는 위치 추정 방법을 살펴보겠습니다. 이를 몬테카를로 위치 추정 MCL이라고 하는데, 그리드 기반 마르코브 위치 추정처럼 MCL은 지역과 전역 위치 추정문제에 사용할수 있습니다. 이 방법은 비교적 오래되지는 않았지만 이미 로봇 공학에서 가장 많이 사용하는 위치 추정 알고리즘중하나가 되었습니다. 이 방법은 구현하기 쉽고 위치 추정문제에서 넓게 잘 동작하는 모습을 보여줍니다.

 

 표 8.2 MCL or Monte Carlo Localization, 파티클 필터 기반 위치 추정 알고리즘

 

 표 8.2는 기본적인 MCL 알고리즘을 보여주며, 표 4.3의 파티클 필터에 적절한 확률적 동작 모델과 측정 모델을 대입하여 구할수 있습니다. 기본적인 MCL 알고리즘은 신뢰도 bel($x_t$)를 M개의 파티클 집합 $\chi_t$ = {$x_{t}^{[1]}$, $x_{t}^{[2]}$, $x_{t}^{[3]}$, . . ., $x_{t}^{[M]}$}로 나타냅니다. 표 8.2의 4번째 줄은 현재 신뢰도를 시작점으로 파티클을 사용해 동작 모델로부터 샘플링을 수행합니다. 5번째 줄에서는 파티클의 중요도 가중치를 구하기 위해 빔 측정모델이 사용되는데, 초기 신뢰도 bel($x_0$)는 사전 확률 분포 p($x_0$)에서 파티클 M을 임의로 생성하고 각각의 파티클에 대해 $M^{-1}$ 균일 중요도 가중치를 할당하여 얻을 수 있습니다. 그리드 위치 추정으로서 동작 모델과 측정 모델은 5장이나 6장의 어느것을 사용해도 됩니다.

 

 

그림 8.11 이동 로봇의 위치 추정에 파티클 필터가 적용된 몬테카를로 위치 추정

 

 그림 8.11은 1차원 복도 예시에서 MCL을 사용한 경우를 보여주고 있습니다. 초기 전여 불확실성은 그림 8.11a처럼 전체 공간에 균일한 임의의 파티클을 그려 만들수 있고, 로봇이 MCL 알고리즘의 5번째 출에서 문을 감지할 경우 각각의 파티클의 중요도 요소를 줍니다. 그림 8.11b가 그 결과인 파티클 집합을 보여주고 있는데 이 그림에서 각 파티클들의 높이가 중요도 가중치가 됩니다. 여기서 그림 8.11a에서 사용한 파티클 집합과 동일한 것이 중요한데, 이들은 측정 갱신에 의해 중요도 가중치가 변경됩니다.

 

 그림 8.11c는 MCL 알고리즘의 8~11줄에서 수행하는 리샘플링 후와 로봇 동작(4번째 줄)을 반영한 후 파티클 집합을 보여주고 있습니다. 이렇게 하여 새로운 파티클 집합은 균일 중요도 가중치를 가지게 되나 세 장소 근처에 파티클 수가 증가하였습니다. 그림 8.11d에서 새로운 관측은 파티클 집합에 균일 분포를 따르지 않는 중요도 가중치를 주는데, 이때 누적 확률 질량은 2번째 문을 중심으로 하게 되며 실제 로봇이 있는 가능성있는 위치가 됩니다. 더 나아가 동작은 다른 리샘플링 단계를 수행시키게하고, 새로운 파티클이 동작 모델에 따라 생성됩니다(그림 8.11e). 이 예시로 부터 파티클은 올바른 사후확률을 근사화 시키며 베이즈 필터로 계산된것이 됩니다.

 

그림 8.12 몬테카를로 위치 추정 예시. 여기서 54m x 18m인 사무실 공간에서 수행하였습니다.

(a) 5m 이동한 후 로봇은 여전히 자세에 대해 높은 불확실성을 가지고 파티클들이 넓게 퍼져있습니다.

(b) 로봇이 지도의 왼쪽 위 코너에 도달할때 신뢰도가 4가지 지점으로 모여들게 됩니다.

(c) 약 55m정도 이동한 후에 이 애매함이 해결되어 로봇은 자신의 위치를 알게 됩니다. 이 전체 계산과정은 저성능 PC에서 실시간으로 수행되었습니다.

 

 그림 8.12는 실제 사무실에서 여러개의 초음파 거리계를 장비한 로봇으로 MCL을 사용한 결과를 보여주고 있습니다. 각 그림들은 5, 28, 55m 이동한 후에 파티클의 집합을 보여주며 각각의 파티클 집합은 3차원 자세에서 정의되며 그림 상으로 각각의 파티클들은 x, y 좌표만 보여주고 있습니다.

 

 

그림 8.13 천장을 보는 카메라를 이용한 전역 위치 추정

 

 그림 8.13은 카메라를 천장으로 향하도록 하였고, 이전에 획득한 천장 지도에 이미지 중심에서의 밝기를 이용한 관측모델이 사용되었습니다.

 

8.3.2 MCL의 성질들

 MCL은 현실적으로 사용되는 어느 분포든 근사화 시킬수 있습니다. 그래서 EKF 위치 추정과같은 제한된 모수적인 분포에만 한정되지 않습니다. 근사의 정확도는 파티클 집합 M의 크기에 따라 결정되는데 전체 파티클의 개수를 늘릴수록 근사 정확도가 증가하게 됩니다. 파티클개수 M는 MCL을 동작시킬때 정확도와 계산 자원을 트레이드 오프 할수있는 파라미터가 됩니다. 일반적인 방법은 M를 다음 $u_t$와 $z_t$를 할떄까지 유지 시킵니다. 이 방법은 계산 자원에 따라 적응할수 있도록 구현이 가능한데, 프로세서가 더 빠를수록 더 나은 위치 추정성능을 구할수 있습니다. 이러한 자원 적응적인 방법은 그리드 위치 추정이나 가우시안 방법들의 경우 수행하기 어렵습니다.

 

 마지막으로 MCL의 이점은 근사시 비모수적인 방법을 사용하고, 위에서 본 설명들은 MCL이 멀티모달 확률 분포로 보여주며, 이들이 중심이 되는 가우시안 분포들로 섞이게 됩니다. 이는 MCL이 전역 위치 추정 문제를 높은 신뢰도를 가지는 위치 추적을 할수 있는 능력을 보여주고 있습니다.

300x250
728x90

8. 그리드와 몬테카를로 위치 추정 grid and monte carlo localization

8.1 소개

 이번에는 전역 위치 추정을 다룰수 있는 두가지 위치 추정알고리즘들에 대해 살펴보겠습니다. 이 알고리즘들은 이전 장에서 살펴본 가우시안 기술들과는 많은 다른점을 가지고 있습니다.

 

- 이 알고리즘은 센서 측정치를 그대로 처리하며, 센서 값에서 특징을 추출할 필요가 없습니다. 즉, 부정 정보들도 처리가 가능합니다.

 

- 이들은 비모수적으로, EKF 처럼 유니모달 분포에만 한정되지 않습니다.

 

- 이들은 전역 문제와 로봇 납치 문제들을 다룰수 있는데 EKF나 MHT는 이런 문제들을 대처할수 없습니다. 하지만 MHT는 수정하면 전역 문제를 풀수 있기는 합니다.

 

 여기서 설명하는 기술들은 로봇공학 분야의 여러 방면에서 좋은 성능을 보여주고 있습니다. 첫번째 기술은 그리드 위치 grid localization 추정으로 사후확률 신뢰도 나타내기 위해서 히스토그램 필터를 사용합니다. 이 그리드 위치 추정을 구현할때 많은 문제점이 발생하는데 그리드의 간격이 좁을수록 계싼 비용이 커지게 되어 이 알고리즘이 심하게 느려질수도 있습니다. 그리드가 큰 경우에는 이산화 과정에서 정보의 손실이 발생하여 적절히 대처하지 않는다면 필터에 부정적인 영향을 줄수도 있어 필터의 동작을 방해할수도 있습니다. 

 

 두번째 방법으로 몬테카를로 위치 추정 Monte carlo localization MCL 알고리즘이라 하며 오늘날 많이 사용되고 이씃ㅂ니다. 이 방법은 로봇의 자세에 대해 사후확률을  파티클 필터로 추정을하며 MCL의 많은 단점들이 다루어져, 로봇 납치문제나 동적인 환경에 적용할수 있는 기술들이 소개되었습니다.

 

 이번 장에서 살펴볼것은 오늘날 가장 성공적인 것들로 적절히 구현하면 이 기술들은 로봇을 전역적으로 위치를 추정하고 위치 추정 실패에서도 복원할수 있게 됩니다. 이 능력들은 신뢰할수 있는 로봇 동작이 요구되는 다양한 응용분야에서 사용되고 있습니다.

 

8.2. 그리드 위치 추정

8.2.1 기본 알고리즘

 그리드 위치 추정은 그리드로 된 자세 공간 전반을 히스토그램을 사용하여 사후확률을 근사화 하며, 이산 베이즈 필터에 대해 이미 4.1장 표 4.1에서 살펴보았습니다. 여기서 사후확률을 이산 확률로 다루며 값은 아래와 같습니다.

 각 확률 $p_{k, t}$는 이산 셀 $x_k$에 대한 확률로 정의되며, 모든 그리드 집합이 자세 공간을 형성하게 됩니다.

 그리드 위치 추정의 기본 버전에서 모든 자세 공간 영역들은 시불변이되고, 각 그리드 셀은 같은 사이즈로 이루어 집니다. 실내에서 흔히 사용되는 크기는 x-y 공간상에서 15cm정도 되고 회전 차원 상 5도 정도로 됩니다. 더 작을수록 좋은 결과를 구할수 있으나, 계산 비용이더 커지게 됩니다.

 

표 8.1 그리드 위치 추정, 이산 베이즈 필터의 변형. 함수 동작 모델은 동작 무델 중 하나를, 관측 모델은 센서 모델 중 하나를 구현하면 됩니다. 여기서 함수 mean은 그리드셀 $x_k$으 중심을 반환합니다.

 

 그리드 위치 추정은 기본적으로 이산 베이즈 필터와 동일하나 표 8.1은 기본적인 구현에 대한 슈도 코드를 보여주고 있습니다. 여기서 입력으로 이산 확률값인 {$p_{t-1, k}$}와 최근 측정, 제어, 그리고 지도 값이 사용됩니다. 내부 루프에서는 모든 그리드셀 전방에 반복을하고 3번째 줄은 동작 모델 갱신, 4번째 줄은 측정 갱신이 수행됩니다. 마지막 확률은 4번째 줄에서 정규자 $\eta$를 사용하여 정규화 되어집니다. 함수 motion_model 과 measurement_model은 5장이나 6장의 동작 모델과 측정 모델을 사용하여 구현될수 있습니다. 표 8.1의 알고리즘은 각 셀이 같은 크기를 가지고 있다고 가정하여 동작합니다.

 

그림 8.1 미터 분해 metric decomposition를 이용한 그리드 위치 추정.. 각 그림은 복도에서 신뢰도 bel($x_t$)를 사용하여 로봇의 자세를 그리드 상 히스토그램으로 보여주고 있습니다.

 

 그림 8.1은 1차원 복도에서 그리드 위치 추정을 보여주고 있습니다. 그림은 일반적인 베이즈 필터에서와의 동일하나 차이는 이산 영역에서 표현하는 점입니다. 로봇은 시작하기전에 전역적인 불확실성을 가지므로 균일 분포로 표현하였으며,  관측이 될때 거기에 알맞은 그리드 셀들의 확률 값이 증가하게 됩니다. 이 예제에서는 그리드 위치 추정의 다중 모달 분포를 나타내는 능력을 보여주고 있습니다.

 

 

8.2 그리드 해상도 grid resolution

 그리드 위치 추정기의 주요 변수는 그리드의 해상도입니다. 이는 후순위 일수도 있긴한데 센서 모델이나 갱신시 계산 그리고 결과 타입 모두가 그리드의 해상도에 의존하게 됩니다.

 

그림 8.2 로봇의 자세 변수 x, y $\theta$에 대한 고정 해상도 그리드 예시. 각 그리드 셀은 로봇의 자세를 나타내며, 로봇의 방향 차이는 그리드의 다른 평면에 대응합니다. 

 

그림 8.5 이동로봇 위치 추정의 굵은 토폴로지 표현법 응용예시. 각 상태들은 구분 가능한 장소에 대응하며, 상태에 있어서 로봇의 신뢰도 bel($x_t$)는 원의 크기로 표기됩니다. (a) 초기에는 모든 자세에 대해 초기 신뢰도가 균일하며 (b) 로봇이 상태 전이를 하고 문을 감지한 후에 신뢰도를 보여주고 있습니다. 이 때 로봇은 왼쪽에 존재하지 않음을 알 수 있습니다.

 

 로봇 공학 분야에서 잘 사용되어온 두가지 표현 방법이 있는데 

- 굵은, 변수-해상도 그리드 coars, varaible-resolution grid

 어떤 경우에는 자세 공간을 장소에 적합하게 분해하는 경우가 있습니다. 그러한 장소는 문이나 창같은 특정한 랜드마크로 정의할 수 있을것이고, 복도 환경에서는 교차로, 사거리나 끝 부분에 해당할수도 있을겁니다. 이런 표현방법에서 분해 시 해상도는 환경의 구조에 의존적이게 되어 그 구조들을 따르게 됩니다. 그림 8.5는 1차원 봉도 예제에서 굵은 표현법을 보여주며 이 굵은 표현법은 공간에 대해 토폴로지 표현법과 연관됩니다.

 

- 작은-고정 해상도 그리드 find fied-resolution grid

 다른 방법은 상태 공간을 동일한 크기의 그리드로 분해하는데 이 분해시 해상도는 변수 해상도 그리드보다 훨씬 커지게 됩니다. 7장에서 일부 예시에서 15cm 정도 셀사이즈로 그리드를 분해하였는데, 이렇게 하여 이들은 더 정확해재ㅣ지만 계산 비용이 증가하게 됩니다. 그림 8.2는 고정 그리드 해상도를 보여주고 있습니다. 이와 같은 작은 해상도는 공간 미터 표현법과 관련이 됩니다.

 

 굵은 해상도를 가진 그리드 위치 추정기를구현할때 해상도의 거침에 따라 센서 모델과 동작 모델에 보상해주는것이 필수적입니다. 레이저 거리계 같은 고해상도 센서의 경우에 측정 모델 p($z_t$ | $x_t$)의 값은 그리드 셀 $x_{k,t}$안에서 매우 급격하게 바뀔수 있습니다. 이런 경우 중심에서 평가를 하면 좋지 않은 결과를 얻을 수 있습니다. 비슷하게 중심에서 로봇의 동작을 예측 시에도 좋지 못한 결과를 얻을수 있습니다. 만약 그리드 해상도가 1m이고, 로봇이 10cm/sec로 움직이는데 1초 주기로 동작을 갱신하면, 상태전이시 좋은 결과를 구하지 못할겁니다. 이는 그리드 셀의 중심에서 10cm를 갔다고 하더라도 같은 그리드 셀안에 존재하는것으로 보기 때문입니다.

 

 이 효과를 보상하기 위한 방법으로 노이즈의 크기를 키우도록 측정과 동작 모델을 바꾸는것인데 예를들어 가우시안인 거리계의 분포를 그리드 셀의 지름 절반보다 크게 할 수 있겠습니다. 이렇게 하면 새 모델은 더 부드러워지고 정확한에 대해 구한 위치는 덜 확실해질것입니다. 하지만 수정된 측정모델이 얻은 정보를 줄여 위치 추정의 정확도를 줄이게 될것입니다.

 

 비슷하게 동작 모델은 동작의 길이에 비례하는 확률만큼 근처 셀에서 임의의 전의가 예측될탠대 이러한 부풀려진 동작 모델의 결과는 연속적인 갱신에서 동작이 그리드 셀의 사이즈 보다 작을지라도 기존의 셀에서 다른곳으로 이동한것이 될 수 있습니다. 하지만 결과로 나온 사후확률은 잘못되었으며, 비합리적으로 큰 확률이 로봇 동작 갱신시 가정으로 존재하게 될것입니다.

 

 

8.2.4 설명

그림 8.6 레이저 거리계 데이터를 사용한 전역 위치 추정.

(a) 로봇의 시작점에서 레이저 거리계 스캔(최대 거리 측정치는 생략됨)

(b) 균일 분포로 시작하여 이 레이저 스캔을 반영한 후 상황

(c) 2번쨰 스캔

(d) 결과 신뢰도. 그림 (e)의 마지막 스캔을 반영한 후의 결과

(f) 로봇의 신뢰도로 실제 위치

 

 그림 8.6은 공간 해상도가 15cm, 각 해상도가 5도인 미터 그리드에서 마르코브 위치 추정 예시를 보여주고 있습니다. 여기서는 두개의 레이저 거리계가 장착된 로봇을 사용하여 전역 위치 추정을 수행해서 자기 자신으 ㅣ위치를 처음부터 찾게 됩니다 .거리계의 확률 모델은 6.3장의 빔 모델과 표 8.1에 따라 계산됩니다.

 

그림 8.7 소나 데이터를 사용해서 사무실에서의 전역 위치 추정

(a) 로봇의 주행 경로

(b) 위치 1을 통과할때 신뢰도

(c) 로봇이 몇 미터 동작 후, 로봇은 복도 상 어딘가에 있음을 알게됩니다.

(d) 로봇이 위치 3에 도달하여 복도 끝을 스캔하고, 분포가 2개의 지역 최고점에 집중하게 됩니다. 최고점 라밸 I는 실제 로봇의 위치이고 2번째는 복도의 대칭성 때문에 생기게 됩니다.(위치 II는 위치 1의 180도 회전이 됩니다.)

(e) 올바른 위치 I에서 방 A로 들어간 후에 확률은 위치 II에 있던 확률보다 더 커지게 됩니다.

(f) 로봇의 신뢰도는 올바른 자세를 중심으로 모이게 됩니다.

 

 초기에 로봇의 신로도는 로봇 자세 공간 전체에 균일하게 분포되어 있습니다. 그림 8.6a가 시작 점에서 레이저 거리계 스캔을 보여주고 있는데 여기서 최대 거리 측정치는 생략되고 관련된 지도 영역들은 회색으로 그림자가 쳐졌습니다. 이 센서 스캔을 합찬 후에 로봇의 위치는 작은 영역 공간이 되어 그림 8.6b에 회색으로 보여주고 있습니다. 이때 신뢰도는 -x-y 공간에 사영되는데 실제 신뢰도는 3차원으로 이루어져 로봇의 방위 $\theta$는 생략 됩니다. 그림 8.6d는 로봇이 2m 이동 후 그림 8.6c에서 보여주는 스캔을 반영한 신뢰도를 보여주고 있습니다. 자세 추정시 확실성이 증가하고 전역 최대치 신뢰도가 실제 로봇의 위치에 맞게 됩니다. 그림 8.6e에서는 다른 스캔이 신뢰도에 반영된 후로 로봇이 마지막으로 스캔하는 모습을 보여주고 있습니다. 이제 모든 확률 질량들은 실제 로봇의 자세에 중심을 가지게 되며 그림 8.6f와 같습니다. 이 때 로봇이 성공적으로 위치 추정이 되었다고 할 수 있으며  이 예시는 그리드 위치 추정이 로봇의 위치를 효율적으로 추정해 나가는것을 볼수 있습니다. 다음예시는 그림 8.7에서 보여주고 있습니다.

 

그림 8.8 1994년 AAAI 이동로봇 경연에서 사용한 점유 격자 지도

 

그림 8.9 (a) 그림 8.8의 환경에서 수집한 데이터 셋(오도메트리, 소나 거리 스캔). 이 데이터 집합은 그리드 위치 추정으로 전역 위치 추정에 충분합니다.

(b) - (d) 점 "A", "B", "C"에서의 신뢰도를 보여주고 있습니다.

 

 물론 전역 위치 추정은 성공하기 위해서 추가적인 센서 스캔이 필요할수도 있습니다. 이러한 경우는 대칭적인 환경으로 만약 센서가 레이저 센서보다 덜 정확환 경우입니다. 그림 8.8 ~ 8.10은  소나 센서만 장치된 이동로봇을 사용하여 전역 위치 추정을 사용한 예시로 같은 폭을 가진 많은 복도들이 존재하고 있습니다. 그림 8.8에서 점유 격자 지도를 보여주고 있으며 그림 8.9a는 복도를 따라 이동하면서 얻은 데이터 셋을 보여주며, 그림 8.9a에서 각 빔은 소나의 측정치에 대응합니다. 이런 식으로 벽은 부드럽고 소나 값에 크게 손상됩니다. 소나의 확률적 모델은 6.3에서 설명한 빔 기반 모델을 사용하고 있습니다. 그림 8.9는 추가적으로 시간에 대해 3개의 다른 지점에서의 신뢰도를 보여주며 그림 8.9a에서 "A", "B", "C"로 되어있습니다. 로봇이 5개의 소나 스캔을 반영하면서 3미터를 이동한 후에 신뢰도는 그림 8.9b와 같이 동일한 

300x250
728x90

7.8 현실적인 고려사항 practical considerations

 EKF와 MHT 위치 추정알고리즘은 위치 추적에서 주로 사용되는 기술들로 이 알고리즘에 효율성과 강인함이 향상된 다양한 변현들이 있습니다.

 

- 효율적인 탐색 efficient search

 첫번재로 지도가 주어질때 모든 랜드마크 k를 다루기는 불가능할수도 있습니다. 이때 상수 갯수의 식별하는대 적합한 후보 랜드마크들을 사용할 수 있는데, 이런 알고리즘은 기존의 것보다 더 빠르게 동작할수 있습니다.

 

- 아웃라이어 outlier

 여기서 구현시에는 아웃라이어 문제를 다루지는 않았습니다. 이전에 6.6장을 다시 생각해보면, 지도상에 랜드마크가 N개가 존재하지만 대응관계 c = N + 1인 경우를 다루었었는데, 아웃라이어의 사전 확률을 $\pi_{N+1}$로 설정한다면 표 7.3의 EKF 위치추정 16번째 줄 단계에서 측정 벡터가 아웃라이어 같은 경우에 N + 1을 디폴트로 설정하면 됩니다. 그러면 아웃라이어는 로봇 자세에 어느 정보를 줄수 없게 되며 이에 대한 대응관계에 있어서 18, 19번째 줄은 생략하게 됩니다.

 

 EKF와 MHT 위치추정 둘다 위치 추적 문제에서 사용됩니다. 특히 선형화된 가우시안 방법들이 불확실성이 적은 경우에 잘 동작하는데 여기에는 3가지 보충 이유가 있습니다.

 

- 유니모달 가우시안은 불확실성을 다루는데 좋은 방법이지만 전역 위치추정 문제에서는 좋지 못합니다. EKF와 MHT는 둘다 단일 유니모달 가우시안으로 시작하지만 MHT는 잠재적으로 여러개의 지역적인 가우시안으로 나뉠수가 있습니다.

 

- 폭이 좁은 가우시안은 대응관계 판단에 있어 오류의 위험을 줄여줍니다. 이는 EKF를 사용할때 중요한데 하나의 잘못된 대응관계가 위치 추정과 대응관계에 에러를 일으켜 위치 추적을 실패하게 만들기 때문입니다. MHT는 가우시안 혼합에서 올바른 대응관계가 존재하지 않아 동일하게 실패하더라도 이 문제에 더 강건합니다.

 

- 테일러 전개는 점 선형화에 좋은 성능을 보이는데, 방위 $\theta$의 표준편차가 20도 이상이 된다면 선형화로 인해 알고리즘이 실패하게 됩니다. 이 문제는 EKF와 MHT 둘다 똑같고, 이는 MHT가 전역 위치 추정에 사용되지 못하는 이유이기도 합니다.

 

 이러한 이유들로 가우시안 위치 추정 알고리즘은 전역 위치 추정이나 로봇 납치 문제에 사용할수가 없습니다.

 

 EKF 위치 추정에서 적절한 특징 설계는 약간 전문적일수도 있는데 여러 목표를 달성해야만 하기 때문이다. 한편으로 로봇의 위치 추정시 불확실성을 작게 하기 위해서 많은 특징들을 다루길 원하는 경우도 있습니다. 작은 불확실성의 중요성은 이미 설명했고, 다른 경우 랜드마크가 서로서로 구분하기 힘들거나 특징 감지기가 잘못된 특징을 감지하는 경우를 줄여야 될 수도 있습니다. 대부분의 경우 신뢰하기 쉬운 랜드마크를 많이 가지고 있지 않으므로, 랜드마크의 분포들을 이용하여 구현이 됩니다. 여기서 MHT가 이점을 가지고 있는데 이런 데이터 연관 문제에 더 강인하기 때문입니다. 랜드 마크의 수가 클수록 성능은 더 나아지겠지만, 랜드마크들이 밀집 된경우 데이터 연관에 있어 상호배제 원칙에 치명적이게 됩니다.

 

 마지막으로 EKF는 센서 측정에서 정보의 일부만 사용하는 과정을 살펴보았습니다. 가공되지 않은 측정치에서 특징을 구함으로서 처리될 정보량이 매우 줄어들게되고, EKF 위치 추정은 부정 정보를 처리하지 못합니다. 부정 정보 negative information은 미래에는 사라질겁니다. 예를들면 파리에서 에펠탑을 보지 못한다는 거싱 우리가 거기 옆에 있지 않다는 말이 아닌게 됩니다. 이 부정 정보의 문제는 비 가우시안 신뢰도를 발생시켜 평균과 분산으로 나타낼수 없게 됩니다. 이런 이유로 EKF 구현시 부정 정보 문제를 무시한 채로 관측하 특징 정보들만 합치게 됩니다. 표준 MHT 또한 부정 정보를 피하나 이 부정정보에 혼합 가중치를 반영함으로써 랜드마크 관측을 실패한 혼합 요소를 제거할수 있습니다.

 

 이런 문제점들이 있지만 이게 가우시안 방법들을 일반 위치 추정 문제에 적용할수 없다는 말이될까요? 답은 아닙니다. 성공적인 위치 추정의 열쇠는 데이터 연관 접근 방법에 있어 후에 대응관계를 다루는 더 복잡한 기술들을 살펴보겠습니다. 대부분의 이러한 기술들은 가우시안 방법에 적용가능하고, 이를 이용한 알고리즘은 최고의 결과를 보여주고 있습니다.

 

 

7.9 정리

 이번 장에서는 이동 로봇의 위치 추정 문제와 현실적인 알고리즘을 개발해보았습니다.

 

- 위치 추정 문제는 알려진 지도에 상대적인 로봇의 자세를 추정하는 문제입니다.

 

- 위치 추적은 초기 위치가 알려진 로봇의 불확실성을 수용하는 문제로 다룰수 있고, 전역 위치 추정은 더 일반적인 문제가 됩니다. 납치는 이미 위치를 잘 구하는 로봇이 갑자기 다른 곳으로 이동된 경우 위치 추정을 다루는 문제로 이 세가지 위치 추정 문제 중 가장 어렵습니다.

 

- 위치 추정의 어려운 점은 시간이 흐르면서 환경이 변하는것인데, 대부분의 알고리즘은 정적인 환경을 가정하고 있습니다.

 

- 수동적인 위치 추정 접근 방법은 필터로 이들은 정보를 얻되 이 정보로 로봇을 제어하지 않습니다. 능동 기술들은 로봇을 제어하구요.. 이 기술은 이번장과 다음장에서 수동적인 방법에 대해서 살펴보고, 능동적인 방법 차후에 사펴보겠습니다.

 

- 마르코브 위치 추정은 이동 로봇의 위치 추정 문제에 베이즈 필터를 적용한 다른 이름을 말합니다.

 

- EKF 위치 추정은 확장 칼만 필터를 위치 추정 문제에 적용한것으로 주로 특징 기반 지도에서 사용되고 있씁니다.

 

- 대응 관계 문제를 다루는 가장 흔한 기술은 최대 우도 기술이 있습니다.

 

- 다중 가정 추적 알고리즘 MHT는 혼합 가우시안으로 사후확률을 표현하며, 다중 대응관계를 다룹니다. 혼합 요소들은 동적으로 만들어지고 최대 우도가 사용자가 설정한 임계치 아래로 떨어지면 제거됩니다.

 

- MHT는 EKF보다 데이터 연관 문제에서 더 강인하나 계산 비용이 증가하게 됩니다.

 

- EKF와 MHT 위치 추정 문제 둘다 불확실성이 제한되고 구분되는 특징을 가진 환경이 주어지는 지역 위치 추적에서 잘 동작하게 됩니다. 하지만 전역 위치 추정이나 대부분의 물체가 비슷하게 보이는 환경에서는 적합하지 않습니다.

 

- EKF와 MHT에서 특징을 구하기 위해서는 기술이 필요합니다. 두 알고리즘의 성능은 데이터 연관시 상호 배재를 강화하는 것 처럼 많은 측정 수로 개선될 수 있습니다.

 

 다음 장에서는 전역 위치 추정 문제나 동적 환경에서 위치 추정 문제같은 더 일반적인 위치 추정 문제를 다루는 확률적인 위치 추정 기술들을 살펴보겠습니다.

300x250
728x90

7.7 다가정 추적 multi hypothesis tracking

 충분히 신뢰할수있는 데이터 연관이 실패하는 상황들에 대응하기 위해 기본 EKF를 개선한 많은 알고리즘들이 존재합니다. 이런 것들은 차후에 살펴보고 여기서는 간단하게만 다루겠습니다.

 

 데이터 연관의 어려움을 극복하는 고전적인 기술로 다가정 추적 알고리즘 multi hypothesis tracking algorithm MHT가 있습니다. MHT는 혼합된 사후확률을 가우시안의 곱으로 나타내며 아래와 같습니다.

 

 여기서 l은 혼합 요소 mixture component의 인덱스 번호로, 그러한 요소들(MHT의 단어에서 트랙)은 각자 평균 $\mu_{t,l}$과 공분산 $\Sigma_{t, l}$인 가우시안이며, 스칼라 $\psi_{t, l}$ >=0은 혼합 가중치가 됩니다. 이 값은 사후확률에서 l번째 혼합 요소의 가중치 값이 되는데 사후 확률은 $\Sigma_{t} \psi_{t,l}$로 정규화 되기 때문에 $\psi_{t, l}$은 상대적인 가중치라서, 다른 혼합 가중치의 크기에 영향을 받게 됩니다.

 

 아래의 MHT 알고리즘을 볼때 각각의 혼합 가정들은 고유의 데이터 연관 과정을 수행하게 되는데, l번째 트랙의 데이터 연관 벡터를 $c_{t,l}$라 하고, $c_{1:t, l}$은 l번째 혼합 요소의 과거에서 현재 전체의 데이터 연관을 의미한다고 합시다. 이 표기법에 따라서 고유 순차적인 데이터 연관이 주어질때 지역적인 신뢰도 함수를 혼합 요소를 사용해서 다음과같이 정리 할 수 있습니다.

 여기서 $c_{1:t, l}$ = {$c_{1, l}$, c_{2, l}$, . . ., c_{t, l}$}으로 l번째 트랙에서 대응관계 벡터의 시퀀스를 의미합니다.

 

 MHT를 다루기 이전에 MHT로 추적이 불가능한 경우를 살펴보겠습니다. 이 알고리즘은 알수없는 데이터 연관을 수행하는 EKF의 완전 베이지안 구현체로 가장 가능성있는데 이터연관벡터를 선택하는 대신 모두 포함하고 있는 알고리즘이 됩니다. 여기서 고유 대응관계 백터 $c_t$가 주어질때 시간 t에서 각각의 혼합들은 다른 새로운 혼합으로 분리될수 있습니다. 이 새로운 가우시안 중 하나의 인덱스를 m이라 하고, 대응 관계 $c_{t, l}$에 대해 l을 사용할 강시안의 인덱스라 합시다. 새 혼합의 가중치는 다음과 같이 정리됩니다.

 

 

 이는 새로운 혼합 요소를 구한데 필요한 특정 대응관계 백터가 주어질때 측정 $z_t$의 우도를 혼합 가중치 $\psi_{t,l}$를 곱한 것이며, 이는 대응 관계를 잠재 요소로서 혼합 요소를 나타내는 사후 확률 우도를 계싼한 것이 됩니다. 이 방법의 장점은 이미 식 (7.32)에서 측정 우도 p($z_t$ | $c_{1:t-1}$, $c_{t,m}$, $z_{1:t-1}$, $u_{1:t}$)를 알고있는 점이며 이는 표 7.3 알고리즘의 13번째 줄에서 개별적인 특징 우도의 곱 $\prod \pi_k$가 됩니다. 그래서 각각의 새 요소에 대해 혼합 가중치를 계산할수 있습니다.

 

 

 MHT알고리즘은 혼합 가정의 수를 줄여 이 알고리즘을 근사시킬수 있는데, 모든 요소의 상대적인 가중치가 임계치 $\psi_{min}$보다 작은 경우 제거합니다. 그래서 MHT는 효율적으로 갱신되는 사후확률을 가지게 되며, 작은 수의 가우시안을 사용하여 근사시켜 가능성있는 로봇의 위치 갯수는 매우 줄게 됩니다.

 

 여기서는 MHT 알고리즘 전반적인 설명은 생략하겠습니다. 하지만 MHT를 구현할때 시작하기전에 저우도추적을 사용하는것이 유용합니다. 

300x250
728x90

7.5 확장 칼만필터 위치 추정 EKF Localization

 확장 칼만 필터 위치 추정 or EKF 위치추정은 마르코브 위치 추정의 한가지 경우로, 이는 신뢰도 bel($x_t$)를 1, 2차 모멘트인 평균 $\mu_t$와 공분산 $\Sigma_t$로 나타냅니다. 기본 EKF 알고리즘은 3.3장의 표 3.3에서 설명하였고, EKF 위치 추정은 실제 로봇 문제에 EKF를 구현한게 됩니다.

 

 우리가 사용할 EKF 위치추정 알고리즘은 지도가 특징들로 이루어져있다고 가정하며, 시간 t에대한 어느 지점에서 로봇은 주위의 특징들 $z_t$ =  {$z_t^1$, $z_t^2$,, ...}까지의 방위와 거리에 대한 벡터를 측정하여 얻습니다. 우선은 모든 특징들을 유일하게 구분하수 있는 경우 부터 시작하겠습니다. 특징들의 유일성이 존재하는것은 나쁜 가정이 아닌데, 만약 파리에서 투어중일때 에펠탑은 다른 랜드마크와 햇갈리지 않은 랜드마크이며, 파리 전체에서 넓게 볼수있습니다.

 

 이 구분되는 특징을 대응관계 변수 correspondence variables 집합으로 표현되며 각각의 특징 벡터 $z_t^i$에 대해 $c_t^i$로 표기합니다. 대응관계 변수는 이미 6.6장에서 살펴봤지만, 우리의 첫 알고리즘에서는 이 대응관계를 알고있는것으로 가정해보겠습니다. 그러고나서 구분하기 애매한 특징들을 다룰수 있는 더 일반적인 버전으로 진행하겠습니다. 이 버전에서는 로봇은 특징의 시그니처 $s_t^i$를 구합니다. 두번째로 더 일반적인 버전은 대응 관계 변수 값을 추정하기 위해 최대 우도 추정기를 사용하는 버전으로 이 추정의 결과를 참값으로 사용하겠습니다.

 

 

그림 7.5 이동 로봇 위치추정에서 칼만 필터의 활용. 여기의 밀도 함수들은 유니모달 가우시안을 사용하고 있습니다.

 

7.5.1 설명

 그림 7.5는 확장 칼만 필터 알고리즘을 (그림 7.3의) 1차원 복도 환경에서 이동 로봇의 위치 추정에 사용하는것을 보여주고 있습니다. EKF에서 유니모달 형태의 신뢰도를 다루기 위해서 두가지 편리한 가정을 할건데, 모든 대응관계들을 안다고 가정하여 각각의 문에 (1, 2, 3)고유의 라벨을 줄 것이고, 측정 모델은 p($z_t$ | $x_t$, $c_t$), $c_t$ $\in$ {1, 2, 3}으로 시간 t에 대해 관측된 문을 구분할 수 있습니다.

 

 두번째로 초기 자세를 상대적으로 안다고 가정하겠습니다. 그림 7.5a에서 가우시안 분포로 초기 신뢰도를 보여주고 있으며 문 1에 가우시안의 불확실성의 중심이 위치하고 있습니다. 이 로봇이 우측으로 이동하면 가우시안 동작 모델과 이 신뢰도는 컨볼루션 하게 됩니다. 이동하여 얻은 신뢰도는 폭이 널ㄼ어진 가우시안으로 그림 7.5b와 같습니다.

 

 이제 문 $c_t$ = 2의 앞에서 문을 감지했다고 합시다. 그러면 그림 7.5c의 위 밀도함수는 관측치 p($z_t$ | $x_t$, m, $c_t$)를 보여주고 있으며, 이 관측 확률을 로봇의 신뢰도에 대입하여 그림 7.5c와 같은 사후확률을 구하게 됩니다. 결과로 구한 신뢰도의 분산이 이전의 로봇 신뢰도와 관측 밀도의 분산보다 작은 점을 볼수있는데, 이는 두 독립적인 추징치를 합친 경우 이전의 독립된 추정치보다 더 확실해지기 때문에 그렇습니다. 복도를 이동하면서 로봇의 불확실성은 더 증하게 되는데 EKF가 동작의 불확실성을 로봇의 신뢰도에 계속 반영시키기 때문입니다. 그림 7.5d는 이러한 신뢰도의 하나의 예시를 보여주고 있습니다.

 

7.5.2 EKF 위치 추정 알고리즘

 앞에서는 추상적으로 살펴봤는데, 적절한 동작 모델과 측정 모델, 그리고 EKF 갱신에 사용되는 많은 변수들을 알아봤습니다. 이번에는 특징 기반 지도에서 EKF 구현에 대해 다루어봅시다. 우리의 특징 기반 지도는 점 랜드마크로 구성되어있으며 6.2장에서 이미 소개하였습니다. 이런 점 랜드마크들에 대해서 6.6장에서 살펴본 일반 측정 모델을 사용할 것이고, 5.3장에서 본 속도 동작 모델을 적용하겠습니다. 이번 장을 읽기전에 측정과 동작 방정식에 대해 간단히 살펴보고 오면 더 좋겠습니다.

 

표 7.2 확장 칼만필터 위치 추정 알고리즘. 특징 기반의 지도와 거리 방위 측정 센서가 내장됨. 이 버전은 정확한 대응관계를 알고 있는 경우를 가정함.

 

 표 7.2은 알려진 대응관계를 가진 EKF 위치추정 EKF localization known correspondences 알고리즘을 보여주고 있습니다.  이 알고리즘은 표 3.3의 EKF에서 구하였으며, 입력은 시간 t-1에서 평균 $\mu_{t-1}$, 공분산 $\Sigma_{t-1}$에 대한 로봇 자세의 가우시안 추정치와 제어 $u_t$, 지도 m, 시간 t에 관측된 특징 집합 $z_t$ = {$z_t^1$, $z_t^2$, . . .}과 이에 대한 대응관계 변수 $c_t$ = {$c_t^1$, $c_t^2$, . . .}가 사용됩니다. 출력은 새로 구한 추정치 $\mu_t$, $\Sigma_t$가 됩니다.

 

 이 알고리즘에서 개별적인 연산은 아래에서 설명하겠는데 2~4번째 줄은 선형 동작 모델을 사용해서 동작 갱신을 구현한 것으로 동작 이후의 예측 자세 predicted pose가 2~4번째 줄에서 $\bar{\mu_t}$로 계산되며, 불확실성 타원도 uncertainty ellipse 같이 계산 됩니다. 5 ~ 15번째 줄은 관측 갱신을 구현하였는데, 이 갱신의 핵심은 시간 t에서 관측된 모든 특징 i들을 루프를 돌리게 됩니다. 7번째 줄에서 이 알고리즘은 관측 벡터의 i번째 특징 대응관계 j를 준비하고, 예측된 관측치 $\hat{z_t^i}$와 관측 모델의 자코비안 $H_t^i$를 계산합니다. 칼만 게인 $K_t^i$은 12번째 줄에서 각각의 관측된 특징들에 대해서 계산이 되는데, 14~15번째 줄에서 이 갱신치들의 합이 새로운 자세 추정에 적용이 됩니다. 주의할 점은 $H_t^i$의 마지막 행의 모든 값이 0이되는데 이는 시그니처 $s_t^i$는 EKF 갱신 결과에 아무런 영향을 주지 않기 때문입니다. 이는 올바른 대응관계들을 알고있기 때문에 놀라울게 아닙니다.

 

 

그림 7.6 확장칼만필터를 이용한 위치추정 예시. 로봇은 직선을 따라 이동하면서 불확실성이 점진적으로 증가하는데, 이를 에러 타원이 보여주고 있습니다. 위치를 알고있는 랜드마크가 관측되었을때 이 불확실성은 줄어듭니다.

 

 그림 7.6은 EKF 알고리즘을 단일 랜드마크가 존재하는 환경에서 사용하는것을 보여주고 있습니다. 로봇이 왼쪽에서 출발하여 움죽일수록 불확실성이 커지게 되지만. 랜드마크를 봄으로서 그 불확실성이 점진적으로 줄어드는것을 알 수 있습니다.

300x250
728x90

7.3 마르코브 위치 추정 markov localization

표 7.1 마르코브 위치 추정

 

 확률적 위치 추정 알고리즘은 베이즈 필터의 변형으로, 베이즈 필터의 직관적인 위치 추정 문제에 대한 직관적인 응용을 마르코브 위치 추정이라고 합니다. 표 7.1은기본 알고리즘을 보여주고 있습니다. 이 알고리즘은 (표 2.1) 기본 베이즈 필터로부터 구할수 있는데, 마르코브 위치 추정은 입력으로 지도 m을 필요로 하고있습니다. 이 지도는 4번째 줄에서 과 

관측 모델 p($z_t$ | $x_t$, m)에서 사용되고 있습니다. 하지만 3번째 줄 처럼 동작 모델 p($x_t$ | $u_t$, $x_{t-1}$, m)에서 사용되기도 합니다. 베이즈 필터처럼 마르코브 위치 추정은 시간 t-1에서의 확률적 신뢰도가 시간 t에 대한 신뢰도로 변환을 수행하며 전역 위치 추정, 위치 추적 문제, 로봇 납치 문제 등을 다루게 됩니다.

 

 초기 신뢰도 bel($x_0$)는 로봇의 초기 자세를 의미하는데, 위치 추정의 문제에 따라 다르게 설정됩니다.

 

- 위치 추적 position tracking

 초기 위치를 알고 있다면, bel($x_0$)는 점 질량 분포로 초기화되어 $\bar{x_0}$는 (알려진) 초기 자세를 의미합니다.

 

 점 질량 분포는 이산적으로 밀도를 소유하지 않습니다.

 현실적으로 초기 위치는 종종 근사되기도 하는데, 신뢰도 bel($x_0$)은 $\bar{x_0}$를 중심으로하는 좁은 가우시안 분포로 초기화 됩니다. 가우시안은 (2.4)에서 정의하였으며 다음과 같이 정리할 수 있습니다. $\Sigma$는 초기 자세 불확실성의 공분산이 됩니다.

- 전역 위치 추정 global localization

 만약 초기 자세를 알수 없다면, bel($x_0$)는 지도 모든 공간에 대해 균일 분포로 초기화 됩니다. 여기서 |X|는 지도 전체 공간에 대한 양(르베그 측량)을 나타냅니다.

 

- 다른것들

 로봇의 자세에 대한 부분적인 지식은 적절한 초기 분포로 변환될수도 있는데, 예를들어 로봇이 문 앞에 존재한다면 문을 제외한 공간의 밀도를 0에 가까운 균일 분포를 따르게 됩니다. 

 

7.4 마르코브 위치 추정 설명 illustration of markov localization

그림 7.4 마르코브 위치 추정 알고리즘 과정. 각 그림은 복도에서 로봇의 자세와 현재 신뢰도 bel(x)를 보여주고 있습니다. (b)와 (d)는 추가적으로 관측 모델 p($z_t$ | $x_t$)을 보여주고 있습니다.

 

 이미 이 자료 앞에서 마르코브 위치 추정에 대해 다루어봤씁니다. 이 번예제에서는 수학적인 프레임워크를 사용해서 다뤄보겠는데 그림 7.3은 구분할 수 있는 문 3개가 존제하는 1차원 복도를 보여주고 있습니다. 초기 신뢰도 bel($x_t$)는 그림 7.4a에서 모든 자세에 대해 균일 분포를 따르고 있으며, 로봇은 센서로 측정을하고 문중 하나를 감지했을 때 4번 줄처럼 신뢰도 bel($x_0$)를 p($z_t$ | $x_t$, m)를 곱하게 됩니다. 그림 7.4b의 위 밀도는 p($z_t$ | $x_t$, m)을 보여주고, 아래의 밀도는 로봇의 균일 사전 신뢰도에 이 밀도를 곱한 결과가 됩니다. 결과 신뢰도는 멀티 모달로 이 지점에서 로봇의 불확실성들을 반영하고 있습니다.

 

 로봇이 우측으로 이동하는경우는 그림 7.4c에서 보여주고있지만 마르코브 위치추정 알고리즘의 3번째 줄에 따라 신뢰도와 동작 모델 p($x_t$ | $u_t$, $x_{t-1}$)사이에 컨벌루션을 수행하게 됩니다. 이 동작 모델은 단일 자세만이 아니라 노이즈 없는 동작 후에 예상되는 전체 기대 자세를 보여주고 있습니다. 이효과를 그림 7.4c엣 ㅓ보여주는데 컨볼루션의 결과로 이동한 신뢰도가 더 평평해진것을 볼수 있습니다.

 

 그림 7.4d에서 마지막 측정이 수행되는데, 여기서 마르코브 위치 추정알고리즘을 통해 현재 신뢰도가 인지 확률 p($z_t$ | $x_t$)를 곱하게 되고 이 때 대부분의 확률질량은 올바른 위치에 집중하게 되어 이 곳이 로봇이 존재한다고 할수 있는 지점이 됩니다. 그림 7.4e는 복도에서 로봇이 움직인 후의 신뢰도를 보여주고 있습니다.

 

 이미 마르코브 위치추정은 상태 공간상에서 시간에 대해 독립임을 알고있습니다. 또한 2장에서 사용한 표현으로 구현할수 있는데, 실제 현실에서 이동로봇을 위치 추정시키기위한 효과적인 알고리즘과 표현법 3가지를 살펴보겠습니다. 우선 칼만 필터로 시작하겠는데 여기서 신뢰도를 1차, 2차 모멘트로 표현합니다. 그리고 이산 공간에 대해서 다루면서 그리드 표현법을 보고, 마지막으로 파티클 필터를 사용한 알고리즘에 대해서 소개하겠습니다. 

 

 

300x250
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
728x90

6.6.5 추가적인 고려사항들 further consideration

 특징 기반 측정치를 사용한 알고리즘 둘다 대응관계가 알려진 경우를 가정하고 있습니다. 이후 챕터에서 대응관계가 알려지지 않은 경우를 다룰것인데, 대응관계를 모를떄 위치 추정과 맵핑 문제를 다루는 알고리즘을 볼때 살펴볼것입니다.

 

 이미 이번장에서 랜드마크의 시그니처 값을 소개했는데, 대부분의 알고리즘에서는 특징적인 외형을 사용하지 않습니다. 그래서 시그니처가 주어지지 않을때, 랜드마크가 똑같아 보이는 경우에 변수 대응관계 추정하는 데이터 연관 data association 문제가 더 힘들어질수 있습니다. 우리가 사용한 모델에서는 시그니처를 포함하고 있는데 이는 센서 측정으로 쉽게 추출될수도 있는 중요한 자원이기 때문입니다.

 

 위의 설명대로 전체 측정 베거를 사용하는것보다 특징을 사용하는 방법이 더 낫고, 수백만개의 거리 데이터를 사용하는것보다 몇백개의 특징들을 다루는것이 더 쉽습니다. 여기서 살펴본 모델은 아주 가공되지 않은것으로 특징 처리에 대해 물리적 법칙들을 다루지는 않았습니다. 그럼에도 불구하고 이 모델은 수많은 응용분야에서 잘 동작되고 있습니다.

 

 측정치에서 특징들로 줄여나가는 과정은 현실적으로 매우 중요하다는 것을 알수있는데 로봇 공학에서 종종 특징들을 측정 벡터 $z_t$를 사용하기도 합니다.

 

 현실적으로 모든 측정 값들을 사용하는대신 특징을 사용함으로서 않은 정보들을 일을수 있지만, 사라진 정보들은 로봇이 이전에 방문하였던 장소인지 아닌지 판단하는 데이터 연관 문제 같은 문제를 더 어렵게 만들수도 있습니다. 다음의 예시로 특징 추출의 효과를 쉽게 이해할 수 있습니다. 당신의 눈을 열면, 전역적으로는 불확실하더라도 주위에 대한 시각 정보들이 당신이 어디에 있는지 명확하게 말할 수 있을 정도로 아마 충분할 겁니다. 다르게 말하면 문 틈이나 창틀과같은 상대적인 위치 같은 특정한 특징들만 감지하더라도 어디에 있는지는 조금은 덜 확실해질겁니다. 이런 정보는 전역 위치 추정에서 부족할지도 모릅니다.

 

 컴퓨터 성능의 개선으로 로봇 공학의 분야에서 특징의 중요성은 점차 줄어들었으나 거리계를 사용하는 최신알고리즘은 밀집한 측정 벡터를 사용하고, 밀집된 위치 기반 지도를 주위 환경을 나타내기 위해 사용합니다. 하지만 특징은 더 중요해지고 있는데, 이를 이용해서 확률적 로봇공학의 기본 컨샙을 알수있게 해주고, 스캔한 점들의 집합으로 구성된 지도를 적절하게 다룰수 있게 해줍니다. 이러한 이유들로 여기서 다루는 수많은 알고리즘들이 처음 특징 ㅣ반으로 소개되고, 로 센서 측정치를 사용하는 알고리즘으로 확장하겠습니다.

 

6.7 현실적인 고려사항들

 이번 장에서는 거리 측정 모델에 대해서 살펴보겠습니다. 여기서는 거리계를 사용하는 모델을 주로 다루어왔는데 그만큼 로봇 공학에서 중요하기 때문입니다. 하지만 이 모델은 확률적인 모델에넌 다양한게 존재하는데, 올바른 모델을 선택하는것이 현실과 알고리즘이 처리할 성질들 사이 트레이드 오프를 하기위해서 중요합니다. 예를들자면 물리적으로 현실적인 거리계 모델이 부드럽지 않게 로봇의 자세에 대한 확률을 구한다면 파티클 필터 같은 알고리즘을 사용시 문제가 발생할 수 있습니다. 그러므로 물리적으로 현실성만이 올바른 센서 모델을 선택하는 기준이 되어서는 안되고, 그 알고리즘이 적합한지도 고려하여야 합니다.

 

 더 모델이 정확할수록 더 좋고 센서 측정치로부터 추출가능한 정보가 많을 수록 더 개선됩니다. 특징 기반 모델들은 고차원 센서 측정치를 저차원 공간으로 사영시키는 특징 추출기에 의해 상대적으로 적은 정보만을 추출합니다. 그 결과 특징 기반 방법은 적은 결과를 만들어내며 이러한 단점은 특징기반의 방법으로 계산량을 줄여줍니다.

 

 측정 모델의 고유 파라미터를 조절시에는 인공적으로 불확실성을 부풀리는것이 좋은 방법이 될수도 있스비다. 이는 확률적인 방법의 제한때문인데, 확률적인 기술들이 추적할수 있게 되려면 물리적인 세계에 존재하는 의존관계들을 무시하여야 합니다. 이러한 의존관계가 설계되지 않을때, 여러 측정치를 합친 알고리즘들은 빠르게 과신하게 됩니다. 이러한 과신은 잘못된 결론으로 유도하여 결과에 부정적인 영향을 줄것입니다.

 

 현실적으로는 센서가 전달하는 정보를 줄이는게 좋은 방법이 되는데 센서 측정치를 저차원 특징 공간으로 사영함으로서 이를 수행하는 한가지의 방법이 됩니다 하지만 위에서 언급한 제한이 존재하므로, 6.3.4장에서 설명한 파라미터 $\alpha$를 사용하여 측정 모델을 지수화 시킴으로서 정보를 균일하게 없애는 것이 확률적 알고리즘의 결과에 추가적인 분산을 주는것 없이 더 나은 방법이 될수도 있습니다.

 

 

6.8 정리 

 이번 장에서는 확률적인 측정 모델들을 살펴보았습니다

 

- 거리계 모델에서 시작하여 특정한 경우 레이저 등, 측정모델 p($z_t$ | $x_t$, m)에 대해서 다뤄봤습니다. 첫번째로는 로봇의 자세 $x_t$와 지도 m이 주어질때 p($z_t$ | $x_t$, m)의 형태를 구하려고 광선 투사 방법이 사용되었습니다. 여기서 거리 측정에 영향을 주는 다양한 노이즈를 고려한 혼합 모델들도 설명하였습니다.

 

- 다음으로 측정 모델의 고유 노이즈 파라미터를 구하기 위해 최대 우도 기술을 설명하였습니다. 측정 모델은 혼합 모델이므로 최대 우도 추정을 반복적으로 수행하는 과정을 거쳤습니다. 이 방법은 기대치 최대화 알고리즘을 구현한 것으로 기대 값이 최적의 고유 파라미터 집합에 가까워지는 최대치를 찾도록 측정치 에러를 계산해 나갔습니다.

 

- 거리계 측정모델의 다른 방법으로 우도 필드에 기반한 모델이 있습니다. 이 기술은 2차원 평면 상에 확률 p($z_t^k$ | $x_t$, m)로 최근접 거리를 나타내며, 이 접근 방법은 분포 p($z_t^k$ | $x_t$, m)를더부드럽게만듭니다. 이는 사이드 이팩트로 의도치않는 비용을 초래하는데 우도 필드 기술은 자유 공간에 대한 정보를 무시하고, 거리 측정 정리시 폐색을 고려하지 못합니다.

 

- 세번째 측정 모댈은 맵 매칭에 기반한 방법으로 맵매칭은 센서 스캔 데이터를 지역 지도로 매핑하고 전역 지도와 상관관계를 구합니다. 이 접근 방법은 물리적으로는 힘들수 있으나 매우 효율적으로 구현될 수 있습니다.

 

- 실시간 동작시 계산 비용을 줄이기 위해 어떻게 전계산이 수행되는지 다루어봤습니다. 빔 기반 측정 모델에서 전계산은 3차원에서 수행되고, 우도 필드에서는 2차원 전계산이 요구되었습니다.

 

- 특징 기반 센서 모델에 대해서도 살펴보았는데 랜드마크에 대한 거리와 방위, 시그니처를 추출하게 됩니다. 이 특징 기반 기술들은 로 센서 측정 데이터로부터 구분되는 특징들을 추출합니다. 이렇게 하여 센서 측정의 차원 수를 줄이게 됩니다.

 

- 이 장의 마지막으로 구현시 발생하는 몇가지 실용적인 이슈에 대해 다루었습니다.

 

300x250
728x90

6.6.3 알려진 대응관계를 가진 센서모델 sensor model with known correspondence

 이 측정모델을 구현하기 위해서 특징 $f_t^i$와 랜드마크 $m_j$ 사이의 대응 관계를 만드는 변수를 정의하여야 합니다. 이 변수는 $c_t^i$로 표기하며 $c_t^i$ $\in$ {1, . . ., N+1}; N은 지도 m에 존재하는 랜드마크의 개수가 됩니다. $c_t^i$ = j <= N이면, 시간 t에서 관측되는 i번째 특징은 j번째 랜드마크에 대응하게 됩니다. 다시말하면 $c_t^i$는 관측된 특징의 실제 아이디가 됩니다. 예외상황은 $c_t^i$ = N + 1일때 생기는데 특징 관측시 지도 m상에 대응하는 특징이 존재하지 않는 경우로, 이 때 잘못된 랜드마크를 다루는것이 매우 중요합니다. 지난번에 관측되지 않은 랜드마크를 다룬 로봇 맵핑 주제와 큰 연관성을 가지고 있습니다.

 

표 6.4 랜드마크 관측 우도를 계산하는 알고리즘. 이 알고리즘은 입력으로 관측된 특징 $f_t^i$ = ($r_t^i$ $\phi_t^i$ $s_t^i$$)^T$와 실제 특징의 아이디 $c_t^i$, 로봇의 자세 $x_t$ = (x y $\theta$$)^T$와 지도 m이 사용되며, 출력은 확률 p($f_t^i$ | $c_t^i$, m, $x_t$)가 됩니다.

 

 표 6.4는 특징 $f_t^i$가 알려진 대응관계 $c_t^i$에대한 확률을 계산하는 알고리즘으로 3,4 번재줄은 랜드마크 까지 실제 거리와 방위를 계산합니다. 측정된 거리와 방위에 대한 확률은 5번째 줄에서 수행되는데 노이즈에 독립으로 가정합니다.   이 알고리즘은 식 (6.41)에서 쉽게 볼수 있습니다.

 

6.6.4 자세 샘플링 sampling poses

 특징 아이디 $c_t^i$인 측정 특징 $f_t^i$에 일치하는 로봇 자세 $x_t$를 샘플하는것이 바람직 한 경우가 있습니다. 이미 로봇의 동작 모델을 다루던 이전 장에서 샘플링 알고리즘들을 살펴보았습니다. 그 샘플링모델들을 센서 모델에도 적용할 수  있는데, 로봇을 전역적으로 위치를 추정할 때, 로봇 자세에 대한 초기 추정을 만들기 위해 센서 측정치를 통합한 샘플 자세들을 만드는것이 효율적입니다.

 

 일반적인 경우에 센서 관측 $z_t$에 대응하는 자세 $x_t$를 샘플링 하는것은 효율적인 샘플링 알고리즘을 사용할 랜드마크 모델에서는 어렵습니다. 하지만 그러한 샘플링은 추가적인 가정을 따르는 경우에 가능한데, 사전 확률 p($x_t$ | $c_t^i$, m)을 알아야만 합니다. 쉽게 얘기하면 이 사전 확률은 균일하다고 가정하면 베이즈 정리는 다음과 같이 구할 수 있습니다. 

 

표 6.5 랜드마크 측정 $f_t^i$ = ($r_t^i$ $\phi_t^i$ $s_t^i$$)^T$과 알려진 아이디 $c_t^i$가 주어질때 자세 샘플링 알고리즘

 

 p($x_t$ | $f_t^i$, $c_t^i$, m)로부터 샘플링은 역 센서 모델 p($f_t^i$ | $c_t^i$, $x_t$, m)으로부터 구할 수 있는데 표 6.5가 자세 $x_t$를 샘플링하는 알고리즘을 보여주고 있습니다. 노이즈의 영향을 받지 않는 경우에도 랜드마크 관측치는 유일하게 로봇의 위치를 결정하지 못합니다. 대신, 로봇은 랜드마크까지의 거리를 반지름으로 하는 주위에 원의 형태로 로봇이 존재할 수 있습니다. 이 로봇 자세의 비결정성은 거리와 방위가 3차원 공간상에 로봇의 자세에 대해 2가지 제약조건을 주는것으로부터 알수 있습니다.

 

 이 자세 추정기를 구현하기 위해서 랜드마크 주위 원에서 로봇이 어디있는지를 결정하는 자유 파라미터를 샘플해야합니다. 이 파라미터는 표 6.5에서 $\hat{\gamma}$로 보릅니다. 그리고 3, 4, 5번째 줄에서 가우시안을 따르는 분포에 의해 측정된 거리와 방위가 바뀌게 됩니다. 마지막으로 6 ~8번째줄에서 $\hat{\gamma}$, $\hat{r}$, $\hat{\phi}$에 대한 자세를 복원하는 과정을 수행합니다.

 

그림 6.12 랜드마크 감지 모델: (a) 로봇의 자세에서 5m거리에 30도(2차원 상으로 사영됨)로 랜드마크 감지되었을때 사후확률 분포. (b) 이 감지시 생성된 로봇 자세 샘플들. 선은 자세의 방향을 알려줌.

 

 그림 6.12는 왼쪽 다이어그램이 자세 분포 p($x_t$ | $f_t^i$, $c_t^i$, m)과 오른쪽 다이어그램 대응관계가 알려진 샘플 랜드 마크 모델 알고리즘 sample landmark model known correspondence을 사용한 샘플들을 보여줍니다. 사후확률은 xy공간상에 사영되어 측정 거리 $r_t^i$로 인해 원형 모양이 됩니다. 3차원 공간에서는 각 $\theta$에 따라 접혀지지 않은 나선 링의 형태가 됩니다.

 

 

 

 

 

300x250
728x90

6.6 특징 기반 센서 모델 feature based sensor model

6.6.1 특징 추출

 앞서 살펴본 것들은 처리되지않은 센서 측정값들에 기반한 센서 모델들입니다. 대안 방법으로 이 측정값들로부터 특징들을 추출하는 것인데, 함수 f를 특징 추출기 feature extractor라 하겠습니다. 이 특징들은 거리 관측치로부터 추출되어 f($z_t$)에 대입됩니다. 대부분의 특징 추출기는 고차원의 센서 측정치로부터 적은 수의 특징들을 추출하는데, 이 방법의 이점으로 계산 복잡도를 크게 줄일수 있습니다. 고차원 측정치 공간에서 추론하는 과정은 비용이 크지만, 저차원 특징 공간에서 추론하는것은 크기에 있어서 더 효율적입니다.

 

 특징 추출기에 대한 일부 알고리즘을 소개하는 것은 이 자료의 범위 밖이므로 여기서는 수많은 다른 센서들에 대한 다양한 특징들을 살펴보겠습니다. 거리 센서의 경우 벽과 코너, 나무줄기 같은 물체가 주어지면 선과 코너, 지역 최저점으로 식별할 수 있습니다. 주행을 위해 카메라를 사용하는 경우 카메라 영상을 컴퓨터 비전영역에서 다룰것인데, 컴퓨터 비전은 카메라 영상으로부터 다양한 특징 추출기술들이 개발되어 있습니다. 대표적인 특징으로 에지나 구분되는 패턴, 물체의 외형이 될수 있습니다. 로봇 공학에서 복도나 교차로 같은 장소에서 특징들이 흔히 정의됩니다.

 

6.6.2 랜드마크 측정 landmark measurements

 많은 로봇공학 응용분야에서, 특징들은 실제 물리적인 세계에서 구분되는 물체들을 의미합니다. 예를들면 실내 환경에서 특징으로 문 틀이나 창턱이 될수도 있고, 실외 환경에서는 나무 줄기나 건물의 코너점이 사용될 수 있습니다. 로봇 공학에서 이러한 물리적인 물체를 랜드마크 landmark라 부르는데 이는 로봇 주행에서 사용되는 것임을 말합니다. 

 

 랜드마크 처리에 가장 흔히 사용되는 모델에서는 센서가 로봇의 지역 좌표계에 대한 랜드마크의 거리와 각도를 측정한다고 가정합니다. 이는 합리적인데, 스테레오 비전에서 감지된 시각적 특징이나 거리 스캔으로부터 추출된 지역 특징은 거리와 방위 정보를 가지고 있게 됩니다. 게다가 특징 주출기는 시그니처를 만들기도 하는데, 이책에서 시그니처를 수치 값(평균 색 등)으로 다루겠습니다. 이는 관측할수 있는 랜드마크의 타입을 구분하거나, 랜드마크의 특징짓는 다차원 백터를 나타내는 숫자가 됩니다.

 

 거리를 r, 방위를 $\phi$, 그리고 시그니처를 s로 한다면 특징 벡터는 다음의 트리팻의 컬랙션으로 주어집니다.

 특징의 수는 시간에 따라 달라질수 있으나, 많은 확률적 로봇 공학 알고리즘은 특징간에 조건부 독립을 가정하므로 다음과 같이 정리됩니다.

 

 개별적인 측정치 ($r_t^i$ $\phi_t^i$ $s_t^i$$)^T$에서 노이즈가 다른 측정치 ($r_t^j$ $\phi_t^j$ $s_t^j$$)^T$의 노이자에 독립이라면 조건부 독립이 성립하게 됩니다. 이러한 조건부 독립 가정에 따라서 하나의 특징을 여러개의 관측 모델로 즉시 처리할수 있게 됩닏. 이는 확률적 측정 모델을 사용하는 알고리즘 개발을 더욱 쉽게 만들어줍니다.

 

 이제 특징에 대한 센서 모델을 다루어봅시다. 이번장의 앞에서 두가지 타입의 지도로 특징 기반과 위치 기반 지도로 구분할 수 있다고 했는데, 특징 기반 지도는 주로 특징 기반 지도에서 정의됩니다. 이 지도는 특징들의 리스트 m = {$m_1$, $m_2$, ...}로 구성된다고 했었습니다. 각각의 특징들은 시그니처와 좌표 위치를 가질수도 있는데, 특징의 위치는 $m_{i, x}$, $m_{i, y}$로 표기하며 이는 지도의 전역 좌표계상 좌표를 나타냅니다.

 

 노이즈에 자유로운 랜드마크 센서의 특징 벡터는 표준 기하 법칙을 따르며, 거리와 방위, 시그니처에 대해 독립적인 가우시안 노이즈로 랜드마크 인식시 노이즈를 설계할수 있게 됩니다. 지도에서 j번째 랜드마크에 대응하는 시간 t에 i번째 특징이 주어지는 경우 결과적인 측정 모델을 정리하면 아래와 같으며, 여기서 로봇의 자세 $x_t$ = (x y $\theta$$)^T$가 주어집니다.

  여기서 $\varepsilon_{\sigma_{r}^{2}}$, $\varepsilon_{\sigma_{\phi}^{2}}$, $\varepsilon_{\sigma_{s}^{2}}$는 분산이 $\sigma_{r}^{2}$, $\sigma_{\phi}^2$, $\sigma_{s}^{2}$인 0평균 가우시안 에러 변수를 의미합니다.

 

 

300x250

+ Recent posts