The utilization of LiDAR's intensity image for scan matching addresses the issue of degeneracy.
Thank you for citing our paper if you use any of this code or datasets.
@inproceedings{du2023real,
title={Real-Time Simultaneous Localization and Mapping with LiDAR intensity},
author={Du, Wenqiang and Beltrame, Giovanni},
booktitle={2023 International Conference on Robotics and Automation (ICRA)},
pages={4164--4170},
year={2023},
organization={IEEE}
}
$ mkdir ~/dependencies_ws
$ cd ~/dependencies_ws/
$ wget -O ~/dependencies_ws/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
$ apt-get install -y cmake libgoogle-glog-dev libgflags-dev libatlas-base-dev libeigen3-dev unzip libsuitesparse-dev
$ cd ~/dependencies_ws/ && unzip ceres.zip -d ~/dependencies_ws/
$ cd /dependencies_ws/ceres-solver-1.14.0
$ mkdir ceres-bin && cd ceres-bin
$ cmake ..
$ sudo make install -j4
$ cd ~/dependencies_ws/
$ wget -O gtsam.zip https://github.com/borglab/gtsam/archive/4.1.0.zip
$ unzip gtsam.zip -d ~/dependencies_ws/
$ cd ~/dependencies_ws/gtsam-4.1.0
$ mkdir build && cd build
$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
$ sudo make install -j4
$ cd ~/dependencies_ws/
$ git clone https://github.com/rmsalinas/DBow3.git
$ cd DBow3/ && mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
Create workspace
mkdir -p ~/catkin_ws/src
Clone the project
cd ~/catkin_ws/src/
git clone https://github.com/SnowCarter/Intensity_based_LiDAR_SLAM.git
Go to the project workspace directory
cd ../
Compile
source /opt/ros/noetic/setup.bash
catkin_make
Launch
source devel/setup.bash
roslaunch intensity_feature_tracker spot.launch rviz:=1
Play bag file
rosbag play xxx.bag --clock
Create workspace
mkdir -p ~/catkin_ws/src
Clone the project
cd ~/catkin_ws/src/
git clone https://github.com/SnowCarter/Intensity_based_LiDAR_SLAM.git
Go to the project directory
cd Intensity_based_LiDAR_SLAM/
Build docker image
docker build . -t intensity_lidar_slam
docker run --rm -it --net=host --privileged intensity_lidar_slam:latest /bin/bash -i -c 'roslaunch intensity_feature_tracker spot.launch rviz:=0'
rosbag play xxx.bag --clock
rosrun rviz rviz -d ~/catkin_ws/src/Intensity_based_LiDAR_SLAM/launch/rviz_setting.rviz
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash
rosrun rviz rviz -d ~/catkin_ws/src/Intensity_based_LiDAR_SLAM/launch/rviz_setting.rviz
path: spot_corridor.bag
version: 2.0
duration: 8:46s (526s)
start: Aug 12 2022 16:25:24.06 (1660335924.06)
end: Aug 12 2022 16:34:10.95 (1660336450.95)
size: 8.2 GB
messages: 57957
compression: lz4 [5270/5270 chunks; 53.28%]
uncompressed: 15.5 GB @ 30.0 MB/s
compressed: 8.2 GB @ 16.0 MB/s (53.28%)
types: sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]
topics: /os_cloud_node/imu 52688 msgs : sensor_msgs/Imu
/os_cloud_node/points 5269 msgs : sensor_msgs/PointCloud2
Contributions are always welcome!
I'm a Ph.D. candidate in MISTLab.
For support, email snowdwq@gmail.com.