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