새소식

SLAM

슬린이 탈출기 : 1. SLAM dictionary

  • -
어쩌다 보니 SLAM 명가에 오게 된 건에 관하여

 

주요 용어 설명

 

1. Factor Graph

Factor graph의 구조는 variable nodes와 factor nodes로 구성된다.
variable node는 추정하고자 하는 상태 변수들을 나타낸다. 예를 들어 로봇의 위치와 방향, 랜드마크의 위치 등이 될 수 있다. Factor node는 이런 변수들 간의 확률적 관계나 제약 조건을 표현하며, 센서 측정치, 모션 모델, loop closing 제약 조건 등이 여기에 해당한다. 
수학적으로 factor graph는 전체 시스템의 결합 확률 분포를 그래프 구조로 표현한다. 각 factor는 연결된 변수들에 대한 cost function으로 정의되며, 이런 함수들의 합을 최소화하는 것이 최적화의 목표가 된다. 이 문제는 일반적으로 Gauss-Newton이나 Levenberg-Marquardt같은 최적화 알고리즘을 통해 해결된다. 
Factor graph의 장점 중 하나는 sparsity를 활용할 수 있다는 점이다. 대부분의 factor들은 소수의 변수들만을 연결하기 때문에, 전체 시스템의 야코비안 행렬이 희소한 구조를 가지게 되어 큰 규모의 문제도 효율적으로 해결할 수 있다. GTSAM이나 g2o같은 라이브러리가 factor graph 구현을 위해 사용된다. 

2. LiDAR-IMU Coupling : Loose coupling

Loose coupling 방식은 각 센서의 데이터를 독립적으로 처리한 후 최종 단계에서 결합하는 방식이다. 구현이 상대적으로 단순하고 모듈화가 용이하지만 센서 간의 상호 보완적인 특성을 최대한 활용하지는 못 한다. 
LiDAR와 IMU가 각각 독립적인 파이프라인을 가지는데, LiDAR 처리 파이프라인에서는 연속된 스캔 간의 매칭을 통해 relative transformation을 계산한다. 이때 일반적으로 ICP나 특징점 기반 매칭 방법들이 사용된다. 동시에 IMU 처리 파이프라인에서는 가속도와 각속도 데이터를 적분하여 센서의 모션을 추정한다. 두 센서의 결과를 결합하는 방식은 일반적으로 칼만 필터나 가중 평균을 사용한다. 예를 들어 IMU의 고주파 정보는 LiDAR 스캔 사이의 짧은 시간 동안의 운동을 interpolate하는 데 사용되고, LiDAR의 매칭 결과는 IMU의 드리프트를 보정하는 데 사용된다. 하지만 이런 결합이 최종 단계에서만 이루어지기 때문에 각 센서의 오차가 독립적으로 누적될 수 있다. 

3. LiDAR-IMU Coupling : Tight coupling

The tight coupling scheme fuses LiDAR and IMU measurements on a unified objective function. This approach enables robust estimation of sensor trajectory in feature-less environments, where sufficient geometrical information is not available through LiDAR data, because IMU constraints help to constrain the sensor trajectory based on inertial information. [1]

Tight coupling 방식은 LiDAR와 IMU의 원시 데이터를 직접적으로 융합하여 로봇의 위치와 자세를 좀 더 정확하게 추정한다. IMU의 높은 샘플링 속도를 활용해 LiDAR 스캔 사이의 모션을 보정하고, LiDAR의 정확한 기하학적 정보를 통해 IMU의 Bias와 드리프트를 보정한다. 
우선 IMU의 각속도와 가속도 측정치를 적분하여 연속적인 모션 추정을 수행한다. 동시에 LiDAR 포인트 클라우드 데이터를 처리하는데, 각 포인트의 획득 시점에서의 센서 위치와 자세를 IMU 데이터를 이용해 보정한다. 이를 통해 motion distortion이 제거된 정확한 포인트 클라우드를 얻을 수 있다. 
최적화 과정에서는 일반적으로 factor graph 구조를 활용한다. IMU의 예측 모델은 연속적인 상태 노드들 사이의 제약 조건으로 작용하며, LiDAR의 스캔 매칭 결과는 불연속적이지만 정확한 기하학적 제약 조건을 제공한다. 이런 제약 조건들을 동시에 최적화 함으로써, 각 센서의 장점을 최대한 활용할 수 있다. LiDAR의 각 포인트가 획득되는 정확한 시점을 IMU 타임스탬프와 연관시키는 것이 중요하다. 

4. SE3

As pose graph optimization uses SE3 relative pose constraints to constrain sensor poses, ...[1]

SE3 (Spectial Euclidean Group 3)란 3차원 공간에서의 rigid body transformation을 표현하는 수학적 그룹을 말한다. 3차원 회전을 나타내는 3x3 행렬 R과 3차원 이동 translation을 나타내는 3x1 벡터 t를 포함한다.
[R t]
[0 1] <- 이거

5. Hessian factor

어떤 함수의 2계 도함수들을 이용하여 만든 행렬. Symmetric matrix이다. 

[2]

Hessian matrix는 최적화 문제에서 많이 쓰이는데, Cost function의 곡률을 나타내므로 해의 방향과 크기를 결정하는 데 사용할 수 있다. Pose graph optimization이다 Bundle Adjustment에서 많이 쓰인다. 

6. Fixed-lag smoothing

실시간 상태 추정 시스템에서 계산 효율성과 추정 정확도 사이의 균형을 맞추기 위해 사용되는 최적화 기법이다. 이 방법은 현재 시점으로부터 정해진 시간 간격 (lag) 내의 센서 데이터와 상태만을 고려해 최적화를 수행한다. 
시스템이 새로운 데이터를 받을 때마다, 최적화 윈도우는 현재 시점과 함께 앞으로 이동하며 윈도우 밖으로 벗어나는 과거의 상태들은 고정되거나 marginalization 된다. marginalization은 과거 정보를 완전히 버리는 대신 이를 압축된 형태로 유지하는 것이다. 
이런 접근 방식은 전체 궤적을 고려하는 full bundle adjustment에 빟해 계산 복잡도를 크게 줄일 수 있다. VIO나 LIO에서 많이 쓰인다. 

7. Pose Graph Optimization (PGO)

 

 

주요 문장들

 

Modern SLAM frameworks comprise two modules : 1) an odometry estimation module that estimates sensor ego-motion in real-time using local sensor data and 2) a global trajectory optimization module that corrects accumulated estimation errors by considering the global consistency. [3]

 

 

[1] Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping
[2] Deep Learning Adaptive Computation and Machine Learning (Deep Learning)
[3]
GLIM: 3D Range-Inertial Localization and Mapping with GPU-Accelerated Scan Matching Factors

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.