내맘대로 LIO(LiDAR-inertial odometry) survey (Feat.2018~2022)
최근 나온 LIO(LiDAR-inertial odometry)을 정리해보자!
2022년을 기준으로 오픈소스로 공개된 LIO 계열 알고리즘이 많이 등장했다.
이쪽 연구에 관심을 가지고 시작하는 입장으로써 잘 정리된 문서가 없어 이를 정리하고자 한다.
개인적인 생각으론 최근 Fast-LIO 계열 시리즈가 주목을 많이 받고 있기 때문에 여기 나와 있는 Related works 및 구글링을 통해 조사를 진행했다. 논문의 핵심 아이디어만 이야기하는 식으로 정리를 하고자 한다.
❗️ 공부를 한 것을 정리해놓은 포스팅으로써 잘못된 내용이 있을 수 있습니다.
틀린 부분이 있거나 중요한데 놓친 논문이 있다면 댓글로 알려주시면 감사드리겠습니다! 😆
Paper List
- LIPS (IROS 2018)
- LIO-Mapping (IRCA 2019)
- LIO-SAM (IROS 2020)
- LINS (ICRA 2020)
- KFS-LIO (ICRA 2021)
- Fast-LIO (RA-L 2021)
- Fast-LIO2 (T-RO 2022)
- Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping (ICRA 2022)
- Wildcat (Arxiv 2022)
LIPS (IROS 2018)
- 논문 링크 : Pdf, IROS
- 코드 공개 여부 : O (Github)
- 실험 환경 : custom LiDAR IMU simulator,
Quanergy M8(LiDAR) + Microstrain 3DM-GX3-25 (IMU) - Main Contribution / Key IDEA
- 수 많은 point cloud 중 평면(Plane)을 추출하는 방법을 채택, closest point (CP) plane 표현 방법을 새롭게 정의 및 제안
- “Continuous Preintegration Theory for Graph-based Visual-Inertial Navigation” 논문에서 제안한 Continuous preintegration factor 사용
- Plane factors를 정의하고 graph-based optimization을 활용하여 최적화를 진행
- 과연 plane만으로 constraints를 만들고 최적화를 진행하면 정확하게 LiDAR의 pose가 추정이 될지는 의심이 든다…
LIO-Mapping (IRCA 2019)
- 논문 링크 : Arxiv, IRCA / 공식 페이지 - Link
- 코드 공개 여부 : O (Github)
- 실험 환경 : Velodyne VLP-16 (LiDAR) + Xsens MTi-100 (IMU)
Indoor - handheld / UAV, Outdoor - golf car / KAIST Urban dataset - Main Contribution / Key IDEA
- 최적화를 진행할 때 optimization-based method를 사용
- Initialization 방법과 Optimization 방법을 VINS-MONO에서 많이 영감을 받음
- Global map을 다시 구성할 때 Rotational constraints를 추가하여 Gauss-newton 방법으로 최적화를 진행
- 계산량이 조금 많다는 것이 단점
LIO-SAM (IROS 2020)
- 논문 링크 : Arxiv, IROS
- 코드 공개 여부 : O (Github)
- 실험 환경 : Velodyne VLP16 or Ouster OS1-128 (LiDAR) + Microstrain 3DM-GX5-25 (IMU)
Outdoor - Jackal platform or handheld로 실험, MIT campus dataset 구축 - Main Contribution / Key IDEA
- factor graph로 문제 해결 : IMU-preintegration, lidar odometry, loop closure, GPS factor 사용
- 휴리스틱하게 이전 robot pose보다 급격하게 커진 경우를 keyframe으로 선별, local sliding window-based scan-matching으로 n개의 LiDAR scan에 대해서 최적화를 수행
- GTSAM 사용하며 Euclidean distance로 constraint를 만들어 Loop closing을 수행, 대부분 LOAM & LeGO LOAM의 방법을 많이 사용
LINS (ICRA 2020)
- 논문 링크 : Arxiv, ICRA
- 코드 공개 여부 : O (Github)
- 실험 환경 : Velodyne VLP-16 (LiDAR) + Xsens MTiG-710 (IMU)
Ground Vehicle에서 실험, 주로 Outdoor에서 실험하고 GroundTruth는 GPS로 취득 - Main Contribution / Key IDEA
- LIO-Mapping(ICRA 2019)과 저자들이 많이 겹침, LIO-Mapping보다 속도가 빠르다고 주장
- 최초로 IEKF(iterated EKF)를 사용하여 LIO 문제를 해결하려 함
- “Quaternion kinematics for the error-state Kalman filter” 논문의 방법을 활용하여 error state를 표현함으로써 짐벌락 문제(gimbal lock problem)가 일어나지 않도록 해결
- Feature extraction 및 Mapping 모듈은 LOAM & LeGO-LOAM의 방법을 사용, Odometry를 계산하는 모듈만 IMU를 추가하여 IEKF로 바꿨다고 이해하면 편함
KFS-LIO (ICRA 2021)
- 논문 링크 : IRCA
- 코드 공개 여부 : X
- 실험 환경 : Velodyne VLP16 (LiDAR) + Xsens MTi-300 (IMU)
KAIST Urban dataset - Main Contribution / Key IDEA
- Feature 뽑는 방법은 LOAM과 동일, GPS를 평가할 때 쓰이는 개념인 Dilution of precision (DOP)에서 영감을 받아 Key-Feature Selection Algorithm을 제안
- IMU preintegration을 진행할 때 구한 Rotation과 Translation 값을 활용하여 LiDAR de-skewing을 같이 진행함으로써 계산량을 줄이는데 초점
- LOAM에서 Random으로 feature를 sampling하는 것 보다 제안하는 방법이 좋다고 강조
- Loop closure detection에서 LiDAR, IMU의 residual을 활용한 새로운 Threshold를 제안, uncertainty를 관리하기 위함
Fast-LIO (RA-L 2021)
- 논문 링크 : Arxiv, RA-L
- 코드 공개 여부 : O (Github) - 현재 Fast-LIO2로 update 되어있음
- 실험 환경 : UAV platform을 활용, Livox Avia (LiDAR) + Livox Avia built in IMU,
Velodyne VLP-16 (LiDAR) + Xsens MTiG-710 (IMU) : LINS (ICRA 2020)와 비교를 위함 - Main Contribution / Key IDEA
- LINS (ICRA 2020)와 동일하게 IEKF(iterated EKF)를 사용하여 state estimation
- 새로운 Kalman Gain 공식을 제안하여 measureent dimension(LiDAR point cloud)이 아닌 state dimension(Pose)에 기반하여 Kalman Gain을 구함.
- IMU measurement를 기반으로 LiDAR point cloud의 motion compensation을 진행
- Odometry에서 예측한 pose를 기반으로 Map 형성, scan to map 방식으로 Correspondense를 구함.
FAST-LIO의 간략한 논문 리뷰를 다른 포스팅에도 적어보았다!
Fast-LIO2 (T-RO 2022)
- 논문 링크 : Arxiv, T-RO
- 코드 공개 여부 : O (Github)
- 실험 환경 : 여러 SOTA 알고리즘들과 비교 (LILI-OM, LIO-SAM, LINS…)
NCLT datast, UTDM dataset, Urbanloco dataset - Main Contribution / Key IDEA
- Fast-LIO (RA-L 2021)의 저널 확장판
- Fast-lio와 달리 feature extraction 부분이 없음. Raw한 point cloud를 바로 활용
- LiDAR feature를 뽑지 않으므로 새로운 Measurement model 제안하여 residual 계산 (G-ICP와 유사)
- LiDAR-IMU extrinsic parameter를 state vector에 넣어 계산을 진행함
(Fast-LIO의 경우 extrinsic parameter는 안다고 가정) - Map을 효율적으로 관리할 수 있는 자료구조인 iKD tree라는 구조를 제안
Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping (ICRA 2022)
LIO(LiDAR-inertial odoemtry)가 아닌 LI-SLAM(LiDAR-inertial SLAM) 논문이다!
- 논문 링크 : Arxiv
- 코드 공개 여부 : X
- 실험 환경 : KAIST urban dataset / Newer College Dataset
- Main Contribution / Key IDEA
- 일반적인 LIO system의 경우 front-end 부분에서만 IMU를 사용하지만, 이 논문에서는 front-end부터 back-end까지 IMU를 활용하여 최적화를 진행
- Odometry estimation, Local mapping, Global mapping 총 3가지 모듈로 구성
(전부 IMU 활용) - Visual SLAM 논문인 DSO(Direct Sparse Odometry)에서 영감을 받아 front-end를 keyframe-based fixed-lag smoothing method 사용
- GPU 가속이 가능하도록 알고리즘 설계
- GTSAM을 활용하여 non-linear optimziation를 진행
Wildcat (Arxiv 2022)
LIO(LiDAR-inertial odoemtry)가 아닌 LI-SLAM(LiDAR-inertial SLAM) 논문이다!
- 논문 링크 : Arxiv
- 코드 공개 여부 : X
- 논문 소개 및 설명 동영상 : Tartan SLAM Series - CSIRO’s Wildcat SLAM
- 실험 환경 : DARPA Subterranean Environments / MulRan / QCAT dataset
Velodyne VLP16 (LiDAR) + Microstrain 3DM-CV5 IMU (IMU)
Ouster OS1-64 (LiDAR + built in IMU) - Main Contribution / Key IDEA
- DARPA Subterranean Challenge에서 우승한 알고리즘
- Continuous-Time을 활용한 최적화 방법을 사용 (이 부분에 대한 지식이 아직 부족하다..)
- LiDAR로 voxelization을 multi-scale로 하면서 surfel을 뽑아냄
- LiDAR Odometry는 Sliding window optimization을 사용
- PGO(Pose graph optimization)을 사용, Loop closure detection 같은 경우는 point-to-plane ICP, Mahalanobis distance search radius 기반으로 진행
댓글남기기