ROS Noetic 환경에서 LIO-SAM 설치 및 3D SLAM 구현: 초심자를 위한 상세 가이드
🤖 AI 추천
이 콘텐츠는 ROS를 처음 접하는 개발자나 로봇 공학 분야에서 3D SLAM 기술을 구현하려는 엔지니어에게 매우 유용합니다. 특히 Ubuntu 20.04와 ROS Noetic 조합 환경에서 LIO-SAM 라이브러리를 설치하고, 실제 데이터를 활용하여 SLAM 알고리즘을 테스트하는 전 과정에 대한 상세한 안내를 제공하므로, 관련 프로젝트를 진행하는 개발자라면 큰 도움을 받을 수 있습니다.
🔖 주요 키워드

핵심 기술: 본 콘텐츠는 ROS Noetic 환경에서 LIO-SAM 3D SLAM 알고리즘을 성공적으로 설치하고, 다양한 데이터셋 및 실제 센서(Ouster LiDAR, iAHRS IMU)를 활용하여 검증하는 과정을 상세하게 다룹니다. ROS 초심자가 겪을 수 있는 환경 설정 및 빌드 오류 해결에 중점을 둡니다.
기술적 세부사항:
* ROS Noetic 설치: Ubuntu 20.04 환경에서 ROS Noetic 데스크탑 전체 버전을 설치하는 방법과 lsb
패키지 설치 및 source
명령어 활용법을 안내합니다.
* LIO-SAM 설치: 작업 공간 생성 (catkin_ws
), catkin_make
실행, 필요한 ROS 패키지 설치 (navigation
, robot-localization
, robot-state-publisher
), GTSAM 라이브러리 설정 방법을 설명합니다.
* 빌드 오류 해결:
* OpenCV 버전 불일치로 인한 opencv/cv.h
파일 오류 해결 (#include <opencv2/opencv.hpp>
로 수정).
* PCL C++14 요구사항 관련 오류 해결 (CMakeLists.txt
에서 C++ 표준을 c++14
로 변경).
* flann/util/serialization.h
관련 알 수 없는 의존성 순서 문제 해결 (utility.h
파일 수정).
* 데이터셋 테스트: 제공되는 Park, Campus, Rooftop 데이터셋을 활용하여 LIO-SAM의 동작을 확인하고, 각 데이터셋별 params.yaml
설정 변경 사항을 명시합니다 (e.g., imuTopic
, sensor
, N_SCAN
, Horizon_SCAN
).
* 실제 센서 연동:
* Ouster LiDAR 드라이버 (ouster_ros
) 설치 및 센서 동작 확인 (rviz
시각화).
* IMU 센서 드라이버 설치.
* 실제 센서 데이터 수집을 위한 params.yaml
설정 (pointCloudTopic, imuTopic, sensor 등).
* 센서 데이터 오류 해결: Ouster LiDAR의 is_dense
가 false
로 나와 발생하는 imageProjection.cpp
오류를 해결하기 위해 ouster_ros
패키지의 point_cloud_compose.h
에서 NaN 값을 0으로 대체하는 방법을 제시합니다.
개발 임팩트: 본 가이드라인을 통해 사용자는 ROS 환경 구축부터 LIO-SAM 라이브러리 적용, 실제 센서 연동 및 문제 해결까지 SLAM 시스템 구현 전반에 걸친 실질적인 경험과 지식을 얻을 수 있습니다. 이는 로봇 시스템 개발의 효율성을 높이고, 자율주행 및 3D 공간 인식 기술의 이해를 심화하는 데 기여합니다.
커뮤니티 반응: 글쓴이가 겪었던 다양한 빌드 오류와 해결 과정이 상세히 공유되어, 비슷한 어려움을 겪는 다른 개발자들에게 실질적인 도움을 줄 수 있다는 점이 강조됩니다. 특히 오픈소스 라이브러리 활용 및 커뮤니티 기여의 중요성을 시사합니다.