4.2. All available services for camera control

Note: Services related to a specific stream (e.g., /camera/set_color_*) are only available if that stream is enabled in the launch file (e.g., enable_color:=true).

4.2.1. Stream Control

4.2.1.1. Color Stream

  • /camera/toggle_color

    ros2 service call /camera/toggle_color std_srvs/srv/SetBool '{data: true}'
    
  • /camera/get_color_exposure & /camera/get_color_gain

    ros2 service call /camera/get_color_exposure orbbec_camera_msgs/srv/GetInt32 '{}'
    ros2 service call /camera/get_color_gain orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_color_auto_exposure

    ros2 service call /camera/set_color_auto_exposure std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_color_exposure & /camera/set_color_gain

    ros2 service call /camera/set_color_exposure orbbec_camera_msgs/srv/SetInt32 '{data: 1}'
    ros2 service call /camera/set_color_gain orbbec_camera_msgs/srv/SetInt32 '{data: 64}'
    
  • /camera/set_color_mirror, /camera/set_color_flip, /camera/set_color_rotation

    ros2 service call /camera/set_color_mirror std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_color_flip std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_color_rotation orbbec_camera_msgs/srv/SetInt32 '{data: 180}'
    
  • /camera/set_color_ae_roi

    # data_param: [Left, Right, Top, Bottom]
    ros2 service call /camera/set_color_ae_roi orbbec_camera_msgs/srv/SetArrays '{data_param: [0,1279,0,719]}'
    

4.2.1.2. Depth Stream

  • /camera/toggle_depth

    ros2 service call /camera/toggle_depth std_srvs/srv/SetBool '{data: true}'
    
  • /camera/get_depth_exposure & /camera/get_depth_gain

    ros2 service call /camera/get_depth_exposure orbbec_camera_msgs/srv/GetInt32 '{}'
    ros2 service call /camera/get_depth_gain orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_depth_auto_exposure

    ros2 service call /camera/set_depth_auto_exposure std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_depth_exposure & /camera/set_depth_gain

    ros2 service call /camera/set_depth_exposure orbbec_camera_msgs/srv/SetInt32 '{data: 3000}'
    ros2 service call /camera/set_depth_gain orbbec_camera_msgs/srv/SetInt32 '{data: 64}'
    
  • /camera/set_depth_mirror, /camera/set_depth_flip, /camera/set_depth_rotation

    ros2 service call /camera/set_depth_mirror std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_depth_flip std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_depth_rotation orbbec_camera_msgs/srv/SetInt32 '{data: 180}'
    
  • /camera/set_depth_ae_roi

    # data_param: [Left, Right, Top, Bottom]
    ros2 service call /camera/set_depth_ae_roi orbbec_camera_msgs/srv/SetArrays '{data_param: [0,847,0,479]}'
    

4.2.1.3. IR Stream

  • /camera/toggle_ir

    ros2 service call /camera/toggle_ir std_srvs/srv/SetBool '{data: true}'
    
  • /camera/get_ir_exposure & /camera/get_ir_gain

    ros2 service call /camera/get_ir_exposure orbbec_camera_msgs/srv/GetInt32 '{}'
    ros2 service call /camera/get_ir_gain orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_ir_long_exposure

    ros2 service call /camera/set_ir_long_exposure std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_ir_auto_exposure

    ros2 service call /camera/set_ir_auto_exposure std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_ir_exposure & /camera/set_ir_gain

    ros2 service call /camera/set_ir_exposure orbbec_camera_msgs/srv/SetInt32 '{data: 3000}'
    ros2 service call /camera/set_ir_gain orbbec_camera_msgs/srv/SetInt32 '{data: 64}'
    
  • /camera/set_ir_mirror, /camera/set_ir_flip, /camera/set_ir_rotation

    ros2 service call /camera/set_ir_mirror std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_ir_flip std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/set_ir_rotation orbbec_camera_msgs/srv/SetInt32 '{data: 180}'
    
  • /camera/switch_ir

    ros2 service call /camera/switch_ir orbbec_camera_msgs/srv/SetString '{data: left}'
    

4.2.1.4. All Streams

  • /camera/get_streams_enable & /camera/set_streams_enable

    ros2 service call /camera/get_streams_enable orbbec_camera_msgs/srv/GetBool '{}'
    ros2 service call /camera/set_streams_enable std_srvs/srv/SetBool '{data: false}'
    

