Code for a real-time distributed cooperative slam(RDC-SLAM) system for ROS compatible platforms.

Overview

RDC-SLAM

This repository contains code for a real-time distributed cooperative slam(RDC-SLAM) system for ROS compatible platforms. The system takes in point cloud from 3d Lidar as inputs. A demonstration of the system can be found here -> https://www.youtube.com/watch?v=FvHQ3VcNWTI demo

The system

RDC-SLAM is an online cooperative SLAM system, which consists of three steps to establish a global map by distributively leveraging existing SLAM techniques. First, similar places are recognized as bridges between each robot. Next, the relative pose estimation is computed through the recognized relative places. Finally, a distributed graph optimization approach is used to merge the local maps generated by all robots. framework

Dependency

  • ROS(tested with kinetic and melodic)
  • gtsam(Georgia Tech Smoothing and Mapping library, 4.0.0-alpha2)
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install
  • libnabo
git clone git://github.com/ethz-asl/libnabo.git
mkdir build && cd build
cmake ..
sudo make install

Compile

catkin_make -j8

Run the package

  • setup the local network

  • run the launch file on each device

The datasets

You might also like...
Job Assignment System by Real-time Emotion Detection
Job Assignment System by Real-time Emotion Detection

Emotion-Detection Job Assignment System by Real-time Emotion Detection Emotion is the essential role of facial expression and it could provide a lot o

BED: A Real-Time Object Detection System for Edge Devices
BED: A Real-Time Object Detection System for Edge Devices

BED: A Real-Time Object Detection System for Edge Devices About this project Thi

Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time.
Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time.

BBB Face Recognizer Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time. Instalati

TCNN Temporal convolutional neural network for real-time speech enhancement in the time domain
TCNN Temporal convolutional neural network for real-time speech enhancement in the time domain

TCNN Pandey A, Wang D L. TCNN: Temporal convolutional neural network for real-time speech enhancement in the time domain[C]//ICASSP 2019-2019 IEEE Int

YOLOX + ROS(1, 2) object detection package
YOLOX + ROS(1, 2) object detection package

YOLOX + ROS(1, 2) object detection package

A naive ROS interface for visualDet3D.
A naive ROS interface for visualDet3D.

YOLO3D ROS Node This repo contains a Monocular 3D detection Ros node. Base on https://github.com/Owen-Liuyuxuan/visualDet3D All parameters are exposed

Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator
Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator

DRL-robot-navigation Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gra

ROS Basics and TurtleSim
ROS Basics and TurtleSim

Waypoint Follower Anna Garverick This package draws given waypoints, then waits for a service call with a start position to send the turtle to each wa

ROS support for Velodyne 3D LIDARs

Overview Velodyne1 is a collection of ROS2 packages supporting Velodyne high definition 3D LIDARs3. Warning: The master branch normally contains code

Comments
  • Problems for rdc_slam catkin_make

    Problems for rdc_slam catkin_make

    In rdc_slam/include/mapOptimization.h, I can't find #include #include "lego_loam/OutputMap.h", #include "lego_loam/OutputTraj.h", #include "lego_loam/OutputSepNodePcd.h" in your codes. Could you provide the codes for that?

    opened by liukeq 3
  • Build problem

    Build problem

    Hello, thanks for sharing your excellent work with the community. When I tried to compile your code, I met a problem that I can not find the following files, can you help me to solve it? Thanks, in advance. ''' #include "lego_loam/OutputMap.h" #include "lego_loam/OutputTraj.h" #include "lego_loam/OutputSepNodePcd.h" '''

    opened by kinggreat24 2
  • Problems for RDC-SLAM catkin_make

    Problems for RDC-SLAM catkin_make

    I notice that your work requires the dependency of distributed-mapper. I built the distributed-mapper following the process of the requirements and it works. But when i tried to catkin_make the RDC_SLAM, it put errors like: RDC_SLAM/src/rdc_slam/src/mapOptimization.cpp:907:21: error: ‘class distributed_mapper::DistributedMapper’ has no member named ‘addFactor_isam’; did you mean ‘addFactor’? 907 | distMapper->addFactor_isam(factor);//拷贝值上操作,只加边没必要optimize和更新pose | ^~~~~~~~~~~~~~ | addFactor or: RDC_SLAM/src/rdc_slam/src/mapOptimization.cpp:1919:25: error: ‘class distributed_mapper::DistributedMapper’ has no member named ‘create_copy’ 1919 | distMapper->create_copy();

    I find that distributed-mapper doesn't have addFactor_isam() or creat_copy(). How can I solve this problem? ps: the screenshot is below image

    opened by liukeq 0
  • Where is the function about

    Where is the function about "isam"?

    Hi, thanks for your excellent work. There are some questions about the file "mapOptimization.cpp". Could you please tell me where are the function whose name tailed with "isam", for example, distMapperHandler->"addFactor_isam" and distMapperHandler->insertValue_isam? Thanks a lot!! Your answer will be significant for me~

    opened by 222233tommy 0
