LIO-SAM 설치 및 실행 가이드 (ROS1 Noetic)
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

LIO-SAM 맨땅에 머리박기 (ROS1 noetic)

분야

  • *프로그래밍/소프트웨어 개발**

대상자

ROS 개발자, LIO-SAM 설치 및 실행에 어려움을 겪는 초보자

난이도: 중급~고급 (ROS noetic 버전 및 라이브러리 호환성 문제 해결 필요)

핵심 요약

  • * ROS Noetic 버전을 필수적으로 사용해야 하는 환경에서 LIO-SAM 설치 및 실행
  • * OpenCV 4.x 버전 호환 문제 해결을 위해 opencv2/opencv.hpp로 수정
  • * PCL 라이브러리 C++14 표준 지원을 위해 CMakeLists.txt 수정
  • * Ouster 라이다 데이터 처리 시 is_dense 값 필터링을 통해 NaN 값 제거

섹션별 세부 요약

  1. ROS Noetic 설치 및 환경 설정
  • Ubuntu 20.04 기반으로 ROS Noetic 설치 필수 (Ubuntu 18.04 호환성 문제 발생)
  • lsb_release 패키지 미설치 시 apt 명령어 오류 발생 (부팅 USB 재사용 권장)
  • 환경 변수 설정: source /opt/ros/noetic/setup.bash.bashrc에 등록
  • 작업공간 생성: mkdir -p ~/catkin_ws/srccatkin_make 실행 (빌드 결과 확인)
  1. LIO-SAM 설치 및 빌드 문제 해결
  • ros-noetic-navigation, ros-noetic-robot-localization 패키지 설치 필수
  • GTSAM 라이브러리 설치 시 버전 충돌 발생 (추후 빌드 문제 유발 가능성)
  • OpenCV 3.x → 4.x 호환성 문제: utility.h 파일의 #include opencv2/opencv.hpp 수정
  • PCL C++14 표준 지원: CMakeLists.txt-std=c++11-std=c++14 변경
  • imageProjection.cpp에서 is_dense 값 NaN 필터링 처리 (라이다 데이터 문제 해결)
  1. 데이터셋 테스트 및 실행
  • Park Dataset, Campus Dataset, Rooftop Ouster Dataset 사용
  • Campus 데이터셋: imuTopicimu_correct 변경 및 extrinsicRot/extrinsicRPY 단위행렬 설정
  • Rooftop Ouster Dataset: sensorouster, N_SCAN32, Horizon_SCAN1024 설정
  • rosbag play 명령어로 데이터셋 재생 및 rviz 시각화 확인
  1. 센서 데이터 수집 및 설정
  • Ouster LiDAR 드라이버 설치: roslaunch ouster_ros sensor.launch 실행
  • IMU 센서 설정: pointCloudTopicouster/points, imuTopicimu/data 변경
  • is_dense 값 필터링: NaN 값을 0으로 대체 (라이다 데이터 정밀도 개선)

결론

  • *ROS Noetic 환경에서 LIO-SAM 설치 및 실행 시 주요 고려사항:**
  1. 버전 호환성 체크: ROS Noetic 및 라이브러리 버전을 공식 문서에 명시된 범위 내 유지
  2. 코드 수정 필수: OpenCV 4.x, PCL C++14 표준 호환을 위해 utility.hCMakeLists.txt 수정
  3. 데이터 전처리: 라이다 is_dense 값 필터링을 통해 NaN 오류 방지
  4. 실무 팁: 센서 데이터 수집 시 rviz 시각화 및 rosbag play 테스트로 문제 조기 발견 권장
  • *실무 적용 시 주의사항**:

- Ubuntu 20.04 기반 시 lsb_release 패키지 설치 필수

- 빌드 오류 발생 시 catkin_make 재실행 및 코드 수정 검토

- 데이터셋 테스트 후 센서 설정을 동일하게 적용하여 일관성 유지