This is an implementation of RGBDSLAM_V2 that utilizes AMD MIVisionX for feature detection and ROCm OpenCL for offloading computations to Radeon GPUs.
Follow the steps in INSTRUCTIONS_PREREQUISITES.md to install the prerequisites of RGBDSLAM_v2 on ROS Kinetic.
After installing the prerequisites, use these instructions to install and run RGBDSLAM_v2.
- Make a catkin workspace and clone this repo inside the source folder of the workspace
- Set the environment variable OpenCV_DIR to </path/to/opencv/build>
- Use catkin_make to build
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/ICURO-AI-LAB/RGBDSLAMv2-MIVisionX.git
cd ..
export OpenCV_DIR=</path/to/opencv/build>
catkin_make
- Pre-recorded data from a ROSBag
source catkin_ws/devel/setup.bash
roslaunch rgbdslam test_settings.launch bagfile_name:=<path/to/rosbag>
- Live
source catkin_ws/devel/setup.bash
roslaunch rgbdslam rgbdslam.launch
- Camera Info: /camera/rgb/camera_info
- RGB Image : /camera/rgb/image_color
- Depth Image: /camera/depth/image
The camera driver must be run using a separate ROS package. For example, Microsoft Kinect One (Kinect v2) can be run using https://github.com/code-iai/iai_kinect2. Once the driver is running, the topics have to be relayed appropriately.
Sample ROS bags for quickly testing the installation can be found here
Scripts for building and running a docker image is provided in this directory. This can be used to easily install RGBDSLAMv2 without dependency issues.
Dockerfile.rgbdslam builds an image with all the prerequisites installed. Follow the instructions below to install RGBDSLAMv2 in the docker image
Note 1: If you are running Ubuntu 18.04, uncomment lines 115-118 in RGBDSLAMv2-MIVisionX/docker/Dockerfile.rgbdslam Note 2: If you are running Ubuntu 16.04, uncomment lines 121-125 in RGBDSLAMv2-MIVisionX/docker/Dockerfile.rgbdslam Note 3: Building the docker image might take a long time as PCL 1.8 is set to be built using -j1. This can be made faster if desired, but is not recommended as the process takes a large amount of memory.
- Build the docker image
cd RGBDSLAMv2-MIVisionX/docker/
./build
This builds a docker image called rgbdslamv2mivisionx
- Run the image as a container
cd RGBDSLAMv2-MIVisionX/docker/
./run
- Once you are in the container, run RGBDSLAMv2
cd ~
source catkin_ws/devel/setup.bash
roslaunch rgbdslam test_settings.launch bagfile_name:=<path/to/rosbag>