Git Product home page Git Product logo

dcl-slam's Introduction

DCL-SLAM

A ROS package of DCL-SLAM: Distributed Collaborative LiDAR SLAM Framework for a Robotic Swarm.

10.11._2k_2023118104959.mp4

The HD video of the demonstration of DCL-SLAM is avaliable at BiliBili.

Prerequisites

  • Ubuntu ROS (Robot Operating System on Ubuntu 18.04 or 20.04)
  • Python (For wstool and catkin tool)
  • CMake (Compilation Configuration Tool)
  • Boost (portable C++ source libraries)
  • PCL (Default Point Cloud Library on Ubuntu work normally)
  • Eigen (Default Eigen library on Ubuntu work normally)
sudo apt-get install cmake libboost-all-dev python-wstool python-catkin-tools

These prerequisites will be installed during the compilation.

Compilation

Set up the workspace configuration:

mkdir -p ~/cslam_ws/src
cd ~/cslam_ws
catkin init
catkin config --merge-devel
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

Then use wstool for fetching catkin dependencies:

cd src
git clone https://github.com/PengYu-Team/DCL-SLAM.git
git clone https://github.com/PengYu-Team/DCL-LIO-SAM.git
git clone https://github.com/PengYu-Team/DCL-FAST-LIO.git
wstool init
wstool merge DCL-SLAM/dependencies.rosinstall
wstool update

Build DCL-SLAM

catkin build dcl_lio_sam
catkin build dcl_fast_lio

Run with Dataset

  • S3E dataset. The datasets are configured to run with default parameter.
roslaunch dcl_slam run.launch
rosbag play *your-bag-path*.bag
  • Other dataset. Please follow LIO-SAM and FAST-LIO2 to set your own config file for the dataset in "config/your-config-file.yaml", and change the path in "launch/single_ugv.launch".

Citation

The paper is avaliable at site, and please cite:

@article{DBLP:journals/corr/abs-2210-11978,
  author    = {Shipeng Zhong and
               Yuhua Qi and
               Zhiqiang Chen and
               Jin Wu and
               Hongbo Chen and
               Ming Liu},
  title     = {{DCL-SLAM:} {A} Distributed Collaborative LiDAR {SLAM} Framework for
               a Robotic Swarm},
  journal   = {CoRR},
  volume    = {abs/2210.11978},
  year      = {2022},
  url       = {https://doi.org/10.48550/arXiv.2210.11978},
  doi       = {10.48550/arXiv.2210.11978},
  eprinttype = {arXiv},
  eprint    = {2210.11978},
  timestamp = {Tue, 25 Oct 2022 14:25:08 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2210-11978.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Acknowledgement

  • DCL-LIO-SAM adopt LIO-SAM as front end (Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela. LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping).

  • DCL-FAST-LIO adopt FAST-LIO2 as front end (Xu, Wei, Yixi Cai, Dongjiao He, Jiarong Lin, and Fu Zhang. Fast-lio2: Fast direct lidar-inertial odometry).

  • DCL-SLAM is based on a two-stage distributed Gauss-Seidel approach (Siddharth Choudhary and Luca Carlone and Carlos Nieto and John Rogers and Henrik I. Christensen and Frank Dellaert. Distributed Trajectory Estimation with Privacy and Communication Constraints: a Two-Stage Distributed Gauss-Seidel Approach).

  • DCL-SLAM is based on outlier rejection of DOOR-SLAM (Lajoie, Pierre-Yves and Ramtoula, Benjamin and Chang, Yun and Carlone, Luca and Beltrame, Giovanni. DOOR-SLAM: Distributed, Online, and Outlier Resilient SLAM for Robotic Teams).

dcl-slam's People

Contributors

zhongshp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.