Wiki

Only released in EOL distros:  

Package Summary

RealSense Camera package allowing access to Intel 3D cameras and advanced modules

  • Maintainer status: maintained
  • Maintainer: Sergey Dorodnicov <sergey.dorodnicov AT intel DOT com>, Itay Carpis <itay.carpis AT intel DOT com>
  • Author: Rajvi Jingar <rajvi.jingar AT intel DOT com>, Reagan Lopez <reagan.lopez AT intel DOT com>, Matt Hansen <matthew.k.hansen AT intel DOT com>, Mark Horn <mark.d.horn AT intel DOT com>
  • License: BSD 3-clause. See license attached
  • Bug / feature tracker: https://github.com/intel-ros/realsense/issues
  • Source: git https://github.com/intel-ros/realsense.git (branch: indigo-devel)

Package Summary

RealSense Camera package allowing access to Intel 3D cameras and advanced modules

  • Maintainer status: maintained
  • Maintainer: Sergey Dorodnicov <sergey.dorodnicov AT intel DOT com>, Itay Carpis <itay.carpis AT intel DOT com>
  • Author: Rajvi Jingar <rajvi.jingar AT intel DOT com>, Reagan Lopez <reagan.lopez AT intel DOT com>, Matt Hansen <matthew.k.hansen AT intel DOT com>, Mark Horn <mark.d.horn AT intel DOT com>
  • License: BSD 3-clause. See license attached
  • Bug / feature tracker: https://github.com/intel-ros/realsense/issues
  • Source: git https://github.com/intel-ros/realsense.git (branch: indigo-devel)

Overview

This package provides ROS node(s) for using the Intel® RealSense™ R200, F200 and SR300 cameras.

Installation

Installation Prerequisites

This package requires the librealsense package as the underlying camera drivers for all Intel® RealSense™ cameras. BEFORE installing the realsense-camera package, follow the Install Prerequisites for librealsense.

ROS Debian Package

Most users should only need to install the prebuilt ROS Debian packages.

sudo apt-get install 'ros-*-realsense-camera'

This will also install the required ros-<*distro*>-librealsense library on your system.

Build from Source (rare usage)

If a user needs to debug this package or contribute changes/bug fixes to the package, only then should the package need to be built from source. Please closely follow the directions provided on the Building from sources page.

Intel® RealSense™ Camera Firmware

To ensure you camera has the most current, supported firmware, please review the librealsense compatible device information. If the camera requires a firmware upgrade, please refer to the Intel® RealSense™ Camera software support page. Note: Currently there is no native Linux tool for FW updates; all updates require a system with Microsoft Windows.

Supported Camera Types

Support / Feature Requests

Please submit requests or report bugs concerning this package to the realsense_camera GitHub Issues.

ROS API

realsense_camera_nodelet

The Intel® RealSense™ camera driver.
Note: By default, the driver uses a preset mode for each camera. To change the stream width, height, or FPS, see the Changing Camera Parameters from the Default Presets tutorial.

Published Topics

Color camera
color/camera_info (sensor_msgs/CameraInfo) color/image_raw (sensor_msgs/Image)
Depth camera
depth/camera_info (sensor_msgs/CameraInfo) depth/image_raw (sensor_msgs/Image) depth/points (sensor_msgs/PointCloud2)
IR camera
Infra Red camera image ir/camera_info (sensor_msgs/CameraInfo) ir/image_raw (sensor_msgs/Image)
IR2 camera
Infra Red secondary camera image. Available only for R200 and ZR300 cameras. ir/camera_info (sensor_msgs/CameraInfo) ir/image_raw (sensor_msgs/Image)
Fisheye camera
Available only for ZR300 cameras. fisheye/camera_info (sensor_msgs/CameraInfo) ir/image_raw (sensor_msgs/Image)
IMU
Available only for ZR300 cameras. imu/data_raw (sensor_msgs/Imu)

Services

get_settings (std_srvs/Empty) set_power (std_srvs/Empty) force_power (realsense_camera/ForcePower) is_powered (std_srvs/Empty) get_imu_info (std_srvs/Empty)

Parameters

