ORB_SLAM3 with ROS2 support
OS: Ubuntu 22.04 LTS ROS Distro: Humble
Pangolin for visualization and user interface. Tested with Pangolin 0.9.1.
sudo apt install ros-humble-pangolinFoxglove for visualization.
sudo apt install ros-humble-foxglove-bridgeOpenCV for manipulating images and features. Tested with OpenCV 4.5.x.
sudo apt install libopencv-devEigen3 for linear algebra computation like matrices, vectors, numerical solvers, and related algorithms. Tested with Eigen3 3.4.0.
sudo apt install libeigen3-devSophus for Lie groups computation. Tested with Sophus 1.22.x.
sudo apt install ros-humble-sophusWe use binary vocabulary file for faster loading and lower file size. The converted vocabulary file is placed in ORB_SLAM3/vocabulary/ORBvoc.bin. We also provide a python script for convertion in asset/python/voc2bin.py, in case you want to use your own vocabulary.
Simply run ./build.sh if your're using the same ROS distro with me. If not, modify the second line source /opt/ros/humble/setup.bash to suit your ROS environment.
Visualization is enabled by default. If you're not using this function pass -DENABLE_PREVIEW=OFF when compiling.
./build.sh -DENABLE_PREVIEW=OFFRunning ORB_SLAM3 with Realsense D435i module for example.
Currently only support RGB-D mode.
source /opt/ros/humble/setup.bash
source install/setup.bash
ros2 launch orb_slam3 realsense_435i.launch.pyPass parameter foxglove_bridge=True in your launch command.
Follow the Foxglove official documentation.
- Support pointcloud map publish
- Make visualization compile optional
- Support Foxglove for visualization
- Implement RGB-D with inertial mode
- Make vocabulary file binary