Version

4.2. Available services

The service names intuitively reflect their purposes. It’s crucial to understand that services related to setting or getting parameters—denoted as set_* and get_*—become available only when the respective enable_* parameters are activated. For instance, enabling features such as left infrared (IR) with enable_left_ir, right IR with enable_right_ir, depth sensing with enable_depth, or color processing with enable_color (refer to Launch Parameters) is a prerequisite for their corresponding services to be operational. This configuration ensures that services are accessible only when their specific stream is enabled in the launch file’s stream argument.

4.2.1. Color Stream

  • /camera/get_color_camera_info

rosservice call /camera/get_color_camera_info
  • /camera/get_color_exposure

rosservice call /camera/get_color_exposure
  • /camera/get_color_gain

rosservice call /camera/get_color_gain
  • /camera/set_color_auto_exposure

rosservice call /camera/set_color_auto_exposure 1
  • /camera/get_color_auto_exposure

rosservice call /camera/get_color_auto_exposure
  • /camera/set_color_exposure

rosservice call /camera/set_color_exposure 100
  • /camera/reset_color_exposure

rosservice call /camera/reset_color_exposure
  • /camera/set_color_gain

rosservice call /camera/set_color_gain 16
  • /camera/reset_color_gain

rosservice call /camera/reset_color_gain
  • /camera/set_color_ae_roi

# In data_param, the first value is the Left setting, the second value is the Right setting, the third value is the Top setting, and the fourth value is the Bottom setting.
rosservice call /camera/set_color_ae_roi '{data_param:[0,1279,0,719]}'
  • /camera/set_color_mirror

rosservice call /camera/set_color_mirror 1
  • /camera/toggle_color

rosservice call /camera/toggle_color 1

4.2.2. Depth Stream

  • /camera/get_depth_camera_info

rosservice call /camera/get_depth_camera_info
  • /camera/get_depth_exposure

rosservice call /camera/get_depth_exposure
  • /camera/reset_depth_exposure

rosservice call /camera/reset_depth_exposure
  • /camera/get_depth_gain

rosservice call /camera/get_depth_gain
  • /camera/reset_depth_gain

rosservice call /camera/reset_depth_gain
  • /camera/set_depth_auto_exposure

rosservice call /camera/set_depth_auto_exposure 1
  • /camera/get_depth_auto_exposure

rosservice call /camera/get_depth_auto_exposure
  • /camera/set_depth_exposure

rosservice call /camera/set_depth_exposure 3000
  • /camera/set_depth_gain

# v2 version is not supported yet
rosservice call /camera/set_depth_gain 64
  • /camera/set_depth_ae_roi

# In data_param, the first value is the Left setting, the second value is the Right setting, the third value is the Top setting, and the fourth value is the Bottom setting.
rosservice call /camera/set_depth_ae_roi '{data_param:[0,1279,0,719]}'
  • /camera/set_depth_mirror

rosservice call /camera/set_depth_mirror 1
  • /camera/toggle_depth

rosservice call /camera/toggle_depth 1

4.2.3. IR Stream

  • /camera/get_ir_camera_info

rosservice call /camera/get_ir_camera_info
  • /camera/get_ir_exposure

rosservice call /camera/get_ir_exposure
  • /camera/reset_ir_exposure

rosservice call /camera/reset_ir_exposure
  • /camera/get_ir_gain

rosservice call /camera/get_ir_gain
  • /camera/reset_ir_gain

rosservice call /camera/reset_ir_gain
  • /camera/set_ir_auto_exposure

rosservice call /camera/set_ir_auto_exposure 1
  • /camera/set_ir_exposure

rosservice call /camera/set_ir_exposure 3000
  • /camera/set_ir_gain

rosservice call /camera/set_ir_gain 64
  • /camera/set_ir_mirror

rosservice call /camera/set_ir_mirror 1
  • /camera/switch_ir

rosservice call /camera/switch_ir left
  • /camera/toggle_ir

rosservice call /camera/toggle_ir 1

4.2.4. Runtime Stream Configuration

  • /camera/set_stream_profile

Switch one or more enabled image stream profiles while the node is running. stream_name accepts color, left_color, right_color, depth, ir, left_ir, and right_ir. Specify only the fields to change; use 0 for unchanged numeric fields and an empty string for an unchanged format. The node stops and restarts the streams during the switch. The service reports failure if the requested profile is already active.