Static Parameters
mode (string, default: preset) serial_no (string, default: blank) usb_port_id (string, default: blank) camera_type (string, default: blank) enable_ir (bool, default: false) enable_depth (bool, default: true) depth_width (int, default: 480 (R200/ZR300), 640 (F200/SR300)) depth_height (int, default: 360 (R200/ZR300), 480 (F200/SR300)) depth_fps (int, default: 60) enable_color (bool, default: true) color_width (int, default: 640) color_height (int, default: 480) color_fps (int, default: 60) enable_fisheye (bool, default: true) fisheye_width (int, default: 640) fisheye_height (int, default: 480) fisheye_fps (int, default: 60) enable_imu (bool, default: true) enable_pointcloud (bool, default: false) enable_tf (bool, default: true) enable_tf_dynamic ('''Added in 1.7.0''') (bool, default: false) base_frame_id (string, default: camera_link) depth_frame_id (string, default: camera_depth_frame) depth_optical_frame_id (string, default: camera_depth_optical_frame) color_frame_id (string, default: camera_rgb_frame) color_optical_frame_id (string, default: camera_rgb_optical_frame) ir_frame_id (string, default: camera_ir_frame) ir_optical_frame_id (string, default: camera_ir_optical_frame) ir2_frame_id (string, default: camera_ir2_frame) ir2_optical_frame_id (string, default: camera_ir2_optical_frame) fisheye_frame_id (string, default: camera_fisheye_frame) fisheye_optical_frame_id (string, default: camera_fisheye_optical_frame) imu_frame_id (string, default: camera_imu_frame) imu_optical_frame_id (string, default: camera_imu_optical_frame)
R200 Dynamically Reconfigurable Parameters
R200 camera See the dynamic_reconfigure package for details on dynamically reconfigurable parameters. ~enable_depth (bool, default: True) ~color_backlight_compensation (int, default: 1) ~color_brightness (int, default: 56) ~color_contrast (int, default: 32) ~color_gain (int, default: 32) ~color_gamma (int, default: 220) ~color_hue (int, default: 0) ~color_saturation (int, default: 128) ~color_sharpness (int, default: 0) ~color_white_balance (int, default: 6500) ~color_exposure (int, default: 156) ~r200_lr_gain (int, default: 400) ~r200_lr_exposure (int, default: 164) ~color_enable_auto_white_balance (int, default: 1) ~color_enable_auto_exposure (int, default: 1) ~r200_lr_auto_exposure_enabled (int, default: 0) ~r200_auto_exposure_top_edge (int, default: 0) ~r200_auto_exposure_bottom_edge (int, default: 479) ~r200_auto_exposure_left_edge (int, default: 0) ~r200_auto_exposure_right_edge (int, default: 639) ~r200_emitter_enabled (int, default: 1) ~r200_dc_preset (int, default: 5) ~r200_dc_estimate_median_decrement (int, default: 5) ~r200_dc_estimate_median_increment (int, default: 5) ~r200_dc_median_threshold (int, default: 235) ~r200_dc_score_minimum_threshold (int, default: 27) ~r200_dc_score_maximum_threshold (int, default: 420) ~r200_dc_texture_count_threshold (int, default: 8) ~r200_dc_texture_difference_threshold (int, default: 80) ~r200_dc_second_peak_threshold (int, default: 70) ~r200_dc_neighbor_threshold (int, default: 90) ~r200_dc_lr_threshold (int, default: 12)
F200 Dynamically Reconfigurable Parameters
F200 camera See the dynamic_reconfigure package for details on dynamically reconfigurable parameters. ~enable_depth (bool, default: True) ~color_backlight_compensation (int, default: 1) ~color_brightness (int, default: 55) ~color_contrast (int, default: 32) ~color_gain (int, default: 64) ~color_gamma (int, default: 220) ~color_hue (int, default: 0) ~color_saturation (int, default: 128) ~color_sharpness (int, default: 0) ~color_white_balance (int, default: 3200) ~color_exposure (int, default: 156) ~color_enable_auto_white_balance (int, default: 1) ~color_enable_auto_exposure (int, default: 1) ~f200_laser_power (int, default: 16) ~f200_accuracy (int, default: 2) ~f200_motion_range (int, default: 1) ~f200_filter_option (int, default: 5) ~f200_confidence_threshold (int, default: 6)
SR300 Dynamically Reconfigurable Parameters
SR300 camera See the dynamic_reconfigure package for details on dynamically reconfigurable parameters. ~enable_depth (bool, default: True) ~color_backlight_compensation (int, default: 0) ~color_brightness (int, default: 0) ~color_contrast (int, default: 50) ~color_gain (int, default: 64) ~color_gamma (int, default: 300) ~color_hue (int, default: 0) ~color_saturation (int, default: 64) ~color_sharpness (int, default: 50) ~color_white_balance (int, default: 4600) ~color_enable_auto_white_balance (int, default: 1) ~color_exposure (int, default: 156) ~color_enable_auto_exposure (int, default: 1) ~f200_laser_power (int, default: 16) ~f200_accuracy (int, default: 1) ~f200_motion_range (int, default: 9) ~f200_filter_option (int, default: 5) ~f200_confidence_threshold (int, default: 3) ~sr300_auto_range_enable_motion_versus_range (int, default: 1) ~sr300_auto_range_enable_laser (int, default: 1) ~sr300_auto_range_min_motion_versus_range (int, default: 180) ~sr300_auto_range_max_motion_versus_range (int, default: 605) ~sr300_auto_range_start_motion_versus_range (int, default: 303) ~sr300_auto_range_min_laser (int, default: 2) ~sr300_auto_range_max_laser (int, default: 16) ~sr300_auto_range_start_laser (int, default: -1) ~sr300_auto_range_upper_threshold (int, default: 1250) ~sr300_auto_range_lower_threshold (int, default: 650)
ZR300 Dynamically Reconfigurable Parameters
ZR300 camera See the dynamic_reconfigure package for details on dynamically reconfigurable parameters. ~enable_depth (bool, default: True) ~color_backlight_compensation (int, default: 0) ~color_brightness (int, default: 0) ~color_contrast (int, default: 50) ~color_exposure (int, default: 166) ~color_gain (int, default: 64) ~color_gamma (int, default: 300) ~color_hue (int, default: 0) ~color_saturation (int, default: 64) ~color_sharpness (int, default: 50) ~color_white_balance (int, default: 4600) ~r200_lr_gain (int, default: 400) ~r200_lr_exposure (int, default: 164) ~color_enable_auto_exposure (int, default: 1) ~color_enable_auto_white_balance (int, default: 1) ~r200_lr_auto_exposure_enabled (int, default: 0) ~r200_emitter_enabled (int, default: 1) ~r200_depth_clamp_min (int, default: 0) ~r200_depth_clamp_max (int, default: 65535) ~fisheye_exposure (int, default: 40) ~fisheye_gain (int, default: 0) ~fisheye_enable_auto_exposure (int, default: 1) ~fisheye_auto_exposure_mode (int, default: 0) ~fisheye_auto_exposure_antiflicker_rate (int, default: 60) ~fisheye_auto_exposure_pixel_sample_rate (int, default: 1) ~fisheye_auto_exposure_skip_frames (int, default: 2) ~frames_queue_size (int, default: 20) ~hardware_logger_enabled (int, default: 0) ~r200_dc_preset (int, default: 5) ~r200_dc_estimate_median_decrement (int, default: 5) ~r200_dc_estimate_median_increment (int, default: 5) ~r200_dc_median_threshold (int, default: 235) ~r200_dc_score_minimum_threshold (int, default: 27) ~r200_dc_score_maximum_threshold (int, default: 420) ~r200_dc_texture_count_threshold (int, default: 8) ~r200_dc_texture_difference_threshold (int, default: 80) ~r200_dc_second_peak_threshold (int, default: 70) ~r200_dc_neighbor_threshold (int, default: 90) ~r200_dc_lr_threshold (int, default: 12)

Provided tf Transforms

Transform Restrictions
By default, transforms will be published as static as the camera transform data does not change. Due to a ROS bug which prevents publishing more than one static transform in separate processes, the same data can be published as a dynamic transform by setting enable_tf_dynamic=true. If two (or more) cameras will be run under the same Nodelet manager, then Dynamic Transforms should be used. Due to a bug in the driver for the F200/SR300 cameras, multiple F200/SR300 must be run under the same Nodelet manager implying the need for dynamic transforms to be used. camera_linkcamera_rgb_frame camera_rgb_framecamera_rgb_optical_frame camera_linkcamera_depth_frame camera_depth_framecamera_depth_optical_frame camera_linkcamera_ir_frame camera_ir_framecamera_ir_optical_frame camera_linkcamera_ir2_frame camera_ir2_framecamera_ir2_optical_frame camera_linkcamera_fisheye_frame camera_fisheye_framecamera_fisheye_optical_frame camera_linkcamera_imu_frame camera_imu_framecamera_imu_optical_frame

Running the Nodelet

R200 Cameras

$ roslaunch realsense_camera r200_nodelet_default.launch

F200 Cameras

$ roslaunch realsense_camera f200_nodelet_default.launch

SR300 Cameras

$ roslaunch realsense_camera sr300_nodelet_default.launch

ZR300 Cameras

$ roslaunch realsense_camera zr300_nodelet_default.launch

Sample launch files are available in launch directory. Make sure the correct "camera_type" is specified to launch the desired camera.

Launching Multiple Cameras

Note: The following example is based on R200 cameras. Similar options are applicable to F200, SR300 and ZR300 cameras too, just by updating the "camera_type".

For running multiple cameras simultaneously: Option 1: Using single nodelet manager for all the cameras

Use "r200_nodelet_multiple_cameras.launch". Option 2: Using separate nodelet manager for each camera

Create ".launch" files similar to "r200_nodelet_rgbd.launch" for each camera. You may choose to include (or not) the "processing.launch.xml" based on your requirement. Launch the ".launch" files for each camera in separate terminals. For either option you must:

Update the "camera" and either the "serial_no" or "usb_port_id" argument with unique values for each camera. "camera" should be a user friendly string that follows the ROS Names convention. (E.g. "camera1") "serial_no" is the camera serial number and can be found by running the nodelet and viewing the terminal output "usb_port_id" is Bus Number-Port Number in "Bus#-Port#" format, and can be found by using lsusb -t if both "serial_no" and "usb_port_id" are set, both much match the same camera

Limitations

/camera/depth_registered/hw_registered/image_rect_raw
/camera/depth_registered/hw_registered/image_rect
/camera/depth_registered/image
/camera/depth/disparity
/camera/depth_registered/disparity

Errata

See the GitHub Issues Bugs for a complete list.

Wiki: realsense_camera (last edited 2018-02-26 13:03:54 by ItayCarpis)