A Survey on Active Simultaneous Localization and Mapping: State of the Art and New Frontiers

SJ·2025년 6월 23일
0

Paper

목록 보기
23/23

Introduction

Active SLAM은 로봇이 단순히 수동적으로 주어진 경로를 따라가며 지도를 작성하는 Passive SLAM과 달리, 스스로 다음 행동을 결정하여 SLAM 성능을 극대화하는 것을 목표로 합니다.

=> Active SLAM은 Exploration과 SLAM 성능 최적화라는 두 가지 목표를 동시에 달성해야 하는 복잡하고 도전적인 분야


Active SLAM의 핵심 구성 요소

  • 후보 위치

    • 로봇이 다음에 이동할 수 있는 후보 위치들을 생성합니다.

    • 가장 일반적인 방법은 만들어진 지도에서 미탐사 영역과 탐사된 영역의 경계를 찾아내는 것입니다.
      이것을 Frontier라고 하며 이 경계 지점들이 주요 후보지가 됩니다.

  • 후보 위치에서의 이득

    • 생성된 여러 후보지들 각각에 대해, 그곳으로 이동했을 때 얻을 수 있는 Utility를 정략적으로 평가합니다.

    • Utility를 평가하는 방식은 여러가지가 있습니다.

      • Exploration gain: 얼마나 많은 새로운 영역을 탐색하고 지도를 넓힐 수 있는가?

      • Localization gain: 로봇의 위치 불확실성을 얼마나 줄일 수 있는가?

      • Information gain: 맵의 궤적의 Entropy나 정보량을 계산하여 정보 획득량을 평가

  • 다음 위치 선택

    • 평가된 utility 값을 바탕으로, 가장 큰 이득을 주는 후보지를 다음 목표 지점으로 선택합니다.

    • 단기적인 이득뿐만 아니라, 장기적인 목표까지 고려하는 전략을 사용하기도 합니다.


Utility Gain

  • Joint Entropy
    H[p(x,mh,z^,a)]=H[p(xh,z^,a)]Robot’s Entropy+p(xh,z^,a)H[p(mx,h,z^,a)]dxExpected Conditional Map’s EntropyH[p(x,m|h, \hat{z}, a)] = \underbrace{H[p(x|h, \hat{z}, a)]}_{\text{Robot's Entropy}} + \underbrace{\int p(x|h, \hat{z}, a) H[p(m|x, h, \hat{z}, a)] dx}_{\text{Expected Conditional Map's Entropy}}

