728x90

12.2 직관적인 설명

 이번에는 그림을 사용해서 SEIF 갱신에 대해서 설명하겟습니다. SEIF 갱신은 4가지 단계로 구성되는데 동작 갱신 단계, 관측 갱신 단계, 희소화 단계, 상태 추정 단계로 이루어 집니다.

 

그림 12.2 정보행력에서 측정의 효과와 관련된 특징 네트워크

(a) $y_1$의 관측으로 정보 행렬 $\Omega_{x_t, y_1}$ 요소가 바뀌게 됩니다.

(b) 비슷하게 $y_2$를 관찰하는이 $\Omega_{x_t2 y_2}에 영향을 줍니다. 

- 위 두 갱신은 상수 시간에서 수행됩니다.

 

 우선 그림 12.2의 관측 갱신 단계에서 시작해보겠습니다. 각각의 두 그림은 SEIF의 정보행렬과 정보 링크로 정의되는 그래프를 보여주고 있습니다. 정보 갱신시에는 특징 $y_1$을 감지하면 SEIF가 로봇의 자세 추정 $x_t$와 관측 특징 $y_t$를 연결시키는 정보 행렬의 비대각 요소를 갱신하게 됩니다. 이는 그림 12.2a에서 볼수 있습니다.

 

 비슷하게 $y_2$를 감지하면 로봇의 자세 $x_t$와 특징 $y_2$ 사이의 연결시키는 정보행렬에서의 요소를 갱신하게 되는데 그림 12.b에서 볼수 있습니다. 이러한 갱신들인 정보행렬(과 정보 벡터)에서 지역적인 초가가 되는것을 볼수 있습니다. 이 두가지 경우 다(정보 행렬과 벡터) 이러한 추가는 로봇의 자세와 관측된 특징의 연결에 대한 요소만 다루며, 이 점은 EKF의 갱신 단계보다 SEIF의 측정 갱신이 더 효율적으로 동작하게 도와줍니다. 특히 측정에 대한 SEIF 갱신 복잡도는 지도의 크기에 독립적인 시간이 수행됩니다.

 

 그림 12.3 정보행렬에서 동작의 효과와 연관된 특징 네트워크

(a) 동작전, (b) 동작 후

- 만약 동작이 비결정론적이라면 동작 갱신은 두 능동적인 특징 사이에 새로운 링크(혹은 기존에 존재하는 링크 보강)을 만들고, 로봇과 이러한 특징들 사이의 링크는 약해집니다. 이 단계는 특징쌍 사이의 링크를 보여주고 있습니다.

 

 동작 갱신은 그림 12.3에서 볼수있습니다. 여기서 로봇의 자세가 변화하게 되는데 그림 12.3a는 이전의 정보 상태를 보여주며 그림 12.3b는 동작후를 보여주고 있습니다. 동작은 다양한 방법으로 정보 상태에 영향을 주는데, 첫번째로 로봇의 자세와 특징 $y_1$, $y_2$사이의 연결이 약해지게 됩니다. 이는 로봇의 동작이 에러를 가진 결과로 그래서 우리가 로봇이 특징에 상대적으로 존재하던 곳에 대한 정보를 잃어버리게 만듭니다. 하지만 이정보는 완전히 사라지는것은 아닙니다. 이 일부는 쌍 특징사이의 정보 연결로 맵핑되어, 이 정보의 변화는 로봇의 자세에 대한 정보를 잃었더라도 지도에 존재하는 특징 위치의 상대적인 위치 정보를 잃은것이 되지는 않습니다. 이러한 특징들은 로봇의 자세를 통해 간접적으로 연결되었었지만 갱산 단계를 수행하는 후에는 직접적으로 연결이 됩니다.

 

 로봇의 자세 연결에서 두 특징쌍 연결로 정보의 변화는 SEIF의 핵심 요소로서 이전에 살펴본 EIF는 특징 쌍사이에 어떠한 연결을 다루지도 않았었습니다. 이것은 online SLAM 문제를 다루기 위해 정보 형태를 필터로 사용한 결과입니다. 이전의 모든 자세 변수들을 적분함으로서 이러한 링크들을 잃어버리지만, 이들은 정보 행렬의 특징 요소들사이에 영향을 주게 됩니다.

 

 이 과정에서 특징쌍의 직접 연결을 얻기 위해서 갱신 전에 두개다 능동적이여야 하며, 정보 행렬상에서 이들을 로봇의 자세에 연결시키는 요소들은 0이 되어서는 안됩니다. 이는 그림 12.3에서 볼수 있는데, 특징 사이 연결은 특징 $y_1$과 $y_2$에서만 존재합니다. 특징 $y_3$은 활성상태가 아니므로 다뤄지지는 않습니다. 특정 시간에 활성 랜드마크의 수를 제어함으로서 동작 갱신의 계산 복잡도와 정보 행렬에서 연결의 수를 제어할수 있습니다. 만약 활성 링크의 수가 적게 유지된다면, 이는 동작 갱신시 갱신복잡도가 될것이며, 정보 행렬에서 랜드간의 요소들 중 0이아닌 값의 수가 될것입니다.

 

그림 12.4 희소화 : 특징은 로봇에대한 연결을 제거하여 비활성화가 되어집니다.

- 정보 상태에서 이 변화를 보완하기 위해서 활성 특징들사이에 또는 로봇과의 연결이 갱신됩니다. 전체 동작은 상수 시간에 수행됩니다.

 

 SLAM 문제에서 정보 행렬은 근사적으로 희소합니다. 위에서 살펴보앗지만 정보 행렬은 근처에 존재하는 특징들 사이의 적은 수의 요소로 좌우되며, 멀리 떨어진 특징간의 연결은 비교적 작습니다.하지만 희소성은 근사치일 뿐이며 정확한것은 아닙니다. 그래서 SEIF는 희소화 단계를 다루는데 그림 12.4에서 볼수 있습니다. 의소화는 로봇과 활성 특징사이의 연결 제거도 다루는데, 효과적으로 활성 특징을 수동 상태로 변경하게 됩니다. SEIF에서 이러한 제거는 정보를 이웃한 링크, 즉 다른 활성 특징과 로봇의 자세 사이의 링크로 재배포를 유도하고, 희소화 수행 시간은 지도의 크기에 독립이 됩니다. 하지만 이는 근사화로 로봇의 사후 확률에서 정보 손실이 발생합니다. 이 근사화의 이점은 실제 희소함을 구하여, 필터를 효율적으로 갱신할수 있게 해줍니다.

 

 여기에 SEIF 알고리즘의 마지막 단계가 존재하는데, 여기서는 그림으로 구하지는 않았습니다. 이 단계에서는 그래프를 통해 평균 추정치의 전파를 다룹니다. 3장에서 살펴봤지만 확장 정보 필터는 동작과 갱신 모델의 선형화를 위해 상태 $\mu_t$의 추정치를 필요로 합니다. SEIF도 이런 희소화 단계에서 상태 추정치가 필요합니다.

 

 $\Omega$는 정보 벡터 $\xi$가 정보 행렬인 상태에서 식 $\mu$ = $\Omega^{-1}$ $\xi$로 추정 상태를 복원할수 있습니다. 하지만 이는 큰 행렬의 역행을 필요로하며 SEIF를 비효율적으로 수행하게 됩니다. SEIF는 정보 그래프를 통해 효과적으로 상태 추정치를 전파해가는 반복적이 ㄴ알고리즘으로 이 단계를 피해갈수 있습니다. 각 지역 상태 추정치는 정보 그래프에서 이웃의 최적의 추정치에 기반하여 갱신됩니다. 이 반복하는 알고리즘은 실제 평균인 $\mu$에 수렴하게 됩니다. 이러한 정보 형태는 SEIF에서 희소하기 때문에 각 갱신은 상수 시간을 필요로 하며, 많은 유한개의 갱신이 수행되어야 하는 경우에 좋은 결과를 얻을수 있습니다. 이 계산이 상태 공간의 크기에 독립하기 위해서는 SEIF는 반복시에는 고정된 개수의 갱신을 수행합니다. 상태 벡터 결과는 근사치일 뿐으로 모든 갱신 단계에서 평균을 근사화한것 대신에 사용됩니디ㅏ.

300x250

+ Recent posts