rosservice call /camera/set_stream_profile "{profiles: [{stream_name: 'color', width: 1280, height: 720, fps: 30, format: 'MJPG'}]}"
  • /camera/set_image_registration_mode

Switch depth-color image registration at runtime. Valid values are OFF, HW_D2C, SW_D2C, and SW_C2D, case-insensitive. Both color and depth streams must be enabled for every mode except OFF. The node restarts streams automatically and restores the previous mode if the switch fails.

rosservice call /camera/set_image_registration_mode "{data: 'HW_D2C'}"

4.2.5. Sensor & Emitter Control

  • /camera/get_auto_white_balance

rosservice call /camera/get_auto_white_balance
  • /camera/set_auto_white_balance

rosservice call /camera/set_auto_white_balance 1
  • /camera/get_white_balance

rosservice call /camera/get_white_balance
  • /camera/reset_white_balance

rosservice call /camera/reset_white_balance
  • /camera/set_laser

rosservice call /camera/set_laser 1
  • /camera/get_laser_status

rosservice call /camera/get_laser_status
  • /camera/set_ldp

rosservice call /camera/set_ldp 1
  • /camera/get_ldp_status

rosservice call /camera/get_ldp_status
  • /camera/get_lrm_measure_distance

rosservice call /camera/get_lrm_measure_distance
  • /camera/set_flood

rosservice call /camera/set_flood 1
  • /camera/set_fan_work_mode

rosservice call /camera/set_fan_work_mode 1

4.2.6. Device Information & Management

  • /camera/get_device_info

rosservice call /camera/get_device_info
  • /camera/get_device_config

Get the currently effective device configuration state, such as preset, alignment mode, time domain, sync mode, and frame aggregate mode.

rosservice call /camera/get_device_config
  • /camera/get_device_type

rosservice call /camera/get_device_type
  • /camera/get_serial

rosservice call /camera/get_serial
  • /camera/get_sdk_version

rosservice call /camera/get_sdk_version
  • /camera/get_camera_params

rosservice call /camera/get_camera_params
  • /camera/export_config_json

Export the current device configuration to an SDK JSON file. For the Gemini 330 series JSON import and export workflow, see Gemini 330 Series SDK JSON Usage Guide.

rosservice call /camera/export_config_json "data: '/tmp/orbbec_camera_config.json'"
  • /camera/set_bag_recording

Record current device data with SDK bag recording. enable: true starts recording and enable: false stops recording. When file_path is empty, the default file name is created in the current working directory.

rosservice call /camera/set_bag_recording "enable: true
file_path: '/tmp/orbbec_record.bag'"
rosservice call /camera/set_bag_recording "enable: false
file_path: ''"
  • /camera/reboot_device

rosservice call /camera/reboot_device

4.2.7. Synchronization

  • /camera/get_ptp_config

rosservice call /camera/get_ptp_config
  • /camera/set_ptp_config

rosservice call /camera/set_ptp_config true
  • /camera/send_software_trigger

rosservice call /camera/send_software_trigger "data: true"
  • /camera/set_sync_io_voltage_level

Set the sync IO voltage level. This is only supported on devices that expose the property.

rosservice call /camera/set_sync_io_voltage_level 0

4.2.8. Disparity Configuration

  • /camera/set_disparity_range_mode

rosservice call /camera/set_disparity_range_mode 1
  • /camera/set_disparity_search_offset

rosservice call /camera/set_disparity_search_offset 0

4.2.9. AE Configuration

  • /camera/set_ae_reference_stream

rosservice call /camera/set_ae_reference_stream color

Supported Modules: Gemini 301 series.

  • /camera/set_ae_strategy

rosservice call /camera/set_ae_strategy motion

Supported Modules: Gemini 301 series.

4.2.10. Depth Filter Configuration

  • /camera/set_filter

For FalsePositiveFilter startup parameters, status checks, and named-parameter tuning examples, see Gemini 330 Series FalsePositiveFilter Usage Guide. For EnhancedDepthFilter environment requirements, startup parameters, and status checks, see the Gemini 330 Series EnhancedDepthFilter Usage Guide.

