1. Connection preparation
1.1.multi-camera Sync Hub Pro and Cable
Table 1-1: Summary of Multi-Camera Synchronization Hub Pro and Cable
Description | Qty | Purchase Link | Remarks Description | Example |
3D Camera | N | Corresponding links for each product | N≥ 2 | Gemini 335 :2 |
Multi-Camera Sync Hub Pro | 1 | Purchase Link | 1 hub supports 1 primary and up to 8 Secondary cameras | Quantity: 1 |
Multi-camera Sync Adapter for Gemini&Astra series | N | Purchase Link | SH1.0-8P synchronous patch cord | Quantity: 2 |
Multi-camera Sync Adapter for Femto series | N | Purchase Link | SH1.2-8P synchronous patch cord | N/A |
Network cable | N | To be provided by the user:
Network cable standard T568B To T568B,Cate5e and above specifications, network cable length can be confirmed according To the actual scene, recommended <10m |
Quantity: 2 | |
multi-camera synchronization hub Type-C power cable | 1 | To be provided by the user
|
Quantity: 1 | |
For camera power supply and data transmission USB3.0 Hub | 1 | Recommend purchase link | To be provided by the user | Quantity: 0;2+ USB ports of computers can meet the requirement |
1.2. Multi-camera Sync Dev Hub and Cable
Table 1-1 Summary of Multi-Camera Synchronization Hub and Cable
Description | Qty | Purchase Link | Remarks Description | Example |
3D Camera | N | Corresponding links for each product | N≥ 2 | Gemini 335L:4 |
Multi-Camera Sync Hub Dev (Star/Daisy-Chain) | 1 | Purchase Link | 1 hub supports 1 primary and up to 4 secondary cameras | 1 |
Multi-Camera Sync Cable Dev for Gemini&Astra series | N | Purchase Link | SH1.0-8P synchronous cable | 4 |
Multi-Camera Sync Cable Dev for Femto series | N | Purchase Link | SH1.2-8P synchronous cable | N/A |
multi-camera synchronization hub Type-C power cable * 1 | 1 | To be provided by the user
|
1 | |
USB3.0 Hub*2 | 1 | Recommend purchase link | To be provided by the user | 1 |
* 1 Type-C power cable, power supply requirements 5V
* 2 for USB Hub with external power supply, the output current needs to meet the specification requirements of the product. The above recommend are the relevant USB Hub used in our actual test for reference. The required specification is Hub with external power supply, and the output requirement is 5V 2.4A.
1.3. Camera Power Supply Requirements
(1) After purchasing the camera, you can choose to power it either via USB 3.0 or PoE (Power over Ethernet) based on the specific camera model. (The camera must support PoE functionality.)
(2) When using a USB 3.0 Hub for power, verify whether the upstream device’s output current meets the product’s requirements according to the camera’s specifications. Typically, a computer’s USB 3.0 port outputs 900mA/4.5W. If this does not meet the product’s specifications, ensure the use of an external USB Hub with sufficient output current as per the product’s requirements. Please refer to Appendix 1 for detailed information.
For reference, we have tested the following USB Hubs for practical use:
Table 1-3 Reference Description of Camera Power Supply and Connection Cable
USB Hub Model | Specifications | Purchase Reference Link |
USB3.0 Hub | USB3.0 hub, output 5V 2.4A | USB Hub purchase link |
(3) Typically, to ensure adequate power supply for some cameras, the camera is factory-equipped with a Type-C to Type-C cable. When synchronizing multiple cameras, you will need to purchase Type-C to Type-A cables. Orbbec can provide official 1m/2m Type-A to Type-C cables . For longer cables, Please refer the document reference design&best practice-cable.
1.4. Platform Configuration
When running multi-camera synchronization, the host computer may need to simultaneously read and process data from multiple cameras. Therefore, we recommend using a sufficiently powerful host computer platform to ensure smooth operation of the multi-camera synchronization function. The following platform configurations have been tested previously and can support the normal operation, provided as a reference:
Table 1-4 Platform Configuration Description
Platform | X64 | ARM 64 | |
Hardware device | PC | Orin Nano | |
System | Windows 10 | Ubuntu20.04 | Ubuntu20.04 |
CPU | Intel i7-10750H | Intel i7-10750H | 6-core A78 |
RAM | 16GB | 16GB | 8G |
Typical number of supported secondary | Please refer to Appendix I for more details. |
*Linux Computer: USB Buffer Configuration on Ubuntu: By default, Linux-based hosts allocate only 16 MB of kernel memory for USB controller operations. This allocation may be insufficient for handling high-resolution images or multiple streams and devices. To support multiple devices, the USB controller requires more memory. Follow these steps to increase the memory allocation:
- Edit .
- Locate the following line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
(Or other contents within the quotes, depending on your system) Replace it with:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=128"
Note: This command sets the USB memory to 128 MB. This example configuration is eight times the default value. Adjust the value accordingly based on your specific requirements.
- Run .
- Restart your computer.
These steps will adjust the USB memory allocation to enhance performance, particularly when dealing with multiple devices or high data throughput scenarios.
2. Device Connection Operation Instructions
Below we will illustrate an example of star connection using Gemini 335 in conjunction with the developer version of the hub.
2.1. Detailed Camera Connection Steps:
Table 2-1 Detailed operation steps for camera connection
Operation steps | Overview of operating steps | Detailed description | Notes and Schematic Diagram |
1 | Preparation for connection | You will need to prepare the following items:
– 2x Gemini 335 cameras – 2x synchronization cables – 2x Type-A to Type-C cables – 1x multi-camera synchronization hub – 1x Type-C interface synchronization hub power cable |
|
2 | Connect the cables at the camera end. | Connect the USB cables and multi-camera synchronization cables as shown in the diagram.
Note: When connecting at the camera end, ensure the red line on the synchronization cable aligns with the rotational position of the synchronization port plug. Follow the host’s connection method to sequentially connect the secondary cameras (Secondary Cam 1/2/3/4) to the hub. |
|
3 | Connect the cables at the hub end | 1. Connect the host’s synchronization cable to the “Primary In” port of the multi-camera synchronization hub.
2. Connect the secondary cameras’ synchronization cables to the “Secondary: Cam” ports of the multi-camera synchronization hub. If there are multiple secondary cameras, connect them sequentially to Secondary Cam 1/2/3/4 ports on the hub. 3. Connect a 5V power supply to the Type-C port or DC port of the hub. [Note] For synchronization involving more than 4 secondary cameras, a synchronization extender is required. For detailed connection instructions, please refer to the datasheetof the multi-camera synchronization hub. |
|
4 | Connect the cameras to the host computer or USB hub. | Connect the cameras to the USB 3.0 ports on the host computer. | The USB hub must be USB 3.0 and independently powered.
If connecting directly to the host computer, ensure that the USB output current is ≥1.5 A. |
2.2. Complete Schematic Diagram of Camera Connections
Figure 2-1 Schematic diagram of complete camera connection
Number Name Description:
NO. | Description | No. | Description |
① | 3D camera | ⑤ | power supply cable |
② | multi-camera synchronization Hub | ⑥ | USB Hub |
③ | 8-Pin multi-camera synchronization cable | ⑦ | Host |
④ | USB data Cable |
see Appendix I for details of the connection instructions of the professional version
3. Camera Configuration
3.1. Use the Orbbec Viewer to configure and verify that synchronization takes effect
- Get Orbbec Viewer:Download Orbbec Viewer.
- Gemini 330 series synchronization effective confirmation method:
After connecting the camera according to the 2.1, open the Orbbec Viewer and perform the following configurations:
1) Primary configuration, as shown in Figure 3-1:
① Primary synchronization configuration mode is configured as Software Triggering
② Make sure the trigger out enable is available
③ Set the primary single trigger acquisition frame number, can be set to any value
④ Click on “Write” button to save the settings.
⑤Confirm synchronization configuration was saved successfully.
Figure 3-1 Gemini 335 Synchronization Validation Primary Configuration
2) Configuration of the secondary device, as shown in Figure 3-2:
① Set the secondary synchronization configuration mode to Hardware Triggering.
② Make sure the trigger out enable is available if using daisy-chain topology,and this is not required for star topology.
③ Set the number of frames for single-trigger data collection on the secondary device, which can be configured to any value.
⑤Confirm synchronization configuration was saved successfully.
Figure 3-2 Gemini 335 Synchronization Validation Secondary Configuration
3) Toggle the depth and color buttons for the Primary and Secondary . The depth stream for both device do not display, but the color stream are functioning correctly, as shown in Figure 3-3:
① Toggle the depth and color buttons for the Primary.
② Toggle the depth and color buttons for the Secondary.
③ Neither the Primary nor the Secondary outputs depth stream; only the color stream are outputted.
Figure 3-3 Gemini 335 Synchronization Validation secondary Configuration
4) Synchronization verification process as shown in Figure 3-4:
① Click the “Trigger Once” button on the Primary. Both the Primary and Secondary should capture stream normally, indicating that camera synchronization is functioning (hardware connection OK). If synchronization is not working, the Secondary device will not capture the specified number of frames after triggering from the Primary.
Figure 3-4 Gemini 335 synchronization validation
- Confirmation of Astra 2 synchronization effectiveness is detailed in Appendix III.
- Confirmation of Femto Mega/Bolt synchronization effectiveness is detailed in Appendix IV.
- The synchronization verification method for Gemini 2 series is the same as for Gemini 330 series, with the only difference being that Gemini 2 series supports RGB triggering.
3.2. Using the SDK to run a multi-camera synchronization example
3.2.1 Initial Configuration for multi-camera Synchronization
SDK Acquisition: Download Orbbec SDK
In the SDK program folder:\OrbbecSDK_C_C++_v1.10.8_20240604_d1671a341_win_x64_release\OrbbecSDK_v1.10.8\Example\bin
Find the configuration file “MultiDeviceSyncConfig.json”, and configure it as shown in the following figure. After configuration, save the settings. (The following is a reference setting for the Gemini 330 series)
Figure 3-2-1 Gemini 335 multi-camera synchronization example configuration
*Detailed configuration parameter explanations and the configuration parameters for different cameras are available in Appendix V.
3.2.2 Running multi-camera synchronization Example
- Navigate to the directory where the SDK is installed on your system.
\OrbbecSDK_C_C++_v1.10.8_20240604_d1671a341_win_x64_release\OrbbecSDK_v1.10.8\Example\bin
- Find the executable file named “MultiDeviceSync” in the
- Run the “MultiDeviceSync” application by double-clicking on it or using the command line to execute it.
- When prompted, choose the option related to multi-camera synchronization. Typically, you would enter “0” (or follow the specific instructions provided in the application’s interface).
- Follow any additional prompts or instructions displayed by the application to set up and verify the synchronization between multiple devices.
This should initiate the example application and demonstrate how to synchronize multiple devices as per the capabilities of the Orbbec SDK version .
Figure 3-2-2 Example Operation Diagram of Gemini 335 multi-camera Synchronization
- Successful streaming and preview of multi-camera effects are shown in Figure 3-2-2 below.
Figure 3-2-3 Preview of multi-camera synchronous open streaming of Gemini 335
7.Checking the effect of multi-camera synchronization
① According to the designated device numbers as follows: Device#0 (Primary) and Device#1 (Secondary), locate the timestamps (Sensor timestamp for Gemini 335; Frame timestamp for Gemini 335L) that are closest to each other. These timestamps represent the synchronized timestamps between the two devices. The figure below illustrates that the depth synchronization timestamp between the Primary and Secondary devices shows a difference of 0 to 1ms, and the color synchronization timestamp also shows a difference of 0 to 1ms.
Figure 3-2-4 Gemini 335 multi-camera synchronization open-stream synchronization timestamp Log
3.3. Key Log
Table 3-3-1 Key Logs
Journal | Significance |
Device#0, color frame | RGB camera data stream for device 0 |
Device#0, depth frame | Depth camera data stream for device 0 |
Device#1, color frame | RGB camera data stream for device 1 |
Device#1, depth frame | Depth camera data stream for device 1 |
Note: When analyzing data, confirm based on the timestamps of different devices.
Table 3-3-2 Key Words
Key word | Meaning |
Device#X | X represents the device number. Device#0 and Device#1 are simply used to distinguish between different devices and are not related to the device IDs in the configuration file. |
color frame | Color stream |
depth frame | Depth stream |
Frame timestamp | Frame timestamp is critical for analyzing multi-camera synchronization. Frames from the same batch of data across different devices have closely aligned timestamps. Conversely, frames with similar timestamps generally depict similar content. This can be verified by capturing dynamic objects and judging the similarity of scene content based on object positions. |
system timestamp | The system timestamp recorded after receiving a complete UVC data frame. |
4. CAUTION
- After starting the device, press ‘ESC’ in the image preview window to stop the data stream and exit the program. Abnormal program termination may cause incomplete shutdown of the device, leading to continuous triggering of the secondary device (restarting the device can resolve this).
- The same device can only be accessed by one application at a time. Opening the same device with multiple applications simultaneously may cause anomalies. Please use with caution.
- Using AE (Auto Exposure) may result in synchronization delays due to significant environmental differences between cameras. It is recommended to use the SDK to call exposure control interfaces and set fixed exposures to mitigate this issue.
- For Linux computers, such as Ubuntu, the default kernel allocates only 16 MB of memory for USB controllers to handle USB transfers. This amount may be insufficient for high-resolution images or multiple streams and devices. To support multiple devices, the USB controller must have more memory allocated. Follow these steps to increase the allocated memory:
- Edit .
- Locate the following line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
(or other contents within quotes depending on your system) and replace it with:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=128"
Note: This command sets USB memory to 128 MB. This example sets it to 8 times the default value. Adjust as needed.
- Run .
- Restart your computer.
5. Code Development
Users can refer to the example source code and interface documentation provided in the SDK package directory to develop their code according to actual business requirements.
Key code:
// Update the configuration items of the configuration file, and keep the original configuration for other items
Autocor config = device-> Get multi devices yncconfig ();
CurConfig. syncMode = config->syncConfig.syncMode;
curConfig.depthDelayUs = config->syncConfig.depthDelayUs;
CurConfig. colorDelayUs = config->syncConfig.colorDelayUs;
CurConfig. trigger2ImageDelayUs = config->syncConfig.trigger2ImageDelayUs;
Curconfig. triggero-utenable = config-> syncconfig. triggero-utenable;
CurConfig. triggerOutDelayUs = config->syncConfig.triggerOutDelayUs;
CurConfig. framesPerTrigger = config->syncConfig.framesPerTrigger;
Device->setMultiDeviceSyncConfig(curConfig);
The enum names for different synchronization modes in the SDK:
/**
* @ brief The sync mode of the device
*/
Typedef enum {
/**
* @brief free run mode
* @ brief This device is not syncing with other devices
* @ brief "Color" and "Depth" can be set to different frame rates
*/
OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN = 1 << 0,
/**
* @brief standalone mode
* @ brief This device is not syncing with other devices
* @ brief "Color" and "Depth" should be set to the same frame rate, "Color" and "Depth" will be synchronized
*/
OB_MULTI_DEVICE_SYNC_MODE_STANDALONE = 1 << 1,
/**
* @brief primary mode
* @ brief This device is the primary device in a multi-camera system, which by default outputs trigger signals via the VSYNC_OUT pin on the synchronization port.
* @ brief The color and depth should be set to the same frame rate. Color and depth will synchronize, and adjustments can be made using @ref colorDelayUs, @ref depthDelayUs, or @ref trigger2ImageDelayUs.
*/
OB_MULTI_DEVICE_SYNC_MODE_PRIMARY = 1 << 2,
/**
* @brief secondary mode
* @ brief This device is the secondary device in a multi-camera system, which receives trigger signals via the VSYNC_IN pin on the synchronization port. By default, it outputs trigger signals via the VSYNC_OUT pin on the synchronization port.
* @ brief Color and depth should be set to the same frame rate. Color and depth will synchronize, and adjustments can be made using @ref colorDelayUs, @ref depthDelayUs, or @ref trigger2ImageDelayUs.
* @ brief After starting the stream, the device waits for trigger signals to begin capturing images and stops capturing images when the trigger signal stops.
*
* @ attention The frequency of trigger signals should match the frame rate set in the stream profile configured during stream startup.
*/
OB_MULTI_DEVICE_SYNC_MODE_SECONDARY = 1 << 3,
/**
* @brief secondary synced mode
* @ brief This device is the secondary device in a multi-camera system, which receives trigger signals via the VSYNC_IN pin on the synchronization port. By default, it outputs trigger signals via the VSYNC_OUT pin on the synchronization port.
* @ brief Color and depth should be set to the same frame rate. Color and depth will synchronize, and adjustments can be made using @ref colorDelayUs, @ref depthDelayUs, or @ref trigger2ImageDelayUs.
* @ brief After starting the stream, the device immediately begins capturing images and adjusts capture timing upon receiving trigger signals to synchronize with the primary device. The device continues capturing images even if trigger signals stop.
*
* @ attention The frequency of trigger signals should match the frame rate set in the stream profile configured during stream startup.
*/
OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED = 1 << 4,
/**
* @brief software triggering mode
* @ brief This device starts image capture upon receiving a capture command and by default outputs trigger signals via the VSYNC_OUT pin.
Capture commands can be sent from the host using @ref ob_device_trigger_capture.
The number of images captured per shot can be set using @ref framesPerTriggerForTriggeringMode
* @ brief Color and depth should be set to the same frame rate. Color and depth will synchronize, and adjustments can be made using @ref colorDelayUs, @ref depthDelayUs, or @ref trigger2ImageDelayUs.
* @ brief The frequency at which the user calls @ref ob_device_trigger_capture to send capture commands multiplied by the number of frames per trigger should be less than the frame rate set in the stream configuration file at startup.
*/
OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING = 1 << 5,
/**
* @brief hardware triggering mode
* @ brief This device starts image capture upon receiving a trigger signal via the VSYNC_IN pin on the synchronization port and by default outputs trigger signals via the VSYNC_OUT pin. The number of images captured per shot can be set using @ref framesPerTriggerForTriggeringMode.
* @ brief Color and depth should be set to the same frame rate. Color and depth will synchronize, and adjustments can be made using @ref colorDelayUs, @ref depthDelayUs, or @ref trigger2ImageDelayUs.
*
* @ attention The frequency at which trigger signals are received multiplied by the number of frames per trigger should be less than the frame rate set in the stream configuration file at startup.
* @ attention In hardware triggering mode or software triggering mode, the trigger signals input via the VSYNC_IN pin on the synchronization port should be output by other devices via the VSYNC_OUT pin.
* @ attention Due to potential differences in signal input requirements among different device models, do not use trigger signals output from different device models as input trigger signals.
*/
OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING = 1 << 6,
} ob_multi_device_sync_mode,
OBMultiDeviceSyncMode;
6. Subsidiary function
6.1.Use Orbbec Viewer to view device SN
When connecting multiple devices, follow these steps to view the SN (serial number) and connection method of the selected camera:
- Select the corresponding device from the options in the top left corner as shown in Step ① of the following figure.
- Then, click according to Step ② in the figure to view the SN and connection method of the selected camera.
Figure 6-2 diagram of the device SN viewed by the Orbbec Viewer
6.2. Viewing multi-camera Synchronization Configuration in Orbbec Viewer
① After connecting the devices, open the Orbbec Viewer tool. If multiple devices are connected, you need to select the devices. If only one device is connected, no selection is required as the device will be recognized automatically.
② Click on “Device Control” and expand “Synchronization Configuration” to display relevant parameters such as mode, color delay, depth delay, trigger output switch, signal output delay, and other information.
Figure 6-3 Schematic diagram of the equipment viewed by the Orbbec Viewer
Appendix I Typical number of supported secondary
Appendix Table 1-1: Supported number of secondary and power requirements
Product | Typical number of supported secondary | Maxunim of supported secondary | Power supply request |
Femto Mega | 1-4 units | 8 units | Use the camera’s built-in power supply. |
Femto Bolt | 1-4 units | 1-4 units | Use the camera’s built-in power supply. |
Gemini 2 | 1-4 units | Theoretical support for infinite expansion is contingent upon the performance of the host computer and bandwidth limitations. In practical tests, we have used four units. | Power supply:5V ; Current:≥1.5A |
Gemini 2 L | 1-4 units | Power supply:5V ; Current:≥2.0A | |
Gemini 2 XL | 1-4 units | Power supply:5V ; Current:≥2.0A | |
Gemini 330 series | 1-4 units | Power supply:5V ; Current:≥1.5A | |
Astra 2 | 1-4 units | 7 units | Power supply:5V ; Current:≥1.5A |
**The maximum number of supported peripherals depends on the performance of the host computer and bandwidth limitations. When connecting multiple cameras to a single USB 3.0 hub, the primary consideration is the bandwidth limitation of the host system. It’s also important to verify whether the host computer’s USB ports are connected through internal USB hubs or if they have multiple independent controllers. If bandwidth issues cause streaming problems, reducing resolution or frame rate can be chosen as a solution.
Appendix II Detailed Operation Steps for Multi-camera Sync Hub Pro Connection
Appendix Table 2-1 Detailed Operation Procedure Description of Camera Connection for Multi-camera Sync Hub Pro (The following Takes 2 Gemini330 series cameras as an example to illustrate)
Operation steps | Overview of operating steps | Detailed description | Notes and Schematic Diagram |
1 | Connection preparation | You need to prepare 2x Gemini 330 series cameras, 2x Multi-camera Sync Adapter , 2x network cables, and a Multi-camera Sync Hub Pro. | Note: 1. Specifications of network cable: T568B-T568B,Cate5e and above;
2、 Network cable length <10m |
2 | Camera end connection | Connect the camera end to the Multi-camera Sync Adapter, USB cable and network cable as shown on the right. | |
3 | Primary device hub-end connection | ① Connect one end of the network cable to the “Primary In” interface of the hub
② Connect the other end of the network cable to the synchronous adapter RJ45 interface of the Primary device. ③ Use the Type-C power cable to connect the Type-C 5V In of the synchronization hub and supply 5V power to it |
|
4 | secondary device hub-end connection | ① Connect one end of the network cable to the “Secondary Cam1” interface of the synchronization hub
② Connect the other end of the network cable to the synchronous adapter RJ45 interface of secondary 1 device. Note: If there are multiple cameras distributed, connect Secondary cam2/3/4 at one time according to the above Operation steps…. |
|
5 | Connect the camera to the host computer or USB Hub | Camera and USB Hub need to be connected to USB3.0 interface | The USB Hub needs to be USB3.0 with independent power supply;
If directly connected to the host computer, pleaseensure that the USB output current is ≥ 2.0 A. |
Appendix III Astra 2 Synchronization Confirmation Method
- After connecting the camera as described in section 2.1, open OrbbecViewer for the following configurations:
1) Configure the synchronization mode and parameters between the primary and the secondary according to Figure 3-1:
① Set the primary device sync mode to “Primary”
② Click ‘Write’
③ Select the secondary device, and set the sync mode to “Secondary-synced”
④ Set the secondary’s Trigger2Image delay [1] is ≥4000
⑤ Click ‘Write’
Note: [1] For star topology connection, set the secondary’s Trigger2Image delay between secondary 1 and the Prinary to be ≥4000 microseconds. If there are multiple secondary cameras, delays between secondary also need to be ≥4000 microseconds. For daisy-chain topology connection, set the secondary’s signal output delay to -1; this applies to all secondary.
Figure 3-1: Astra 2 Synchronization Confirmation Host/secondary Configuration Diagram
- Configure the depth frame rate for the host and the secondary as shown in Figure 3-2:
① Set the Primary depth frame rate to 30fps.
② Set the secondary depth frame rate to 15fps.
③ Toggle the depth and color buttons on the primary device, Ensure normal depth and color streams from primary device.
④ Toggle the depth and color buttons on the secondary device, Confirm normal color stream from the secondary, with no depth imaging as expected.
Figure 3-2: Astra 2 Synchronization Confirmation Diagram
⑤ Set the secondary depth frame rate to 30fps to confirm synchronization is effective with normal data output (refer to Figure 3-3).
Figure 3-3: Astra 2 Synchronization Confirmation Diagram
[Note] Ineffective synchronization is indicated when the primary operates at 30fps for depth, and the secondary at 15fps for depth. When depth imaging is enabled on both devices, the secondary should display depth imaging correctly under these conditions.
Appendix IV Confirmation Method for Femto Mega/Bolt Synchronization Effectiveness
- Open OrbbecViewer and configure Femto Mega/Bolt as follows:
1) Configure the synchronization mode and parameters between the primary and the secondary cameras, as shown in Figure 3-1:
① Set the primary camera mode to: Primary
② Click ‘Write’
③ Select the secondary camera, and set the mode to: Secondary
④ Configure the secondarydepth delay: ≥125us, recommended 160us
⑤ Click ‘Write’
Figure 4-1: Femto Mega/Bolt Synchronization Confirmation Host/Slave Configuration Diagram
2) Verification Method for Synchronization:
① Toggle the depth and color buttons on the secondary device. Neither depth nor color data streams are output from the secondary device.
Figure 4-2: Femto Mega/Bolt Synchronization Effectiveness Verification Diagram
② After enabling depth and color on the primary device, observe normal depth and color imaging on the secondary device to confirm synchronization is effective.
Figure 4-3: Femto Mega/Bolt Synchronization Effectiveness Verification Diagram
[Note] Ineffective synchronization is indicated if the secondary camera does not produce images when the primary is enabled, or if the secondary produces images without the primary being enabled.
Appendix V Synchronous Configuration Details
1. Profile description:
{
“version”: “1.0.0”,
“configTime”: “2023/01/01”,
“devices”: [
{
“sn”: “AY3A131007M”, // 1. Configure Primary SN, case-sensitive.
“syncConfig”: {
“syncMode”: “OB_MULTI_DEVICE_SYNC_MODE_PRIMARY”, // 2. The sync mode is Configured to the PRIMARY mode.
“depthDelayUs”: 0, // 3. Configure depth trigger delay, unit: microseconds
“colorDelayUs”: 0, // 4. Configure color trigger delay, unit: microseconds
“trigger2ImageDelayUs”: 0, // 5. Configure trigger image delay, unit: microseconds
“triggerOutEnable”: true, // 6. Configure trigger signal output enable.
“triggerOutDelayUs”: 0 // 7. Configure trigger signal output delay, unit: microsecond
“framesPerTrigger”: 1 // 8. Configure the number of frames captured by each trigger in the trigger mode
}
},
{
“sn”: “AY3JB20003C”, // 9. Configure secondary SN,case-sensitive.
“syncConfig”: {
“syncMode”: “OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED”, // 10. All configurations are set to OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED except for Femto series,The Femto series is configured to OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
“depthDelayUs”: 0, // 11.Configure depth trigger delay, unit: microseconds
“colorDelayUs”: 0, // 12. Configure color trigger delay, unit: microseconds
“trigger2ImageDelayUs”: 0, // 13. Configure the trigger image delay, unit: microseconds
“triggerOutEnable”: true, // 14. Configure trigger output enable,
“triggerOutDelayUs”: 0 // 15. Configure the trigger signal output delay, unit: microseconds
“framesPerTrigger”: 1 // 16. Configure the number of frames captured by each trigger in the trigger mode
}
}
]
}
① JSON files do not support comments, please do not copy the above comments.
The user can add configuration in the configuration file according to the actual number of devices used.
③ The camera SN number can be found on the camera housing, or it can be viewed on the device information page after connecting the device through the Orbbec Viewer tool.
④ When the primary mode is set, triggerOutEnable is forcibly set to true, and triggerOutDelayUs is forcibly set to 0.
2. multi-camera synchronization mode definition description:
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 |
3. List of product support modes:
Free Run | Standalone
(Default) |
Primary | Secondary | Secondary-synced | Hardware Triggering | Software Triggering | |
Gemini 330 series | Support | Support | Support | N/A | Support | Support | Support |
Gemini 2 | Support | Support | Support | N/A | Support | Support | Support |
Gemini 2 L | Support | Support | Support | N/A | Support | Support | Support |
Gemini2 XL | Support | Support | Support | N/A | Support | Support | Support |
Astra 2 | Support | Support | Support | N/A | Support | N/A | N/A |
Femto Mega | Support | Support | Support | Support | N/A | N/A | N/A |
Femto Bolt | Support | Support | Support | Support | N/A | N/A | N/A |
The camera delay setting uses the default configuration.
4. Comparison list of camera delay settings
Product NameDepth Delay(us)
Product Name | Primary | Secondary | Remark | ||||||
Color Delay
(us) |
Tigger2Image Delay
(us) |
Trigger Out Delay
(us) |
Depth Delay
(us) |
Color Delay
(us) |
Tigger2Image Delay
(us) |
Trigger Out Delay
(us) |
|||
Gemini 330 series | 0 | 0 | N/A | 0 | 0 | 0 | N/A | 0 | |
Gemini 2 | N/A | N/A | 0 | N/A | N/A | N/A | 0 | N/A | |
Gemini 2 L | N/A | N/A | 0 | N/A | N/A | N/A | 0 | N/A | |
Gemini 2 XL | N/A | N/A | 0 | N/A | N/A | N/A | 0 | N/A | |
Astra 2 | N/A | N/A | 0 | -1 | N/A | N/A | Daisy-chain: 0
Star : Delay between secondary devices ≥ 4000 µs. For example, 4000/8000, etc. |
Daisy-chain: -1;
Star:0 |
Trigger Out Delay :-1 represents the default exposure output time for the camera;
0 indicates that no external trigger signal is being sent. |
Femto Mega | 0 | 0 | N/A | N/A | 160/
320… |
0 | N/A | 0 | |
Femto Bolt | 0 | 0 | N/A | N/A | 160/
320… |
0 | N/A | 0 |
*The above delay values are recommended default settings. Users may adjust these values to any amount greater than the default based on actual needs, allowing for synchronization with external devices by modifying the delay.