1. 개요
Lio-SAM프로그램은 Humble에서는 설치가 어렵다. Foxy에서 설치하면 설치가 용이하다. Lio-SAM프로그램은 GTSAM 라이브러리를 사용하는데 Foxy 바이너리 설치를 지원한다. 다른 버전은 소스에서 설치할 수 있는데 버전 문제 등 설치가 매우 어렵다. 결국 Foxy에서 Lio-SAM프로그램을 사용하였다. Lio-SAM프로그램을 이용하여 3D map인 PCD 파일을 만들어 본다.
[참고] LIO-SAM(동영상) https://www.youtube.com/watch?v=NNR9RUNz5Pg
원본(github): https://github.com/TixiaoShan/LIO-SAM
2. 환경 구축하기
기본적으로 ROS2(Foxy)환경이 설치되었다고 가정한다.
아래 주소에서 다운로드를 받아서 설치한다
https://drive.google.com/drive/folders/15RzJOWTHs74MB8u_LxLM5RkA4gvQjYHj
> cd ~/lio_sam_ros2_gazebo <= 이 폴더에 압축을 푼 파일이 들어 있다
> sudo apt install python3-colcon-common-extensions <= 대부분 이미 설치 되어 있을 것이다
> sudo apt install ros-foxy-gazebo-ros
> sudo apt install ros-foxy-gazebo-ros2-control
> sudo apt install ros-foxy-ros2-controllers
> sudo apt install ros-foxy-gazebo-ros-pkgs
다음은 GTSAM의 설치이다.
= foxy에서설치하기 =
> sudo add-apt-repository ppa:borglab/gtsam-release-4.0
> sudo apt update
> sudo apt install libgtsam-dev libgtsam-unstable-dev
> sudo snap install cloudcompare
시뮬레이션 준비가 거의 완성되었다. 아래 폴더에 있는 3개의 모델 파일을 홈-폴더의 .gazebo/models파일에 복사한다.
이곳에 있는 모델 파일을 홈 폴더의 .gazebo 폴더(숨김해제) 아래의 models 폴더에 복사한다.
> cd ~/lio_sam_ros2_gazebo/models
> cp -r * ~/.gazebo/models/.
lio_sam_ros2_gazebo를 빌드한다.
> cd ~/lio_sam_ros2_gazebo
> sudo apt install ros-foxy-perception-pcl ros-foxy-pcl-msgs ros-foxy-vision-opencv ros-foxy-xacro
> colcon build
> source ./install/setup.bash
> ros2 launch robot_gazebo robot_sim.launch.py
# second terminal
> cd ~/lio_sam_gazebo_ros
> source ./install/setup.bash
> ros2 launch lio_sam run.launch.py
Rviz2를 종료하면 ~/Downloads/LOAM 폴더에 pcd 파일이 생성된다.
작성된 3D MAP(PCD 파일)을 확인하여 보자.
> cd ~/Downloads/LOAM
> sudo apt install pcl-tools
> pcl_viewer cloudGlobal.pcd
아래와 같이 3차원의 3D Map을 볼 수있다.