[Paper] A Tutorial On Graph-Based SLAM

HyoSeok·2024년 4월 3일

Paper

목록 보기
2/2

1. Introduction

이 paper의 Introduction 부분에서는 mobile robot에게 필수적인 SLAM(Simulaneous Localization And Mapping)의 개념과 중요성에 대해 소개한다. mobile robot은 운송, 수색 및 구조, 그리고 로봇 청소기와 같은 작업을 효율적으로 수행하기 위해 맵을 필요로 한다. 정확한 맵이 있으면, mobile robot은 GPS와 같은 센서 없이도 복잡한 환경에서 작동할 수 있다.

특히, GPS를 사용할 수 없는 실내 환경에서 맵을 작성하는 과정은 로봇 공학 분야에서 수년간 주요 연구 초점이었다. SLAM은 주변 환경을 매핑하는 동시에 로봇의 위치를 결정하는 challenging한 과제를 다룬다. 이 paper에서는 SLAM에 대한 다양한 해결책을 소개하고 있으며, 필터링 접근 방식과 스무딩 접근 방식으로 분류된다.

칼만필터, 정보필터, 파티클필터와 같이 새로운 측정 데이터가 들어올 때마다 로봇의 위치와 맵의 상태를 계속 업데이트 하는 방식을 필터링 접근 방식이라고 한다. 스무딩 접근 방식은 전체 로봇 궤적을 모든 측정 데이터를 사용하여 추정한다. full SLAM 이라고 하며, 필터링 방식과 달리 지금까지 수집된 모든 데이터를 사용하여 로봇의 경로와 지도를 동시에 추정하는 것이 특징이다.

이 paper의 목적은 SLAM을 확률적 형태로 설명하고, Least Square Optimization에 대해 설명한다.

2. Probabilistic Formulation of SLAM

SLAM 문제를 해결하기 위해서는 로봇이 환경 내에서 움직이며 자신의 궤적과 주변 환경 맵을 추정해야 한다. 센서의 노이즈 때문에 SLAM에서는 통상적으로 확률론적으로 접근한다. 로봇은 미지의 환경에서 움직이며, 로봇의 궤적은 랜덤변수 (X1:T={x1,,xT})(X_{1:T} = \{x_1, \ldots, x_T\}) 로 기술되며, 로봇이 이동하면서 측정된 odometry (U1:T={u1,,uT})( U_{1:T} = \{u_1, \ldots, u_T\} ) 그리고 센서의 측정 값 (Z1:T={z1,,zT})( Z_{1:T} = \{z_1, \ldots, z_T\} ) 을 얻는다.
full SLAM 문제를 해결하는 것은 모든 측정치와 초기 위치 x0x_0 를 주어진 로봇의 궤적 X1:TX_{1:T} 과 맵 mm에 대한 posteriorposterior 확률을 추정하는 것을 포함한다.

p(X1:T,mZ1:T,U1:T,x0)p(X_{1:T}, m | Z_{1:T}, U_{1:T}, x_0)

SLAM 문제의 구조는 static world assumption과 Markov assumption에서 비롯되며, 이는 Dynamic Bayesian Network(DBN)을 통해 기술될 수 있다. 베이지안 네트워크는 확률 과정을 그래프로 묘사한 것이다. 그래프에는 각 랜덤 변수에 대한 하나의 노드가 있으며, 두 노드 사이의 방향성이 있는 엣지가 있고, 두 노드 사이의 조건부 의존성을 모델링한다.

Dynamic Baysian Network of the SLAM process

DBN은 각 로봇 위치 xtx_t가 이전 위치 xt1x_{t-1}과 현재 odometry measurements utu_t에 의해 어떻게 영향을 받는지 보여준다. ztz_t는 현재 위치와 맵에 연결되어 있어, 현재 로봇의 위치, 센서 측정 값, 맵으로 현재 위치를 추정한다.

그래프 기반 SLAM 알고리즘은 센서 측정값으로 그래프를 만들고, 각 노드는 로봇의 포즈와 그 위치에서 얻은 측정 값으로 모델링된다. 두 노드 사이의 엣지는 두 로봇 위치 사이의 공간적 제약을 나타내며, 이 제약은 두 위치 간의 상대적 변환에 대한 확률 분포로 구성된다. 이러한 변환은 Odometry나, 다른 두 위치에서 획득한 관측 데이터를 정렬함으로써 결정될 수 있다. 한 번 그래프가 구축되면, 제약을 최대한 만족시키는 로봇 위치의 구성을 찾는 문제가 된다.

따라서, 그래프 기반 SLAM에서는 그래프 구성과 최적화, 두 가지 작업으로 나누어 처리한다. 그래프 구성은 front-end라고 불리며, 센서에 크게 의존한다. back-end는 센서와 무관하게 그래프를 최적화 하는 과정을 의미한다.

이러한 그래프 기반 SLAM 접근법은 속도와 정확성 측면에서 최신 기술로 인정받고 있으며, 본 paper는 Least-square-error-optimization을 기반으로 한 해결책을 논의한다.