이 수식은 Joint Entropy를 두 부분으로 나눕니다.

  1. 행동을 한 후, 로봇 자체의 위치가 얼마나 불확실한가? (Robot's Entropy)

  2. 로봇의 위치 x가 정해졌다고 가정할 때의 맵의 엔트로피를 모든 가능한 x에 대해 평균 낸 값.
    즉, "로봇의 위치 불확실성까지 고려헀을 때, 맵은 평균적으로 얼마나 불확실할 것인가?"
    (Expected Conditional Map's Entropy)

  3. 실제로 모든 위치에 대해 계산을 하려면 계산량이 너무 많아 계산할 수 없음


  • Approximation of Joint Entropy

    H[p(x,mh,z^,a)]H[p(xh,z^,a)]+H[p(mh,z^,a)]H[p(x,m|h, \hat{z}, a)] \approx H[p(x|h, \hat{z}, a)] + H[p(m|h, \hat{z}, a)]

  1. 로봇의 불확실성과 맵의 불확실성은 서로 독립적으라고 가정

  2. 복잡했던 적분 항을 없애고, 단순히 로봇의 미래 엔트로피 + 맵의 미래 엔트로피라는 간단한 덧셈으로 결합 엔트로피를 근사

  3. 독립이라는 가정이 매우 강력하기 때문에 정확성이 떨어지고 두 항의 크기, 단위가 달라 한쪽이 소거 될 수 있습니다. 그렇기 때문에 가중치 조절을 잘 해줘야 한다.


  • Robot State Entropy

    H[p(xh,z^,a)]=12ln((2πe)det(Σr))H[p(x|h, \hat{z}, a)] = \frac{1}{2} \ln \left( (2\pi e)^\ell \det(\Sigma_r) \right)

  1. 로봇의 위치 에러가 가우시안 분포를 따른다고 가정을 통해 로봇의 위치 Uncertainty를 계산

  2. det(Σ)det(\Sigma): 공분산 행렬의 det 크기에 따라 엔트로피의 크기를 알 수 있음. 크면 entropy도 크고 작으면 entropy도 작다.
  • Occupancy Grid Map Entropy

    H[p(mx,h,z^,a)]=cmθclogθcH[p(m|x, h, \hat{z}, a)] = - \sum_{c \in m} \theta_c \log \theta_c

  1. θC\theta_C가 1또는 0에 가까울 때, 엔트로피는 0에 가까워집니다.

  2. θC\theta_C가 0.5에 가까울 때, 엔트로피는 최댓값을 가집니다. 따라서, Active SLAM은 아직 탐사되지 않은 셀들을 관측하여 그 값을 0 또는 1로 만들어주는, 즉 맵의 전체 엔트로피를 가장 많이 낮추는 행동을 선택하려 합니다.

  • Mutual Information

    I(a)=H[p(x,mh)]Current EntropyE[H[p(x,mh,z^,a)]]Expected Entropy for candidate aI(a) = \underbrace{H[p(x,m|h)]}_{\text{Current Entropy}} - \underbrace{E\left[H[p(x,m|h, \hat{z}, a)]\right]}_{\text{Expected Entropy for candidate } a}

  1. 이 action을 하면 불확실성이 얼마나 줄어들 것으로 기대되는지를 직접적으로 계산한 지표

  2. 단순히 미래의 엔트로피가 낮은 행동을 찾는 것이 아니라, 감소량을 기준으로 삼기 떄문에 훨씬 합리적,
    이미 불확실성이 낮은 지역에 또 가는 것보다, 불확실성이 높은 지역에 가서 불확실성을 크게 낮추는 행동에 더 높은 점수를 부여

  • Kullback_Leible Divergence(KLD)

    DKL(p1p2)=E[logp1(x)p2(x)]=xp1(x)logp1(x)p2(x)D_{KL}(p_1 || p_2) = E\left[\log\frac{p_1(x)}{p_2(x)}\right] = \sum_x p_1(x) \log \frac{p_1(x)}{p_2(x)}

  1. 실제 분포(실제로 구할 수는 없으니 지금까지 계산한 분포)와 새로운 action을 하였을 때의 분포가 얼마나 달라지는지를 평가

  2. 많이 달라질 경우 이 action이 유의미한 정보를 얻을 수 있다고 판단

    Q. 잘못된 정보로 많이 바뀌면 어떻게 하나요?

    그렇기 때문에 이것을 유일한 기준으로 삼으면 안되고 다양한 방어 장치를 만들어야 합니다.
    결국 KLD가 크다는 것은 정보량이 많다는 것을 볼 수 있는 유용한 지표지만 맹신하면 안됩니다.


Active SLAM의 분류 및 최신 연구 동향

목표에 따른 분류

  • 탐사 주도형: 가장 빠르게 미지의 공간을 탐사하고 지도를 완성하는데 초점을 맞춤

  • 정확도 주도형: 로봇이 자신의 위치를 잃었을 때, 위치 불확실성을 최소화할 수 있는 방향으로 움직여 빠르게 위치를 재추정하는데 집중합니다.

접근 방식에 따른 분류

  • 결정론적 접근: 이득 함수를 기반으로 항상 가장 높은 점수를 받은 후보지를 선택합니다.

  • 확률론적 접근: 로봇의 행동과 센서 측정의 불확실성을 모델링하여, 기대 utility가 가장 높은 행동을 선택

  • 학습 기반 접근: 강화학습등을 사용하여 로봇이 수많은 시뮬레이션 경험을 통해 최적의 탐사 전략을 스스로 학습하게 만듭니다. 이는 복잡한 이득 함수를 직접 설계할 필요가 없다는 장점이 있음


결론

결국 로봇 시대에서는 SLAM만으로 끝낼 것이 아니라 내가 직접 어느 위치로 가야할지도 판단을 해야하기 때문에
Active SLAM에 대해 공부해 보았습니다. 결국 entropy계산을 통해 현재 위치 또는 맵의 uncertainty를 떨어뜨리기 위한 방향으로 action을 해야하는데 다양한 방법을 시도하고 있다는 것을 알았네요.
survey 논문을 읽었으니 더 자세한 논문들도 읽어봐야겠습니다.

profile
student

0개의 댓글