/ros2_intel_realsense

Primary LanguageC++Apache License 2.0Apache-2.0

ROS2 Wrapper for Intel® RealSense™ Devices

These are packages for using Intel RealSense cameras (D400 series) with ROS2.

Note: If you want T265 supported, please check out this branch

Installation Instructions

The following instructions were verified with ROS2 Dashing on Ubutnu 18.04.

Dependencies

Install ROS2 packages ros-dashing-desktop

Install ROS2 dependences

sudo apt-get install ros-dashing-cv-bridge ros-dashing-librealsense2 ros-dashing-message-filters ros-dashing-image-transport

Or you may install from sources:

Install Other non-ROS debian packages

sudo apt-get install -y libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
  • libssl-dev
  • libusb-1.0-0-dev
  • pkg-config
  • libgtk-3-dev
  • libglfw3-dev
  • libgl1-mesa-dev
  • libglu1-mesa-dev

Install ros2_intel_realsense binary packages

sudo apt-get install ros-dashing-realsense-camera-msgs ros-dashing-realsense-ros2-camera

The ros2_intel_realsense packages installation have been completed. You could jump to Usage Instructions for executing, you could also install ros2_intel_realsense from source for more features.

Install ros2_intel_realsense from source

#get code
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/intel/ros2_intel_realsense.git

#build
cd ~/ros2_ws
source /opt/ros/dashing/setup.bash
colcon build --base-paths src/ros2_intel_realsense

Usage Instructions

Start the camera node

To start the camera node in ROS2, plug in the camera, then type the following command:

source /opt/ros/dashing/setup.bash
source ~/ros2_ws/install/local_setup.bash
# To launch with "ros2 run"
ros2 run realsense_ros2_camera realsense_ros2_camera
# OR, to invoke the executable directly
realsense_ros2_camera

This will stream all camera sensors and publish on the appropriate ROS2 topics. PointCloud2 is enabled by default, till we provide ROS2 python launch options.

Published Topics

Rectified depth image: /camera/depth/image_rect_raw

Color image: /camera/color/image_raw

Rectified infra1 image: /camera/infra1/image_rect_raw

Rectified infra2 image: /camera/infra2/image_rect_raw

Depth registered point cloud: /camera/aligned_depth_to_color/color/points

Visualize Depth Aligned (i.e. Depth Registered) Point Cloud

To start the camera node in ROS2 and view the depth aligned pointcloud in rviz:

source /opt/ros/dashing/setup.bash
source ~/ros2_ws/install/local_setup.bash
# console #1 launch rviz2
ros2 run rviz2 rviz2 -d realsense_ros2_camera/rviz/ros2.rviz
# console #2 launch realsense_ros2_camera
ros2 run realsense_ros2_camera realsense_ros2_camera

This will launch RViz and display the five streams: color, depth, infra1, infra2, pointcloud.

realsense_ros2_camera visualization results

Run tests

colcon test --base-paths src/ros2_intel_realsense

Known Issues

  • This ROS2 node does not currently provide any dynamic reconfigure support for camera properties/presets.
  • We support Ubuntu Linux Bionic Beaver 18.04 on 64-bit, but not support Mac OS X 10.12 (Sierra) and Windows 10 yet.

Todo

A few features to be ported from the latest ROS realsense

  • Preset/Controls

License

Copyright 2018 Intel Corporation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

*Other names and brands may be claimed as the property of others

Any security issue should be reported using process at https://01.org/security