Authors: Dongsheng Yang, Shusheng Bi, Wei Wang, Chang Yuan, Wei Wang, Xianyu Qi, and Yueri Cai
DRE-SLAM is developed for a differential-drive robot that runs in dynamic indoor scenarios. It takes the information of an RGB-D camera and two wheel-encoders as inputs. The outputs are the 2D pose of the robot and a static background OctoMap.
Video: Youtube or Dropbox or Pan.Baidu
Paper: DRE-SLAM: Dynamic RGB-D Encoder SLAM for a Differential-Drive Robot, Dongsheng Yang, Shusheng Bi, Wei Wang, Chang Yuan, Wei Wang, Xianyu Qi, and Yueri Cai. (Remote Sensing, 2019) PDF, WEB
2. ROS Kinetic
Follow the instructions in: http://wiki.ros.org/kinetic/Installation/Ubuntu
sudo apt-get install ros-kinetic-cv-bridge ros-kinetic-tf ros-kinetic-message-filters ros-kinetic-image-transport ros-kinetic-octomap ros-kinetic-octomap-msgs ros-kinetic-octomap-ros ros-kinetic-octomap-rviz-plugins ros-kinetic-octomap-server ros-kinetic-pcl-ros ros-kinetic-pcl-msgs ros-kinetic-pcl-conversions ros-kinetic-geometry-msgs
4. OpenCV 4.0
We use the YOLOv3 implemented in OpenCV 4.0.
Follow the instructions in: https://opencv.org/opencv-4-0-0.html
Follow the instructions in: http://www.ceres-solver.org/installation.html
cd ~/catkin_ws/src
git clone https://github.com/ydsf16/dre_slam.git
cd dre_slam/third_party/DBoW2
mkdir build
cd build
cmake ..
make -j4
cd ../../Sophus
mkdir build
cd build
cmake ..
make -j4
cd ../../../object_detector
mkdir build
cd build
cmake ..
make -j4
cd ../../config
mkdir yolov3
cd yolov3
wget https://pjreddie.com/media/files/yolov3.weights
wget https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg?raw=true -O ./yolov3.cfg
wget https://github.com/pjreddie/darknet/blob/master/data/coco.names?raw=true -O ./coco.names
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
We collected several data sequences in our lab using our Redbot robot. The dataset is available at Pan.Baidu or Dropbox.
roslaunch dre_slam comparative_test.launch
rosbag play <bag_name>.bag
You need to do three things:
-
Calibrate the intrinsic parameter of the camera, the robot odometry parameter, and the rigid transformation from the camera to the robot.
-
Prepare a parameter configuration file, refer to the config folder.
-
Prepare a launch file, refer to the launch folder.
For any issues, please feel free to contact Dongsheng Yang: [email protected]