Owner
null
Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

ORB-SLAM2 Authors: Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2) 13 Jan 2017: OpenCV 3 and Eigen 3.3 are now suppor

Raul Mur-Artal 7.8k Dec 30, 2022
Code for the CVPR 2021 paper "Triple-cooperative Video Shadow Detection"

Triple-cooperative Video Shadow Detection Code and dataset for the CVPR 2021 paper "Triple-cooperative Video Shadow Detection"[arXiv link] [official l

Zhihao Chen 24 Oct 4, 2022
A generalized framework for prototyping full-stack cooperative driving automation applications under CARLA+SUMO.

OpenCDA OpenCDA is a SIMULATION tool integrated with a prototype cooperative driving automation (CDA; see SAE J3216) pipeline as well as regular autom

UCLA Mobility Lab 726 Dec 29, 2022
[ACL-IJCNLP 2021] Improving Named Entity Recognition by External Context Retrieving and Cooperative Learning

CLNER The code is for our ACL-IJCNLP 2021 paper: Improving Named Entity Recognition by External Context Retrieving and Cooperative Learning CLNER is a

null 71 Dec 8, 2022
Revisiting Discriminator in GAN Compression: A Generator-discriminator Cooperative Compression Scheme (NeurIPS2021)

Revisiting Discriminator in GAN Compression: A Generator-discriminator Cooperative Compression Scheme (NeurIPS2021) Overview Prerequisites Linux Pytho

Shaojie Li 34 Mar 31, 2022
[ICRA 2022] An opensource framework for cooperative detection. Official implementation for OPV2V.

OpenCOOD OpenCOOD is an Open COOperative Detection framework for autonomous driving. It is also the official implementation of the ICRA 2022 paper OPV

Runsheng Xu 322 Dec 23, 2022
Jetson Nano-based smart camera system that measures crowd face mask usage in real-time.

MaskCam MaskCam is a prototype reference design for a Jetson Nano-based smart camera system that measures crowd face mask usage in real-time, with all

BDTI 212 Dec 29, 2022
This is a package for LiDARTag, described in paper: LiDARTag: A Real-Time Fiducial Tag System for Point Clouds

LiDARTag Overview This is a package for LiDARTag, described in paper: LiDARTag: A Real-Time Fiducial Tag System for Point Clouds (PDF)(arXiv). This wo

University of Michigan Dynamic Legged Locomotion Robotics Lab 159 Dec 21, 2022
A real-time motion capture system that estimates poses and global translations using only 6 inertial measurement units

TransPose Code for our SIGGRAPH 2021 paper "TransPose: Real-time 3D Human Translation and Pose Estimation with Six Inertial Sensors". This repository

Xinyu Yi 261 Dec 31, 2022
E2VID_ROS - E2VID_ROS: E2VID to a real-time system

E2VID_ROS Introduce We extend E2VID to a real-time system. Because Python ROS ca

Robin Shaun 7 Apr 17, 2022