Skip to content

Real-Time Simultaneous Localization and Mapping with LiDAR intensity

License

Notifications You must be signed in to change notification settings

MISTLab/Intensity_based_LiDAR_SLAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time Simultaneous Localization and Mapping with LiDAR Intensity

The utilization of LiDAR's intensity image for scan matching addresses the issue of degeneracy.

IMAGE ALT TEXT HERE

Paper

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}
}

Authors

Installation

Dependency

  • ROS noetic
  • ceres-solver
    $ 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
  • GTSAM
    $ 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
    
  • DBOW3
    $ cd ~/dependencies_ws/
    $ git clone https://github.com/rmsalinas/DBow3.git
    $ cd DBow3/ && mkdir build && cd build
    $ cmake ..
    $ make 
    $ sudo make install
    

Compile and Launch

  • 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
    

Docker support

Building

  • 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
    

Launch

  • Launch docker images with intensity Lidar SLAM (Terminal 1)
    docker run --rm -it --net=host --privileged intensity_lidar_slam:latest /bin/bash -i -c 'roslaunch intensity_feature_tracker spot.launch rviz:=0'
    
  • Play bag file (Terminal 2)
    rosbag play xxx.bag --clock
    
  • RVIZ (Terminal 3)
    rosrun rviz rviz -d ~/catkin_ws/src/Intensity_based_LiDAR_SLAM/launch/rviz_setting.rviz
    
  • Show spot mesh (optional):
    • rviz need to find the mesh file according to the package name, so we need to make sure this package is compiled and sourced, even you can't compile it successfully.
      cd ~/catkin_ws/
      catkin_make
      
    • in Terminal 3:
      source ~/catkin_ws/devel/setup.bash
      rosrun rviz rviz -d ~/catkin_ws/src/Intensity_based_LiDAR_SLAM/launch/rviz_setting.rviz
      

Example Bag file

  • Onedrive: Ouster (OS0-64)
    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
    

Contributing

Contributions are always welcome!

License

MIT License

Acknowledgements

🚀 About Me

I'm a Ph.D. candidate in MISTLab.

Support

For support, email [email protected].

Logo

About

Real-Time Simultaneous Localization and Mapping with LiDAR intensity

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages