5.2.2. Multi_camera synced Instructions

The purpose of this document is to explain how to use multi-camera synced with OrbbecSDK_ROS1

5.2.2.1. Setup instructions

  • Please read the Multi-Camera Synchronization Setup Guide:Multi-Camera Synchronization Setup

  • Make sure the camera is correctly connected to the multi-camera synchronizer.

Depth Point Cloud Visualization

5.2.2.2. Checking camera port with OrbbecSDK_ROS1

rosrun orbbec_camera list_devices_node

5.2.2.3. OrbbecSDK_ROS1 multi-camera synced configuration

Open multi_camera_synced.launch.py, and configure the camera settings as shown below:

<launch>
    <arg name="camera_name" default="ob_camera"/>
    <arg name="3d_sensor" default="gemini_330_series"/>
    <arg name="camera1_prefix" default="01"/>
    <arg name="camera2_prefix" default="02"/>
    <arg name="camera1_usb_port" default="2-1.2.1"/>
    <arg name="camera2_usb_port" default="2-1.1"/>

    <arg name="device_num" default="2"/>
    <include file="$(find orbbec_camera)/launch/$(arg 3d_sensor).launch">
        <arg name="camera_name" value="$(arg camera_name)_$(arg camera1_prefix)"/>
        <arg name="usb_port" value="$(arg camera1_usb_port)"/>
        <arg name="device_num" value="$(arg device_num)"/>
        <arg name="sync_mode" default="software_triggering"/>
    </include>

    <include file="$(find orbbec_camera)/launch/$(arg 3d_sensor).launch">
        <arg name="camera_name" value="$(arg camera_name)_$(arg camera2_prefix)"/>
        <arg name="usb_port" value="$(arg camera2_usb_port)"/>
        <arg name="device_num" value="$(arg device_num)"/>
        <arg name="sync_mode" default="hardware_triggering"/>
    </include>
</launch>
  1. gemini_330_series.launch is the launch file for starting the camera.

  2. Set camera_name to ob_camera_01. For example, the published color image topic will be /ob_camra_01/color/image_raw.

  3. Set usb_port to 2-1.2.1, indicating that the camera device on port 2-1.2.1 is being used. This value can be found in the output of the rosrun orbbec_camera list_devices_node command.

  4. Set device_num to 2, meaning two cameras will be used.

  5. Set sync_mode to primary to indicate that the 2-7 camera device is in primary mode. The multi-camera sync mode options can be found in the figure below.

  6. For slave cameras, set trigger_out_enabled to false.

Pattern Name Setting effect description
free_run -Support different frame rate settings
The -8-pin synchronization interface does not support external output of synchronization-related signals
standalone(default) ● Same as Primary by default
● Built-in RGBD frame synchronization
● 8-pin synchronous interface does not output signals to the outside by default
primary ● Set as primary camera
● 8-pin synchronous interface output signal to external device
secondary ● Set as secondary (passive synchronization; When there is a hardware continuous trigger signal input from the outside and the continuous trigger signal matches the currently set frame rate, the image is collected according to the external trigger signal; When there is no external trigger signal, the flow is stopped)
● 8-pin synchronous interface output signal to external device
secondary_synced ● Set to secondary synchronization (passive synchronization; When there is a hardware continuous trigger signal input from the outside and the continuous trigger signal matches the currently set frame rate, the image is collected according to the external trigger signal; When there is no external trigger signal, the image is collected according to the internal trigger signal at the set frame rate)
● 8-pin synchronous interface output signal to external device
hardware_triggering ● Set as hardware trigger (passive trigger; When there is a hardware trigger signal input from the outside and the trigger signal time interval is not less than the current upper limit, the image is collected according to the external trigger signal; When there is no external trigger signal, the image is not collected)
● 8-pin synchronous interface output signal to external device
software_triggering ● Set as software trigger (passive trigger; When there is a trigger command input from the host computer and the trigger command time interval is not less than the current upper limit, the image is collected according to the trigger command; When there is no trigger command, the image is not collected)
● 8-pin synchronous interface output signal to external device
  • The master camera should be launched last.

  • Ideally, there should be a 2-second delay between starting each camera.

5.2.2.4. Run the following command to start the multi-camera synced

roslaunch orbbec_camera multi_camera_synced.launch