LIO (LiDAR-Inertial Odometry) 알고리즘 중 IROS 2020 에 발표된 LIO-SAM 을 설치하고 실행해보자. 먼저 Git 레포지토리에 들어가보자.
GitHub - TixiaoShan/LIO-SAM: LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping - TixiaoShan/LIO-SAM
github.com
위 페이지에 들어가면 System Architecture 와 Dependencies 그리고 Install 항목이 있다. System Architecture 추후 코드 분석을 하면서 좀더 자세히 살펴보자.
우선은 설치를 하기 위해서는 Dependencies 항목을 따라 필요한 ros 패키지와 GTSAM 라이브러리를 설치해야 한다. 아래는 위 레포지토리에 나와 있는 Dependency 를 설치하는 명령이다.
$ sudo apt-get install -y ros-kinetic-navigation
$ sudo apt-get install -y ros-kinetic-robot-localization
$ sudo apt-get install -y ros-kinetic-robot-state-publisher
위의 세개의 ros 패키지를 우선 설치하고, 다음으로는 gtsam 라이브러리를 설치한다.
$ sudo add-apt-repository ppa:borglab/gtsam-release-4.0
$ sudo apt install libgtsam-dev libgtsam-unstable-dev
이제 lio_sam 패키지를 설치한다.
$ cd ~/catkin_ws/src
$ git clone https://github.com/TixiaoShan/LIO-SAM.git
$ cd ..
$ catkin_make
이제 설치는 끝났다. 아래는 샘플 데이터를 (walking_dataset.bag) 실행시킨 결과이다.
lio_sam 의 노드와 메세지가 어떻게 구성되어 있는지 rqt_graph를 통해 보면 아래와 같다.
상당히 복잡하다 -_-?
lio_sam은 velodyne 라이다와 같은 스캐닝 라이다 뿐 아니라 Livox 라이다 데이터를 사용할 수 도 있는데, Livox 라이다를 사용하려면 몇 가지 설정을 변경해 줘야 한다.
먼저 LIO-SAM 패키지의 catkin_ws/src/LIO-SAM/config/params.yaml 파일을 보면 Sensor Setting 과 관련된 설정이 있다.
# Sensor Settings
sensor: livox # lidar sensor type, 'velodyne' or 'ouster' or 'livox'
N_SCAN: 6 # number of lidar channel (i.e., Velodyne/Ouster: 16, 32, 64, 128, Livox Horizon: 6)
Horizon_SCAN: 4000 # lidar horizontal resolution (Velodyne: 1800, Ouster: 512, 1024, 2048, Livox Horizon: 4000)
downsampleRate: 1 # default: 1. Downsample your data if too many points. i.e., 16 = 64 / 4, 16 = 16 / 1
lidarMinRange: 1.0 # default: 1.0, minimum lidar range to be used
lidarMaxRange: 1000.0 # default: 1000.0, maximum lidar range to be used
...
edgeFeatureMinValidNum: 1
Sensor Settings을 Livox 센서에 맞게 변경한다. 그리고 LOAM Feature Threshold 파라미터 중 edgeFeatureMinValidNum 을 1로 변경한다.
이제 Livox Horizon 센서 데이터를 (livox_horizon.bag 파일) 사용하여 LIO-SAM 을 실행해 보자.
Livox 라이다 데이터도 잘 되는 것을 확인 할 수 있다.
'IT 개발 > LiDAR-SLAM' 카테고리의 다른 글
IMU Preintegration 문서 정리 (1) | 2024.11.12 |
---|---|
20241021_1fl 데이터 LIO-SAM 테스트 (0) | 2024.10.22 |
loam_livox 빌드 (feat. Ceres 버전) (1) | 2024.01.24 |
FAST-LIO2 설치하기 (0) | 2024.01.11 |
LeGO-LOAM 코드 분석하기 (1) (0) | 2023.08.17 |