Version

4.3. Available Topics

Topics are organized by stream and function. By default, all topics are published under the /camera namespace, which can be changed with the camera_name launch parameter.

Note: Topics for a specific stream (e.g., /camera/color/...) are only published if their corresponding launch parameter (e.g., enable_color) is set to true.

4.3.1. Image Streams

These topics provide the raw image data and corresponding calibration information for each enabled camera stream. The pattern is consistent for color, left_color, right_color, depth, ir, left_ir, and right_ir streams.

  • /camera/color/image_raw

    • ROS image data from the color stream. When this topic is subscribed, color images with input formats YUYV, UYVY, I420, NV12, NV21, or MJPG are converted or decoded to rgb8 on the host before publishing; RGB and RGB888 are published with rgb8, while BGR, RGBA, and BGRA retain the corresponding bgr8, rgba8, and bgra8 encodings.

  • /camera/color/image_raw/compressed

    • Compressed image data from the MJPG color stream. When color_format:=MJPG is used, subscribe to this topic to avoid extra decoding in the ROS wrapper and reduce CPU usage.

  • /camera/color/camera_info

    • Camera calibration data and metadata for the color stream.

  • /camera/color/metadata

    • Low-level metadata from the color stream firmware.

  • /camera/left_color/image_raw

    • ROS image data from the left color stream.

  • /camera/right_color/image_raw

    • ROS image data from the right color stream.

  • /camera/depth/image_raw

    • Raw image data from the depth stream.

    • When depth_colorizer_mode is none, the topic keeps the raw depth encoding. gray changes the published encoding to mono8; jet and jet_inv change it to rgb8.

  • /camera/depth/camera_info

    • Camera calibration data and metadata for the depth stream.

  • /camera/depth/metadata

    • Low-level metadata from the depth stream firmware.

  • /camera/depth/image_unaligned

    • Depth image before software alignment.

    • Condition: Published only when depth_registration is true, align_mode is SW, and the alignment target is COLOR (software D2C); it is not published for software C2D or hardware alignment.

  • /camera/confidence/image_raw

    • Confidence image generated by EnhancedDepthFilter, encoded as mono8 or mono16 according to the confidence frame format.

    • Condition: Published when enhanced depth filtering succeeds and the topic has a subscriber.

  • /camera/ir/image_raw

    • Raw image data from the infrared (IR) stream.

  • /camera/ir/camera_info

    • Camera calibration data and metadata for the IR stream.

  • /camera/ir/metadata

    • Low-level metadata from the IR stream firmware.

  • /camera/left_ir/image_raw

    • Raw image data from the left IR stream.

  • /camera/right_ir/image_raw

    • Raw image data from the right IR stream.

4.3.2. LRM Obstacle Distance

  • /camera/lrm/obstacle_distance

    • Publishes the obstacle distance measured by LRM. The message type is std_msgs/msg/Int32, and the unit is millimeters.

    • Condition: Published only when enable_lrm_obstacle_distance_publish is true. Set the rate with lrm_obstacle_distance_publish_rate; the default is 10.0 Hz.

4.3.3. Point Cloud Topics

  • /camera/depth/points

    • Point cloud data generated from the depth stream.

    • Condition: Published only when enable_point_cloud is true.

  • /camera/depth_registered/points

    • Colored point cloud data, where the depth points are registered to the color image frame.

    • Condition: Published only when enable_colored_point_cloud is true.

4.3.4. IMU Topics

The Inertial Measurement Unit (IMU) topics provide accelerometer and gyroscope data. Their behavior depends on the synchronization setting.

  • /camera/accel/sample

    • Individual accelerometer data stream.

    • Condition: Published when enable_accel is true AND enable_sync_output_accel_gyro is false.

  • /camera/gyro/sample

    • Individual gyroscope data stream.

    • Condition: Published when enable_gyro is true AND enable_sync_output_accel_gyro is false.

  • /camera/gyro_accel/sample

    • Synchronized data stream containing both accelerometer and gyroscope data in a single message.

    • Condition: Published when enable_sync_output_accel_gyro is true.

  • /camera/accel/imu_info

    • Accelerometer calibration and noise characteristics. The type is orbbec_camera_msgs/msg/IMUInfo.

    • Condition: Available with accelerometer output.

  • /camera/gyro/imu_info

    • Gyroscope calibration and noise characteristics. The type is orbbec_camera_msgs/msg/IMUInfo.

    • Condition: Available with gyroscope output.

4.3.5. Extrinsics Topics

The following topics publish stream-to-stream extrinsics with type orbbec_camera_msgs/msg/Extrinsics:

  • /camera/depth_to_ir

  • /camera/depth_to_color

  • /camera/depth_to_left_ir

  • /camera/depth_to_right_ir

  • /camera/depth_to_accel

  • /camera/depth_to_gyro

  • /camera/left_color_to_right_color

Condition: enable_publish_extrinsic must be true, and both streams represented by the selected topic must be enabled. Only topics supported by the connected device are published.

4.3.6. Device Status & Diagnostics

  • /camera/device_status

    • Reports the current camera device status. The message type is orbbec_camera_msgs/msg/DeviceStatus.

    • The message contains the device online status, connection type, and calibration status, plus a streams array. Each entry includes topic_name, has_subscribers, publish_rate_hz, and delay_ms_avg; the status is published at 1 Hz.

  • /camera/depth_filters/status

    • Reports the structured status of the depth sensor’s post-processing filters. The type is orbbec_camera_msgs/msg/DepthFiltersStatus.

    • The message contains DepthFilterState[] filters; each filter state contains filter_name, enabled, and DepthFilterParam[] params.

  • /diagnostics

    • Publishes diagnostic information about the camera node. Currently, this includes the device temperature.