# filter_name is the filter name, and filter_enable indicates whether the filter is enabled.
# filter_param is the legacy positional parameter form; filter_config is the new named parameter form.
# filter_param and filter_config cannot be used at the same time.

# Set DecimationFilter: [scale]
rosservice call /camera/set_filter '{filter_name: DecimationFilter, filter_enable: false, filter_param: [5]}'

# Set SpatialAdvancedFilter: [alpha, disp_diff, magnitude, radius]
rosservice call /camera/set_filter '{filter_name: SpatialAdvancedFilter, filter_enable: true, filter_param: [0.5,160,1,8]}'

# Set SequenceIdFilter: [sequence_id]
rosservice call /camera/set_filter '{filter_name: SequenceIdFilter, filter_enable: true, filter_param: [1]}'

# Set ThresholdFilter: [min, max]
rosservice call /camera/set_filter '{filter_name: ThresholdFilter, filter_enable: true, filter_param: [0,15999]}'

# Set NoiseRemovalFilter: [min_diff, max_size]
rosservice call /camera/set_filter '{filter_name: NoiseRemovalFilter, filter_enable: true, filter_param: [256,80]}'

# Set HardwareNoiseRemoval: [threshold]
rosservice call /camera/set_filter '{filter_name: HardwareNoiseRemoval, filter_enable: true, filter_param: [0.2]}'

# Set SpatialFastFilter: [radius]
rosservice call /camera/set_filter '{filter_name: SpatialFastFilter, filter_enable: true, filter_param: [4]}'

# Set SpatialModerateFilter: [disp_diff, magnitude, radius]
rosservice call /camera/set_filter '{filter_name: SpatialModerateFilter, filter_enable: true, filter_param: [160,1,3]}'

# Set FalsePositiveFilter: []
rosservice call /camera/set_filter '{filter_name: FalsePositiveFilter, filter_enable: true, filter_param: []}'

# Set EnhancedDepthFilter: [confidence_threshold]. The threshold must be an integer from 0 to 255.
rosservice call /camera/set_filter '{filter_name: EnhancedDepthFilter, filter_enable: true, filter_param: [60]}'

# Set MgcNoiseRemovalFilter / LutNoiseRemovalFilter: []
rosservice call /camera/set_filter '{filter_name: MgcNoiseRemovalFilter, filter_enable: true, filter_param: []}'
rosservice call /camera/set_filter '{filter_name: LutNoiseRemovalFilter, filter_enable: true, filter_param: []}'

# Set EdgeNoiseRemovalFilter: []
rosservice call /camera/set_filter '{filter_name: EdgeNoiseRemovalFilter, filter_enable: true, filter_param: []}'

# Tune filters with named parameters
rosservice call /camera/set_filter "{filter_name: NoiseRemovalFilter, filter_enable: true, filter_config: [{name: min_diff, value: '256'}, {name: max_size, value: '80'}]}"
rosservice call /camera/set_filter "{filter_name: HardwareNoiseRemovalFilter, filter_enable: true, filter_config: [{name: threshold, value: '0.2'}]}"
rosservice call /camera/set_filter "{filter_name: SpatialAdvancedFilter, filter_enable: true, filter_config: [{name: alpha, value: '0.5'}, {name: disp_diff, value: '160'}, {name: magnitude, value: '1'}, {name: radius, value: '8'}]}"
rosservice call /camera/set_filter "{filter_name: EnhancedDepthFilter, filter_enable: true, filter_config: [{name: confidence_threshold, value: '60'}]}"

# Set DispOutliersFilter. search_mode accepts FULL or OFFSET_80, case-insensitive.
rosservice call /camera/set_filter "{filter_name: DispOutliersFilter, filter_enable: true, filter_config: [{name: search_mode, value: 'FULL'}]}"

/camera/set_filter can only enable or disable EnhancedDepthFilter or adjust confidence_threshold. The model path, stream configuration, and alignment method must be configured with launch parameters.

4.2.11. Data Capture & Calibration Management

  • /camera/get_color_camera_info

rosservice call /camera/get_color_camera_info
  • /camera/get_depth_camera_info

rosservice call /camera/get_depth_camera_info
  • /camera/get_ir_camera_info

rosservice call /camera/get_ir_camera_info
  • /camera/save_images

rosservice call /camera/save_images
  • /camera/save_point_cloud

rosservice call /camera/save_point_cloud