This code is an extended version of YOLO_ORB_SLAM3, which adds the functionality of creating dense point cloud maps.
- Object Detect
- Dynamic SLAM
- PointCloudMapping
Fig 2 : Static Scene(left) vs Dynamic Scene(right)
We have tested on:
OS = Ubuntu 20.04
OpenCV = 4.2
Eigen3 = 3.3.9
Pangolin = 0.5
ROS = Noetic
You can download the compatible version of libtorch from Baidu Netdisk code: 8y4k, then
unzip libtorch.zip
mv libtorch/ PATH/YOLO_ORB_SLAM3_with_pointcloud_map/Thirdparty/
wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcpu.zip
unzip libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcpu.zip
mv libtorch/ PATH/YOLO_ORB_SLAM3_with_pointcloud_map/Thirdparty/
cd YOLO_ORB_SLAM3_with_pointcloud_map
chmod +x build.sh
./build.sh
Only the rgbd_tum target will be build.
Add the path including Examples/ROS/YOLO_ORB_SLAM3_with_pointcloud_map to the ROS_PACKAGE_PATH environment variable. Open .bashrc file:
gedit ~/.bashrc
and add at the end the following line. Replace PATH by the folder where you cloned YOLO_ORB_SLAM3_with_pointcloud_map:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/YOLO_ORB_SLAM3_with_pointcloud_map/Examples/ROS
Then build
chmod +x build_ros.sh
./build_ros.sh
Only the RGBD target has been improved.
The frequency of camera topic must be lower than 15 Hz.
You can run this command to change the frequency of topic which published by the camera driver.
roslaunch YOLO_ORB_SLAM3_with_pointcloud_map camera_topic_remap.launch
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE
roslaunch YOLO_ORB_SLAM3_with_pointcloud_map camera_topic_remap.launch
rosrun YOLO_ORB_SLAM3_with_pointcloud_map RGBD PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE