Intensity Based LiDAR SLAM Save

Real-Time Simultaneous Localization and Mapping with LiDAR intensity

Project README

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

Open Source Agenda is not affiliated with "Intensity Based LiDAR SLAM" Project. README Source: MISTLab/Intensity_based_LiDAR_SLAM
Stars
115
Open Issues
0
Last Commit
2 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating