This package is a combination of lidarslam_ros2 and the LIO-SAM IMU composite method.
See LIO-SAM for IMU composites, otherwise see lidarslam_ros2.
Green path: path
Reference(From the LIO-SAM paper)
https://github.com/TixiaoShan/LIO-SAM/blob/master/config/doc/paper.pdf
You need ndt_omp_ros2 and gtsam for scan-matcher
clone
cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2
gtsam install
sudo apt-get install libtbb-dev
mkdir ~/workspace && cd ~/workspace
git clone https://github.com/borglab/gtsam
cd gtsam
mkdir -p build && cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
-DGTSAM_USE_SYSTEM_EIGEN=ON \
-DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
..
make -j4 check
sudo make install -j4
build
cd ~/ros2_ws
colcon build
The initialization methods and the optimization pipeline in Lidar Inertial SLAM were taken from LIO-SAM.
(Note: See the LIO-SAM repository for detailed settings regarding IMU.
The other thing to note is that the speed will diverge if the voxel_grid_size is large.
demo data(ROS1) in LIO-SAM
https://github.com/TixiaoShan/LIO-SAM
The Velodyne VLP-16 was used in this data.
rviz2 -d src/li_slam_ros2/scanmatcher/rviz/lio.rviz
ros2 launch scanmatcher lio.launch.py
ros2 bag play -s rosbag_v2 casual_walk.bag
Green arrow: pose, Yellow path: path, Green path: path by imu
Green path: path
rosgraph
- Eigen
- PCL(BSD3)
- g2o(BSD2 except a part)
- ndt_omp (BSD2)
- gtsam