tmddn833 / sgm_gpu_ros

GPU implementation of SGM for ROS

Repository from Github https://github.comtmddn833/sgm_gpu_rosRepository from Github https://github.comtmddn833/sgm_gpu_ros

A ROS package of Semi-Global Matching on the GPU

sgm_gpu is a ROS package which contains a nodelet based on Semi-Global Matching on the GPU by D. Hernandez-Juarez .

Prerequisite

Without Docker

With Docker

  • Docker
  • Docker Compose
  • Nvidia Docker2

Run

$ cd <YourCatkinWorkspace>/src
$ git clone https://github.com/ActiveIntelligentSystemsLab/sgm_gpu_ros.git
$ cd ..
$ catkin_make
$ roslaunch sgm_gpu test.launch

Run with Docker

$ git clone https://github.com/ActiveIntelligentSystemsLab/sgm_gpu_ros.git
$ cd sgm_gpu_ros/docker
$ xhost +local:root
$ sudo docker-compose up

sgm_gpu_node

A node calculates disparity from stereo image topic.

Subscribed topics

  • left_image (sensor_msgs/Image)

    Rectified image topic from left camera. Should be remapped.

  • right_image (sensor_msgs/Image)

    Rectified image topic from right camera. Should be remapped.

  • <base topic of left_image>/camera_info (sensor_msgs/CameraInfo)

    Subscribed automatically based on topic of left_image.

  • <base topic of right_image>/camera_info (sensor_msgs/CameraInfo)

    Subscribed automatically based on topic of right_image.

Published topic

Parameters

Limitations

  • Disparity range is [0, 127]

Using package with airsim

While running unreal engine, you can make sgm depth map with stereo camera by setting ~/Document/Airsim/settings.json with given settings.json file

$ roslaunch airsim_ros_pkgs airsim_node.launch
$ roslaunch sgm_gpu_ros test_airsim.launch

About

GPU implementation of SGM for ROS

License:GNU General Public License v3.0


Languages

Language:C++ 72.1%Language:Cuda 24.2%Language:CMake 3.5%Language:Shell 0.2%