wh200720041 / ssl_slam

SSL_SLAM: Lightweight 3-D Localization and Mapping for Solid-State LiDAR IEEE RA-L 2021
GNU General Public License v3.0
502 stars 89 forks source link
robotics slam

SSL_SLAM

Lightweight 3-D Localization and Mapping for Solid-State LiDAR (Intel Realsense L515 as an example)

UPDATE: If you would like to enable save map and test localization separately, you can check this repo: SSL_SLAM2

This code is an implementation of paper "Lightweight 3-D Localization and Mapping for Solid-State LiDAR", accepted in IEEE Robotics and Automation Letters, 2021

A summary video demo can be found at Video

Modifier: Wang Han, Nanyang Technological University, Singapore

1. Solid-State Lidar Sensor Example

1.1 Scene reconstruction

1.2 SFM building example

1.3 Localization and Mapping with L515

2. Prerequisites

2.1 Ubuntu and ROS

Ubuntu 64-bit 20.04.

ROS Noetic. ROS Installation

2.2. Ceres Solver

Follow Ceres Installation.

2.3. PCL

Follow PCL Installation.

Tested with 1.8.1

2.4 OctoMap

Follow OctoMap Installation.

sudo apt-get install ros-noetic-octomap*

2.5. Trajectory visualization

For visualization purpose, this package uses hector trajectory sever, you may install the package by

sudo apt-get install ros-noetic-hector-trajectory-server

Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed

3. Build

3.1 Clone repository:

    cd ~/catkin_ws/src
    git clone https://github.com/wh200720041/ssl_slam.git
    cd ..
    catkin_make
    source ~/catkin_ws/devel/setup.bash

3.2 Download test rosbag

You may download our recorded data (5GB) if you dont have realsense L515, and by defult the file should be under home/user/Downloads unzip the file

cd ~/Downloads
unzip ~/Downloads/L515_test.zip

3.3 Launch ROS

if you would like to create the map at the same time, you can run

    roslaunch ssl_slam ssl_slam_mapping.launch

or create probability map

    roslaunch ssl_slam ssl_slam_octo_mapping.launch

if only localization is required, you may refer to run

    roslaunch ssl_slam ssl_slam.launch

4. Sensor Setup

If you have new Realsense L515 sensor, you may follow the below setup instructions

4.1 L515

4.2 Librealsense

Follow Librealsense Installation

4.3 Realsense_ros

Copy realsense_ros package to your catkin folder

    cd ~/catkin_ws/src
    git clone https://github.com/IntelRealSense/realsense-ros.git
    cd ..
    catkin_make

4.4 Launch ROS

    roslaunch ssl_slam ssl_slam_L515.launch

This runs ssl_slam_mapping.launch with live L515 data.

5. Citation

If you use this work for your research, you may want to cite the paper below, your citation will be appreciated

@article{wang2021lightweight,
  author={H. {Wang} and C. {Wang} and L. {Xie}},
  journal={IEEE Robotics and Automation Letters}, 
  title={Lightweight 3-D Localization and Mapping for Solid-State LiDAR}, 
  year={2021},
  volume={6},
  number={2},
  pages={1801-1807},
  doi={10.1109/LRA.2021.3060392}}