RealSense ROS1 Node

The ROS Wrapper for RealSense™ cameras allows you to use RealSense™ cameras with ROS1.

These are the ROS (1) supported Distributions:
:pushpin: Note: The latest ROS (1) release is version 2.3.2.

  • Noetic Ninjemys (Ubuntu 20.04 Focal)
  • Melodic Morenia (Ubuntu 18.04 Bionic)
  • Kinetic Kame (Ubuntu 16.04 Xenial)

ROS Documentation and Installation instructions can be found at: https://docs.ros.org

:pushpin: Note: Check the ROS Release documentation at ROS official distributions
:pushpin: Note: Check https://realsenseai.com/message-to-customers/ for supported cameras.

Getting Started

  • ROS1 installation Instructions and distributions – link

ROS Camera nodes examples

Link to ExampleExperience levelSupported CamerasLink to GitHub
Starting camera nodeD400, L500, T265rs_camera.launch
PointCloud visualizationD400demo_pointcloud.launch
rs_rgbd.launch
rs_d435_camera_with_model.launch
Align DepthD400rs_aligned_depth.launch
T265 examplesT265rs_t265.launch
demo_t265.launch
Open from FileD400, L500, T265rs_from_file.launch
Multiple D400 cameras⭐:star:D400rs_multiple_devices.launch
D400 +T265 cameras⭐:star:D400+T265rs_d400_and_t265.launch
SLAM with T265 and D400⭐:star:D400+T265rs_rtabmap.launch
2D occupancy map with D400 + T265⭐:star:D400+T265occupancy
Object Analytics⭐:star:D400ros_object_analytics
Multiple cameras showing a semi-unified pointcloud⭐:star:D400Showcase-of-using-2-cameras

Published Topics

The published topics differ according to the device and parameters.
See the table below for Topics supported according to SKUs.
For a full list of topics type ‘rostopic list‘ with your camera connected.

D400 Stereo Depth Cameras

FeatureTopicCamera Model
Color/camera/color/camera_info
/camera/color/image_raw
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
Applies to all D400 camera with RGB, ie: D415, D435, D435i, D455
  • Note: /color refers to the stream coming out and /rgb_camera refers to the device itself
Depth/Stereo/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
All D400
  • Note: /depth refers to the stream coming out and /stereo_module refers to the device itself
Extrinsics/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2
All D400
after enabling color/infra1/infra2
Left IR Imager/camera/infra1/camera_info
/camera/infra1/image_rect_raw
All D400
after enabling infra1
Right IR Imager/camera/infra2/camera_info
/camera/infra2/image_rect_raw
All D400
after enabling infra2
PointCloud/camera/depth/color/pointsAll D400
after enabling pointcloud
IMU/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/gyro/imu_info
/camera/gyro/sample (See Note)
/camera/accel/imu_info
/camera/accel/sample (See Note)
Applies to all D400 cameras with IMU: D435i, D455

Notes:

  • After setting parameter unite_imu_method these topics are replaced with /camera/imu
  • /gyro and /accel refer to the streams coming out of the device and /motion_module to the device itself
Other/diagnostics
/tf
/tf_static
All D400

L500 Lidar Depth Cameras

FeatureTopicCamera Model
Color/camera/color/camera_info
/camera/color/image_raw
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
L515
Depth/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/l500_depth_sensor/parameter_descriptions
/camera/l500_depth_sensor/parameter_updates
L515
IR Imager/camera/infra/camera_info
/camera/infra/image_raw
L515
after enabling infra
Extrinsics/camera/extrinsics/depth_to_colorL515
PointCloud/camera/depth/color/pointsL515
after enabling pointcloud
IMU/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/gyro/imu_info
/camera/gyro/sample (See Note)
/camera/accel/imu_info
/camera/accel/sample (See Note)
L515

Notes:

  • After setting parameter unite_imu_method these topics are replaced with /camera/imu
  • /gyro and /accel refer to the streams coming out of the device and /motion_module to the device itself
Other/diagnostics
/tf
/tf_static
L515

T265 Tracking Camera

FeatureTopicCamera Model
Odometry/camera/odom/sampleT265
Tracking/camera/tracking_module/parameter_descriptions
/camera/tracking_module/parameter_updates
T265
Fisheye/camera/fisheye1/camera_info
/camera/fisheye1/image_raw
/camera/fisheye2/camera_info
/camera/fisheye2/image_raw
T265
after enabling fisheye1, fisheye2
IMU/camera/gyro/imu_info
/camera/gyro/sample (See Note)
/camera/accel/imu_info
/camera/accel/sample (See Note)
T265
  • Note: after setting parameter unite_imu_method these topics are replaced with /camera/imu
Other/diagnostics
/tf
/tf_static
T265

:pushpin: Note: ‘/camera’ prefix can be modified:

  • The “/camera” prefix in the topics is the default parameter and can be changed – refer to tf_prefix parameter in the table below.
  • rs_multiple_devices.launch demonstrates how to modify the /camera prefix for multiple cameras

Launch parameters

FeatureTopicComment
compressed-image-transport/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/infra1/image_rect_raw/compressed
/camera/infra1/image_rect_raw/compressed/parameter_descriptions
/camera/infra1/image_rect_raw/compressed/parameter_updates
/camera/infra2/image_rect_raw/compressed
/camera/infra2/image_rect_raw/compressed/parameter_descriptions
/camera/infra2/image_rect_raw/compressed/parameter_updates
Requires compressed-image-transport package installed such as package ros-kinetic-compressed-image-transport
compressed-depth-image-transport/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/infra1/image_raw/compressedDepth
/camera/infra1/image_raw/compressedDepth/parameter_descriptions
/camera/infra1/image_raw/compressedDepth/parameter_updates
/camera/infra2/image_rect_raw/compressedDepth
/camera/infra2/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra2/image_rect_raw/compressedDepth/parameter_updates
Requires compressed-depth-image-transport package installed such as package ros-kinetic-theora-image-transport
theora-image-transport/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
Requires theora-image-transport package installed such as package ros-kinetic-theora-image-transport

📘 Notes:

(1) See detail description of filters at Post-processing filters

  • colorizer: will color the depth image. On the depth topic an RGB image will be published, instead of the 16bit depth values.
  • pointcloud: will add a pointcloud topic /camera/depth/color/points. The texture of the pointcloud can be modified in rqtreconfigure (see below) or using the parameters:_pointcloud_texture_stream and pointcloud_texture_index. Run ‘rqt_reconfigure’ to see available values for these parameters.

(2) Setting unite_imu_method creates a new topic, imu, that replaces the default gyro and accel topics. The imu topic is published at the rate of the gyro. All the fields of the Imu message under the imu topic are filled out.

  • linear_interpolation: Every gyro message is attached by the accel message interpolated to the gyro’s timestamp.
  • copy: Every gyro message is attached by the last accel message.

Dynamic Reconfigure Parameters

The following command allow to change camera control values using [http://wiki.ros.org/rqt_reconfigure].

rosrun rqt_reconfigure rqt_reconfigure

Last Updated: February 6, 2026

Top
Contact Sales