4.2.2. Sensor & Emitter Control

  • /camera/set_auto_white_balance & /camera/get_auto_white_balance

    ros2 service call /camera/set_auto_white_balance std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/get_auto_white_balance orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_white_balance & /camera/get_white_balance

    ros2 service call /camera/set_white_balance orbbec_camera_msgs/srv/SetInt32 '{data: 2800}'
    ros2 service call /camera/get_white_balance orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_laser_enable

    ros2 service call /camera/set_laser_enable std_srvs/srv/SetBool '{data: true}'
    

    /camera/get_laser_status

    ros2 service call /camera/get_laser_status orbbec_camera_msgs/srv/GetBool '{}'
    
  • /camera/set_ldp_enable & /camera/get_ldp_status

    ros2 service call /camera/set_ldp_enable std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/get_ldp_status orbbec_camera_msgs/srv/GetBool '{}'
    
  • /camera/set_ptp_config & /camera/get_ptp_config

    ros2 service call /camera/set_ptp_config std_srvs/srv/SetBool '{data: true}'
    ros2 service call /camera/get_ptp_config orbbec_camera_msgs/srv/GetBool '{}'
    
  • /camera/get_lrm_measure_distance

    ros2 service call /camera/get_lrm_measure_distance orbbec_camera_msgs/srv/GetInt32 '{}'
    
  • /camera/set_fan_work_mode

    ros2 service call /camera/set_fan_work_mode orbbec_camera_msgs/srv/SetInt32 '{data: 0}'
    
  • /camera/set_floor_enable

    ros2 service call /camera/set_floor_enable std_srvs/srv/SetBool '{data: true}'
    

4.2.3. Device Information & Management

  • /camera/get_device_info

    ros2 service call /camera/get_device_info orbbec_camera_msgs/srv/GetDeviceInfo
    
  • /camera/get_sdk_version

    ros2 service call /camera/get_sdk_version orbbec_camera_msgs/srv/GetString
    
  • /camera/reboot_device

    ros2 service call /camera/reboot_device std_srvs/srv/Empty '{}'
    

4.2.4. Synchronization & Triggering

  • /camera/send_software_trigger

    ros2 service call /camera/send_software_trigger std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_sync_hosttime

    ros2 service call /camera/set_sync_hosttime std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_reset_timestamp

    # Only available when time_domain param is set to device
    ros2 service call /camera/set_reset_timestamp std_srvs/srv/SetBool '{data: true}'
    
  • /camera/set_sync_interleaverlaser

    # Only available if interleave_ae_mode is 'laser' and interleave_frame_enable is true
    ros2 service call /camera/set_sync_interleaverlaser orbbec_camera_msgs/srv/SetInt32 '{data: 0}'
    

4.2.5. Depth Filter Configuration

  • /camera/set_filter

    # Set DecimationFilter
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: DecimationFilter, filter_enable: false, filter_param: [5]}'
    
    # Set SpatialAdvancedFilter
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: SpatialAdvancedFilter, filter_enable: true, filter_param: [0.5,160,1,8]}'
    
    # Set SequenceIdFilter
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: SequenceIdFilter, filter_enable: true, filter_param: [1]}'
    
    # Set ThresholdFilter
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: ThresholdFilter, filter_enable: true, filter_param: [0,15999]}'
    
    # Set NoiseRemovalFilter
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: NoiseRemovalFilter, filter_enable: true, filter_param: [256,80]}'
    
    # Set HardwareNoiseRemoval
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: HardwareNoiseRemoval, filter_enable: true, filter_param: []}'
    
    # Set SpatialFastFilter
    # filter_param: [radius]
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: SpatialFastFilter, filter_enable: true, filter_param: [4]}'
    
    # Set SpatialModerateFilter
    # filter_param: [disp_diff, magnitude, radius]
    ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: SpatialModerateFilter, filter_enable: true, filter_param: [160,1,3]}'
    

4.2.6. Data Capture & Calibration Management

  • /camera/save_images

    ros2 service call /camera/save_images std_srvs/srv/Empty '{}'
    
  • /camera/save_point_cloud

    ros2 service call /camera/save_point_cloud std_srvs/srv/Empty '{}'
    

Note: The following services are currently supported only on the 435Le module. Each service can store only one set of data or string at a time.

  • /camera/write_customer_data & /camera/read_customer_data

    ros2 service call /camera/write_customer_data orbbec_camera_msgs/srv/SetString '{data: "string"}'
    ros2 service call /camera/read_customer_data orbbec_camera_msgs/srv/GetString '{}'
    
  • /camera/set_user_calib_params & /camera/get_user_calib_params

    ros2 service call /camera/set_user_calib_params orbbec_camera_msgs/srv/SetUserCalibParams \
    '{k: [614.9613647460938, 0.0, 634.91552734375,
          0.0, 614.65771484375, 391.407470703125,
          0.0, 0.0, 1.0],
      d: [-0.03131488710641861,
           0.032955970615148544,
           9.096559369936585e-05,
          -0.0003368517500348389,
          -0.01115430984646082,
           0.0, 0.0, 0.0],
      rotation: [0.9999880790710449,  0.0003024190664291382, -0.004874417092651129,
                -0.0002965621242765337, 0.9999992251396179,   0.001202247804030776,
                 0.004874777048826218, -0.0012007878394797444, 0.9999874234199524],
      translation: [-0.023897956848144532,
                    -9.439220279455185e-05,
                    -6.804073229432106e-06]}'
    ros2 service call /camera/get_user_calib_params orbbec_camera_msgs/srv/GetUserCalibParams '{}'