3.Related Work

Lu와 Milios는 전역적으로 최적화하여 제약조건에 의해 도입된 오차를 줄임으로써 맵을 개선하는 연구를 했다. Gutmann & Konolige는 그러한 네트워크를 구성하고 점진적 추정 알고리즘을 실행하는 동안 Loop Closure를 탐지하기 위한 효과적인 방법을 제안했다.

Konolige는 선형화된 시스템을 효율적으로 구성하는 포즈 그래프 방법의 오픈 소스 구현을 제안했다. Olson 은 큰 포즈 그래프에서도 효율적으로 보정할 수 있는 확률적 경사 하강법 기반 최적화 접근법을 제시했다. Grisetti은 2D와 3D에서 노드의 트리 파라메트릭화를 사용하는 Olson의 접근법을 확장했으며, 이를 통해 수렴 속도를 높혔다.

GraphSLAM은 차원 감소를 위해 변수 제거 기법을 적용한다. ATLAS 프레임워크는 두 레벨의 계층적 그래프를 구성하고 하위 레벨에는 칼만 필터를 사용하며, 상위 레벨에서는 전역 최적화 접근법으로 지역 맵을 정렬한다. 유사하게 Estrada은 Hierarchical SLAM을 독립적인 지역 맵을 사용하는 기법으로 제안했다.

4. Graph-Based SLAM

Graph-Based SLAM에서는 그래프 기반 SLAM의 기본 원리와 작동 메커니즘을 설명한다. 이 접근 방식에서는 로봇의 포즈가 그래프의 노드로 표현되고, 노드들 사이의 엣지는 센서 측정에 의한 제약을 나타낸다. 각각의 노드는 로봇의 특정 위치에서 얻은 측정치를 나타내며, 두 노드 사이의 엣지는 해당 위치들 사이의 상대적 변환을 나타내는 공간적 제약을 의미한다. 이러한 변환은 Odometry나, 두 로봇 위치에서 얻은 센서 데이터를 통해 얻어지는 것으로, 이는 확률 분포를 통해 모델링된다.

test

  • xi,xjx_i, x_j: 로봇이 두 포즈를 나타내는 노드로, 로봇이 시간에 따라 차지하는 공간상의 점이다.
  • zijz_{ij}: 로봇이 실제로 측정한 xix_i에서 xjx_j까지의 변환이다. 이는 로봇의 센서로부터 얻은 데이터를 기반으로 하며, 이동 및 방향 변환을 포함할 수 있다.
  • z^ij(xi,xj)\hat{z}_{ij}(x_i, x_j): 노드 xix_i의 관점에서 볼 때 노드 xjx_j의 위치를 예측한 측정값이다.
  • eij(xi,xj)e_{ij}(x_i, x_j): 실제 측정값 zijz_{ij}와 예측 측정값 z^ij\hat{z}_{ij} 사이의 오차 또는 차이를 나타낸다. 이 오차는 SLAM 최적화 과정에서 중요한 역할을 하며, 최소화되어야 할 값이다.
  • Ωij\Omega_{ij}: 측정의 불확실성을 고려한 정보 행렬로, 측정의 정확도를 나타낸다. 불확실성이 큰 측정은 최적화 과정에서 더 낮은 가중치를 받게된다.

가상측정(virtual measurement)은 SLAM 문제에서 사용되는 개념으로, 로봇이나 센서가 실제로 관측하지 않았지만, 알려진 포즈간의 관계를 기반으로 계산된 예측된 측정값을 의미한다. 이러한 가상 측정은 로봇의 위치를 최적화하는데 사용되며, 주로 그래프 최적화 문제에서 사용된다. 예를 들어 로봇이 환경 내의 특정 지점에서 LiDAR 센서를 사용하여 주변을 측정하고, 이후에 다른 지점에서 다시 측정할 때 두 위치 간의 상대적인 변환(이동과 회전)을 추정할 수 있다. 이러한 상대적인 변환은 로봇이나 센서가 직접 측정한 데이터가 아니라, 이전에 추정한 포즈와 새로운 관측 데이터를 비교함으로써 계산된 "가상의 측정값(virtual measurement)"이다. Scan-Matching 알고리즘이나, ICP(Iterative Closest Point) 알고리즘을 통해 얻은 상대적인 포즈를 추정해서 얻은 값이다.

가상측정은 그래프 기반 SLAM에서 중요한 역할을 하는데, 노드 간의 엣지로 표현된다. 각 노드는 로봇의 특정 시간에서의 포즈를 나타내며, 엣지는 이 노드들 사이의 가상 측정을 나타내는 Constraint을 표현한다. 가상 측정값은 최적화 과정에서 사용되며, 이는 전체 그래프를 통한 로봇의 포즈와 환경 맵의 정확도를 높이는 데 기여한다.

5. Practical Applications

profile
hola!

0개의 댓글