I am using Sync Hub Dev with 1.8V Logic Level, and successfully run MultiDeviceSync in the Orbbec SDK and see the two cameras synced timestamps.
Device#1, depth frame , frame timestamp=1776069220097, system timestamp=1776069220115
Device#0, depth frame , frame timestamp=1776069220098, system timestamp=1776069220115
Device#0, color frame , frame timestamp=1776069220097, system timestamp=1776069220128
Device#1, color frame , frame timestamp=1776069220097, system timestamp=1776069220128
using config.json as follows,
{
"version": "1.0.0",
"configTime": "2026/04/13",
"devices": [
{
"sn": "CPCBC53000FZ",
"syncConfig": {
"syncMode": "OB_MULTI_DEVICE_SYNC_MODE_PRIMARY",
"depthDelayUs": 0,
"colorDelayUs": 0,
"trigger2ImageDelayUs": 0,
"triggerOutEnable": true,
"triggerOutDelayUs": 0,
"framesPerTrigger": 1
}
},
{
"sn": "CPCBC53000EN",
"syncConfig": {
"syncMode": "OB_MULTI_DEVICE_SYNC_MODE_SECONDARY",
"depthDelayUs": 0,
"colorDelayUs": 0,
"trigger2ImageDelayUs": 0,
"triggerOutEnable": false,
"triggerOutDelayUs": 0,
"framesPerTrigger": 1
}
}
]
}
But I am not sure how to sync them in ROS2. For now I have set software_trigger_period to 0, device_num to 2, frames_per_trigger to 1; for primary camera, set sync_mode to primary, trigger_out_enabled to true; for secondary camera, set sync_mode to secondary_synced, trigger_out_enabled to false.
The launch logging is like this, which seems to be working, at least their sync modes are set. I have retried ros2 launch several times, and their timestamp differences are like 27us, 427us, 95us, 398us, 227us, 874us, 211us, 377us, 365us, 302us (stamp = msg.header.stamp.sec + msg.header.stamp.nanosec * 1e-9) Does that mean my settings are correct?
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [120837]
[INFO] [component_container-2]: process started with pid [120839]
[component_container-1] [INFO] [1776069652.455383127] [camera.camera_container]: Load Library: /root/ros2_ws/install/orbbec_camera/lib/liborbbec_camera.so
[component_container-1] [INFO] [1776069652.466934389] [camera.camera_container]: Found class: rclcpp_components::NodeFactoryTemplate<orbbec_camera::OBCameraNodeDriver>
[component_container-1] [INFO] [1776069652.466957233] [camera.camera_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<orbbec_camera::OBCameraNodeDriver>
[component_container-2] [INFO] [1776069652.467283213] [back_camera.camera_container]: Load Library: /root/ros2_ws/install/orbbec_camera/lib/liborbbec_camera.so
[component_container-1] [INFO] [1776069652.470864452] [camera.camera]: Device access mode: Default (4)
[component_container-1] [INFO] [1776069652.470880172] [camera.camera]: setUvcBackendType:libuvc
[component_container-2] [INFO] [1776069652.477192078] [back_camera.camera_container]: Found class: rclcpp_components::NodeFactoryTemplate<orbbec_camera::OBCameraNodeDriver>
[component_container-2] [INFO] [1776069652.477212178] [back_camera.camera_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<orbbec_camera::OBCameraNodeDriver>
[component_container-2] [INFO] [1776069652.482279289] [back_camera.back_camera]: Device access mode: Default (4)
[component_container-2] [INFO] [1776069652.482299092] [back_camera.back_camera]: setUvcBackendType:libuvc
[component_container-1] [INFO] [1776069654.612904208] [camera.camera]: startDevice called
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/back_camera/back_camera' in container '/back_camera/camera_container'
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/camera/camera' in container '/camera/camera_container'
[component_container-2] [INFO] [1776069654.612968677] [back_camera.back_camera]: startDevice called
[component_container-1] [INFO] [1776069654.623169152] [camera.camera]: Connecting to device with usb port: 2-8
[component_container-1] [INFO] [1776069654.623239627] [camera.camera]: Before lock: Select device usb port: 2-8
[component_container-1] [INFO] [1776069654.623270138] [camera.camera]: After lock: Select device usb port: 2-8
[component_container-2] [INFO] [1776069654.623180531] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-2] [INFO] [1776069654.723375992] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-1] [INFO] [1776069654.787346983] [camera.camera]: getDeviceByUid device usb port 2-8 done
[component_container-1] [INFO] [1776069654.787426742] [camera.camera]: Select device cost 164 ms
[component_container-1] [INFO] [1776069654.787467953] [camera.camera]: Try to connect device via USB3.2
[component_container-1] [INFO] [1776069654.787697524] [camera.camera]: OBCameraNode: use_intra_process: OFF
[component_container-1] OBFormatFromString: RGB
[component_container-1] OBFormatFromString: ANY
[component_container-1] OBFormatFromString: Y16
[component_container-1] OBFormatFromString: ANY
[component_container-1] OBFormatFromString: ANY
[component_container-1] [INFO] [1776069654.799085074] [camera.camera]: current time domain: global
[component_container-1] [INFO] [1776069654.799136949] [camera.camera]: hdr_index1_laser_control_ 1 hdr_index1_depth_exposure_ 1 hdr_index1_depth_gain_ 16 hdr_index1_ir_brightness_ 30 hdr_index1_ir_ae_max_exposure_ 30458
[component_container-1]
[component_container-1] [INFO] [1776069654.799147401] [camera.camera]: hdr_index0_laser_control_ 1 hdr_index0_depth_exposure_ 7500 hdr_index0_depth_gain_ 16 hdr_index0_ir_brightness_ 90 hdr_index0_ir_ae_max_exposure_ 30458
[component_container-1]
[component_container-1] [INFO] [1776069654.799154829] [camera.camera]: laser_index1_laser_control_ 0 laser_index1_depth_exposure_ 3000 laser_index1_depth_gain_ 16 laser_index1_ir_brightness_ 60 laser_index1_ir_ae_max_exposure_ 17000
[component_container-1]
[component_container-1] [INFO] [1776069654.799161954] [camera.camera]: laser_index0_laser_control_ 1 laser_index0_depth_exposure_ 3000 laser_index0_depth_gain_ 16 laser_index0_ir_brightness_ 60 laser_index0_ir_ae_max_exposure_ 30000
[component_container-1]
[component_container-2] [INFO] [1776069654.823549910] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-2] [INFO] [1776069654.923654148] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-1] [INFO] [1776069654.925234038] [camera.camera]: Setting heartbeat to OFF
[component_container-1] [INFO] [1776069654.925271030] [camera.camera]: Create align filter
[component_container-1] [INFO] [1776069654.925746534] [camera.camera]: Depth process is HW
[component_container-1] [INFO] [1776069654.925762173] [camera.camera]: Setting LDP to ON
[component_container-1] [INFO] [1776069654.926224033] [camera.camera]: Setting G300 laser control to 1
[component_container-1] [INFO] [1776069654.926536425] [camera.camera]: Available presets:
[component_container-1] [INFO] [1776069654.926547364] [camera.camera]: Preset 0: Default
[component_container-1] [INFO] [1776069654.926549903] [camera.camera]: Preset 1: AMR with IR-Pass
[component_container-1] [INFO] [1776069654.926552204] [camera.camera]: Preset 2: High Accuracy
[component_container-1] [INFO] [1776069654.926554162] [camera.camera]: Preset 3: Factory Calib
[component_container-1] [INFO] [1776069654.926555930] [camera.camera]: Preset 4: Custom
[component_container-1] [INFO] [1776069654.926557862] [camera.camera]: Load device preset: Default
[component_container-1] [INFO] [1776069654.927843580] [camera.camera]: Device preset Default loaded
[component_container-1] [INFO] [1776069654.927850937] [camera.camera]: Current sync mode: OB_MULTI_DEVICE_SYNC_MODE_PRIMARY
[component_container-1] [INFO] [1776069654.927857529] [camera.camera]: Set sync mode: OB_MULTI_DEVICE_SYNC_MODE_PRIMARY
[component_container-1] [INFO] [1776069654.927861969] [camera.camera]: Setting color mirror to OFF
[component_container-1] [INFO] [1776069654.927887886] [camera.camera]: Setting color flip to OFF
[component_container-1] [INFO] [1776069654.927893294] [camera.camera]: Setting depth mirror to OFF
[component_container-1] [INFO] [1776069654.927897052] [camera.camera]: Setting depth flip to OFF
[component_container-1] [INFO] [1776069654.927902070] [camera.camera]: Setting noise removal filter:OFF
[component_container-1] [INFO] [1776069654.927904657] [camera.camera]: Setting color auto white balance to ON
[component_container-1] [INFO] [1776069654.928073178] [camera.camera]: Setting color auto exposure priority to OFF
[component_container-1] [INFO] [1776069654.928144325] [camera.camera]: Setting color auto exposure to ON
[component_container-1] [INFO] [1776069654.928332684] [camera.camera]: Setting depth auto exposure priority to OFF
[component_container-1] [INFO] [1776069654.928641411] [camera.camera]: Setting IR auto exposure to ON
[component_container-1] [INFO] [1776069654.930935699] [camera.camera]: default noise removal filter min diff: 256
[component_container-1] [INFO] [1776069654.930987458] [camera.camera]: default noise removal filter max size: 80
[component_container-1] [INFO] [1776069654.931113125] [camera.camera]: Setting hardware noise removal filter:ON
[component_container-1] [INFO] [1776069654.931123617] [camera.camera]: Setting accel data correction to ON
[component_container-1] [INFO] [1776069654.931133218] [camera.camera]: Setting gyro data correction to ON
[component_container-1] [INFO] [1776069654.931302262] [camera.camera]: Setting DecimationFilter......
[component_container-1] [INFO] [1776069654.931315488] [camera.camera]: set DecimationFilter to false
[component_container-1] [INFO] [1776069654.931332075] [camera.camera]: Skip setting filter: DecimationFilter
[component_container-1] [INFO] [1776069654.931341694] [camera.camera]: Setting ThresholdFilter......
[component_container-1] [INFO] [1776069654.931348650] [camera.camera]: set ThresholdFilter to false
[component_container-1] [INFO] [1776069654.931355688] [camera.camera]: Skip setting filter: ThresholdFilter
[component_container-1] [INFO] [1776069654.931363879] [camera.camera]: Setting HDRMerge......
[component_container-1] [INFO] [1776069654.931375447] [camera.camera]: set HDRMerge to false
[component_container-1] [INFO] [1776069654.931382833] [camera.camera]: Skip setting filter: HDRMerge
[component_container-1] [INFO] [1776069654.931391249] [camera.camera]: Setting SequenceIdFilter......
[component_container-1] [INFO] [1776069654.931397960] [camera.camera]: set SequenceIdFilter to false
[component_container-1] [INFO] [1776069654.931405118] [camera.camera]: Skip setting filter: SequenceIdFilter
[component_container-1] [INFO] [1776069654.931412839] [camera.camera]: Setting SpatialFastFilter......
[component_container-1] [INFO] [1776069654.931419525] [camera.camera]: set SpatialFastFilter to false
[component_container-1] [INFO] [1776069654.931426549] [camera.camera]: Skip setting filter: SpatialFastFilter
[component_container-1] [INFO] [1776069654.931434366] [camera.camera]: Setting SpatialModerateFilter......
[component_container-1] [INFO] [1776069654.931441033] [camera.camera]: set SpatialModerateFilter to false
[component_container-1] [INFO] [1776069654.931448040] [camera.camera]: Skip setting filter: SpatialModerateFilter
[component_container-1] [INFO] [1776069654.931455628] [camera.camera]: Setting SpatialAdvancedFilter......
[component_container-1] [INFO] [1776069654.931462257] [camera.camera]: set SpatialAdvancedFilter to false
[component_container-1] [INFO] [1776069654.931469242] [camera.camera]: Skip setting filter: SpatialAdvancedFilter
[component_container-1] [INFO] [1776069654.931476749] [camera.camera]: Setting TemporalFilter......
[component_container-1] [INFO] [1776069654.931483347] [camera.camera]: set TemporalFilter to false
[component_container-1] [INFO] [1776069654.931490447] [camera.camera]: Skip setting filter: TemporalFilter
[component_container-1] [INFO] [1776069654.931498154] [camera.camera]: Setting HoleFillingFilter......
[component_container-1] [INFO] [1776069654.931504671] [camera.camera]: set HoleFillingFilter to false
[component_container-1] [INFO] [1776069654.931511634] [camera.camera]: Skip setting filter: HoleFillingFilter
[component_container-1] [INFO] [1776069654.931519188] [camera.camera]: Setting DisparityTransform......
[component_container-1] [INFO] [1776069654.931525999] [camera.camera]: set DisparityTransform to true
[component_container-1] [INFO] [1776069654.931532950] [camera.camera]: Skip setting filter: DisparityTransform
[component_container-1] [INFO] [1776069654.931908798] [camera.camera]: Setting DecimationFilter......
[component_container-1] [INFO] [1776069654.931921279] [camera.camera]: set color DecimationFilter to false
[component_container-1] [INFO] [1776069654.931948688] [camera.camera]: Setting SequenceIdFilter......
[component_container-1] [INFO] [1776069654.931957511] [camera.camera]: set right ir SequenceIdFilter to false
[component_container-1] [INFO] [1776069654.931973206] [camera.camera]: Setting SequenceIdFilter......
[component_container-1] [INFO] [1776069654.931980880] [camera.camera]: set left ir SequenceIdFilter to false
[component_container-1] [INFO] [1776069654.936321243] [camera.camera]: stream color is enabled - width: 1280, height: 800, fps: 30, Format: OB_FORMAT_RGB
[component_container-1] [INFO] [1776069654.937156704] [camera.camera]: stream depth is enabled - width: 1280, height: 800, fps: 30, Format: OB_FORMAT_Y16
[component_container-1] [INFO] [1776069654.937181983] [camera.camera]: stream gyro full scale range 1000dps sample rate 200hz
[component_container-1] [INFO] [1776069654.937196020] [camera.camera]: stream accel full scale range 4g sample rate 200hz
[component_container-1] [INFO] [1776069654.975141732] [camera.camera]: Publish diagnostics every 1 seconds
[component_container-2] [INFO] [1776069655.023826723] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-2] [ERROR] [1776069655.124165435] [back_camera.back_camera]: Failed to lock orb_device_lock_
[component_container-1] [INFO] [1776069655.269985289] [camera.camera]: Device Orbbec Gemini 336L connected
[component_container-1] [INFO] [1776069655.270066892] [camera.camera]: Serial number: CPCBC53000FZ
[component_container-1] [INFO] [1776069655.270079247] [camera.camera]: Firmware version: 1.6.00
[component_container-1] [INFO] [1776069655.270085857] [camera.camera]: ROS Wrapper version: 2.6.3
[component_container-1] [INFO] [1776069655.270135802] [camera.camera]: SDK version: 2.6.3
[component_container-1] [INFO] [1776069655.270144983] [camera.camera]: Hardware version: 0.1
[component_container-1] [INFO] [1776069655.270151721] [camera.camera]: usb connect type: USB3.2
[component_container-1] [INFO] [1776069655.270158545] [camera.camera]: device unique id: 2-8-21
[component_container-1] [INFO] [1776069655.270168908] [camera.camera]: Current node pid: 120837
[component_container-1] [INFO] [1776069655.270175653] [camera.camera]: Start device cost 657 ms
[component_container-1] [INFO] [1776069655.273176905] [camera.camera]: start accel stream with range: 4g,rate:200hz, and start gyro stream with range:1000dps,rate:200hz
[component_container-1] [INFO] [1776069655.273269183] [camera.camera]: Enable color stream
[component_container-1] [INFO] [1776069655.273286113] [camera.camera]: color video_profile: 1280x800 30fps OB_FORMAT_RGB
[component_container-1] [INFO] [1776069655.273300304] [camera.camera]: Stream color width: 1280 height: 800 fps: 30 format: RGB888
[component_container-1] [INFO] [1776069655.273308309] [camera.camera]: Enable depth stream
[component_container-1] [INFO] [1776069655.273317792] [camera.camera]: Stream depth width: 1280 height: 800 fps: 30 format: Y16
[component_container-1] [INFO] [1776069655.273336240] [camera.camera]: depth_registration is enabled. Depth stream will be aligned to COLOR stream resolution: width: 1280 height: 800 fps: 30
[component_container-1] [INFO] [1776069655.291798768] [camera.camera]: Enable frame sync
[component_container-1] [INFO] [1776069655.871622671] [camera.camera]: Publishing static transform from color to depth
[component_container-1] [INFO] [1776069655.871700156] [camera.camera]: Translation 23.8521, -0.0724771, -0.297823
[component_container-1] [INFO] [1776069655.871713886] [camera.camera]: Rotation -0.000205312, -0.00017894, -0.000159642, 1
[component_container-1] [INFO] [1776069655.871781826] [camera.camera]: Publishing static transform from depth to depth
[component_container-1] [INFO] [1776069655.871792318] [camera.camera]: Translation 0, 0, 0
[component_container-1] [INFO] [1776069655.871802196] [camera.camera]: Rotation 0, 0, 0, 1
[component_container-1] [INFO] [1776069655.871899320] [camera.camera]: Publishing static transform from accel to depth
[component_container-1] [INFO] [1776069655.871910163] [camera.camera]: Translation 7.886, 1.086, -14.248
[component_container-1] [INFO] [1776069655.871919642] [camera.camera]: Rotation 0, 0, 0, 1
[component_container-1] [INFO] [1776069655.872019552] [camera.camera]: Publishing static transform from gyro to depth
[component_container-1] [INFO] [1776069655.872029696] [camera.camera]: Translation 7.886, 1.086, -14.248
[component_container-1] [INFO] [1776069655.872038759] [camera.camera]: Rotation 0, 0, 0, 1
[component_container-1] [INFO] [1776069655.873496152] [camera.camera]: Setting color AE ROI to 0, 1279, 0, 799
[component_container-1] [INFO] [1776069655.876225945] [camera.camera]: Setting depth AE ROI to 0, 1279, 0, 799
[component_container-2] [INFO] [1776069656.134614494] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-2] [INFO] [1776069656.234924434] [back_camera.back_camera]: Device lock is held by another process, waiting 100ms
[component_container-1] [INFO] [1776069656.292089050] [camera.camera]: Setting interleave mode to nothing
[component_container-1] [INFO] [1776069656.292189992] [camera.camera]: current interleave_ae_mode_: laser
[component_container-1] [INFO] [1776069656.292984844] [camera.camera]: Enable enable_interleave_depth_frame to false
[component_container-1] [INFO] [1776069656.293021164] [camera.camera]: Initialize device cost 1505 ms
[component_container-2] [INFO] [1776069656.335146155] [back_camera.back_camera]: Connecting to device with usb port: 2-3
[component_container-2] [INFO] [1776069656.335297376] [back_camera.back_camera]: Before lock: Select device usb port: 2-3
[component_container-2] [INFO] [1776069656.335328552] [back_camera.back_camera]: After lock: Select device usb port: 2-3
[component_container-2] [INFO] [1776069656.553576101] [back_camera.back_camera]: getDeviceByUid device usb port 2-3 done
[component_container-2] [INFO] [1776069656.553671392] [back_camera.back_camera]: Select device cost 218 ms
[component_container-2] [INFO] [1776069656.553695039] [back_camera.back_camera]: Try to connect device via USB3.2
[component_container-2] [INFO] [1776069656.553789623] [back_camera.back_camera]: OBCameraNode: use_intra_process: OFF
[component_container-2] OBFormatFromString: RGB
[component_container-2] OBFormatFromString: ANY
[component_container-2] OBFormatFromString: Y16
[component_container-2] OBFormatFromString: ANY
[component_container-2] OBFormatFromString: ANY
[component_container-2] [INFO] [1776069656.560981936] [back_camera.back_camera]: current time domain: global
[component_container-2] [INFO] [1776069656.561013980] [back_camera.back_camera]: hdr_index1_laser_control_ 1 hdr_index1_depth_exposure_ 1 hdr_index1_depth_gain_ 16 hdr_index1_ir_brightness_ 30 hdr_index1_ir_ae_max_exposure_ 30458
[component_container-2]
[component_container-2] [INFO] [1776069656.561019707] [back_camera.back_camera]: hdr_index0_laser_control_ 1 hdr_index0_depth_exposure_ 7500 hdr_index0_depth_gain_ 16 hdr_index0_ir_brightness_ 90 hdr_index0_ir_ae_max_exposure_ 30458
[component_container-2]
[component_container-2] [INFO] [1776069656.561024087] [back_camera.back_camera]: laser_index1_laser_control_ 0 laser_index1_depth_exposure_ 3000 laser_index1_depth_gain_ 16 laser_index1_ir_brightness_ 60 laser_index1_ir_ae_max_exposure_ 17000
[component_container-2]
[component_container-2] [INFO] [1776069656.561027748] [back_camera.back_camera]: laser_index0_laser_control_ 1 laser_index0_depth_exposure_ 3000 laser_index0_depth_gain_ 16 laser_index0_ir_brightness_ 60 laser_index0_ir_ae_max_exposure_ 30000
[component_container-2]
[component_container-2] [INFO] [1776069656.693709174] [back_camera.back_camera]: Setting heartbeat to OFF
[component_container-2] [INFO] [1776069656.693753141] [back_camera.back_camera]: Create align filter
[component_container-2] [INFO] [1776069656.694085657] [back_camera.back_camera]: Depth process is HW
[component_container-2] [INFO] [1776069656.694100750] [back_camera.back_camera]: Setting LDP to ON
[component_container-2] [INFO] [1776069656.694774774] [back_camera.back_camera]: Setting G300 laser control to 1
[component_container-2] [INFO] [1776069656.694906801] [back_camera.back_camera]: Available presets:
[component_container-2] [INFO] [1776069656.694915985] [back_camera.back_camera]: Preset 0: Default
[component_container-2] [INFO] [1776069656.694918191] [back_camera.back_camera]: Preset 1: AMR with IR-Pass
[component_container-2] [INFO] [1776069656.694920348] [back_camera.back_camera]: Preset 2: High Accuracy
[component_container-2] [INFO] [1776069656.694922345] [back_camera.back_camera]: Preset 3: Factory Calib
[component_container-2] [INFO] [1776069656.694924279] [back_camera.back_camera]: Preset 4: Custom
[component_container-2] [INFO] [1776069656.694926434] [back_camera.back_camera]: Load device preset: Default
[component_container-2] [INFO] [1776069656.696386329] [back_camera.back_camera]: Device preset Default loaded
[component_container-2] [INFO] [1776069656.696394082] [back_camera.back_camera]: Current sync mode: OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED
[component_container-2] [INFO] [1776069656.696401075] [back_camera.back_camera]: Set sync mode: OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED
[component_container-2] [INFO] [1776069656.696407022] [back_camera.back_camera]: Setting color mirror to OFF
[component_container-2] [INFO] [1776069656.696419707] [back_camera.back_camera]: Setting color flip to OFF
[component_container-2] [INFO] [1776069656.696425551] [back_camera.back_camera]: Setting depth mirror to OFF
[component_container-2] [INFO] [1776069656.696429789] [back_camera.back_camera]: Setting depth flip to OFF
[component_container-2] [INFO] [1776069656.696435935] [back_camera.back_camera]: Setting noise removal filter:OFF
[component_container-2] [INFO] [1776069656.696438706] [back_camera.back_camera]: Setting color auto white balance to ON
[component_container-2] [INFO] [1776069656.696632011] [back_camera.back_camera]: Setting color auto exposure priority to OFF
[component_container-2] [INFO] [1776069656.696686230] [back_camera.back_camera]: Setting color auto exposure to ON
[component_container-2] [INFO] [1776069656.696922337] [back_camera.back_camera]: Setting depth auto exposure priority to OFF
[component_container-2] [INFO] [1776069656.697037435] [back_camera.back_camera]: Setting IR auto exposure to ON
[component_container-2] [INFO] [1776069656.699200832] [back_camera.back_camera]: default noise removal filter min diff: 256
[component_container-2] [INFO] [1776069656.699205706] [back_camera.back_camera]: default noise removal filter max size: 80
[component_container-2] [INFO] [1776069656.699376024] [back_camera.back_camera]: Setting hardware noise removal filter:ON
[component_container-2] [INFO] [1776069656.699380004] [back_camera.back_camera]: Setting accel data correction to ON
[component_container-2] [INFO] [1776069656.699383312] [back_camera.back_camera]: Setting gyro data correction to ON
[component_container-2] [INFO] [1776069656.699477720] [back_camera.back_camera]: Setting DecimationFilter......
[component_container-2] [INFO] [1776069656.699482526] [back_camera.back_camera]: set DecimationFilter to false
[component_container-2] [INFO] [1776069656.699492895] [back_camera.back_camera]: Skip setting filter: DecimationFilter
[component_container-2] [INFO] [1776069656.699497147] [back_camera.back_camera]: Setting ThresholdFilter......
[component_container-2] [INFO] [1776069656.699499500] [back_camera.back_camera]: set ThresholdFilter to false
[component_container-2] [INFO] [1776069656.699502341] [back_camera.back_camera]: Skip setting filter: ThresholdFilter
[component_container-2] [INFO] [1776069656.699505502] [back_camera.back_camera]: Setting HDRMerge......
[component_container-2] [INFO] [1776069656.699507758] [back_camera.back_camera]: set HDRMerge to false
[component_container-2] [INFO] [1776069656.699510448] [back_camera.back_camera]: Skip setting filter: HDRMerge
[component_container-2] [INFO] [1776069656.699513194] [back_camera.back_camera]: Setting SequenceIdFilter......
[component_container-2] [INFO] [1776069656.699515390] [back_camera.back_camera]: set SequenceIdFilter to false
[component_container-2] [INFO] [1776069656.699517696] [back_camera.back_camera]: Skip setting filter: SequenceIdFilter
[component_container-2] [INFO] [1776069656.699520596] [back_camera.back_camera]: Setting SpatialFastFilter......
[component_container-2] [INFO] [1776069656.699522800] [back_camera.back_camera]: set SpatialFastFilter to false
[component_container-2] [INFO] [1776069656.699525202] [back_camera.back_camera]: Skip setting filter: SpatialFastFilter
[component_container-2] [INFO] [1776069656.699528181] [back_camera.back_camera]: Setting SpatialModerateFilter......
[component_container-2] [INFO] [1776069656.699530431] [back_camera.back_camera]: set SpatialModerateFilter to false
[component_container-2] [INFO] [1776069656.699534423] [back_camera.back_camera]: Skip setting filter: SpatialModerateFilter
[component_container-2] [INFO] [1776069656.699537571] [back_camera.back_camera]: Setting SpatialAdvancedFilter......
[component_container-2] [INFO] [1776069656.699539935] [back_camera.back_camera]: set SpatialAdvancedFilter to false
[component_container-2] [INFO] [1776069656.699542219] [back_camera.back_camera]: Skip setting filter: SpatialAdvancedFilter
[component_container-2] [INFO] [1776069656.699545273] [back_camera.back_camera]: Setting TemporalFilter......
[component_container-2] [INFO] [1776069656.699547426] [back_camera.back_camera]: set TemporalFilter to false
[component_container-2] [INFO] [1776069656.699549776] [back_camera.back_camera]: Skip setting filter: TemporalFilter
[component_container-2] [INFO] [1776069656.699552536] [back_camera.back_camera]: Setting HoleFillingFilter......
[component_container-2] [INFO] [1776069656.699554776] [back_camera.back_camera]: set HoleFillingFilter to false
[component_container-2] [INFO] [1776069656.699557055] [back_camera.back_camera]: Skip setting filter: HoleFillingFilter
[component_container-2] [INFO] [1776069656.699566986] [back_camera.back_camera]: Setting DisparityTransform......
[component_container-2] [INFO] [1776069656.699569111] [back_camera.back_camera]: set DisparityTransform to true
[component_container-2] [INFO] [1776069656.699571424] [back_camera.back_camera]: Skip setting filter: DisparityTransform
[component_container-2] [INFO] [1776069656.699837184] [back_camera.back_camera]: Setting DecimationFilter......
[component_container-2] [INFO] [1776069656.699842958] [back_camera.back_camera]: set color DecimationFilter to false
[component_container-2] [INFO] [1776069656.699853231] [back_camera.back_camera]: Setting SequenceIdFilter......
[component_container-2] [INFO] [1776069656.699855962] [back_camera.back_camera]: set right ir SequenceIdFilter to false
[component_container-2] [INFO] [1776069656.699862172] [back_camera.back_camera]: Setting SequenceIdFilter......
[component_container-2] [INFO] [1776069656.699864666] [back_camera.back_camera]: set left ir SequenceIdFilter to false
[component_container-2] [INFO] [1776069656.702649625] [back_camera.back_camera]: stream color is enabled - width: 1280, height: 800, fps: 30, Format: OB_FORMAT_RGB
[component_container-2] [INFO] [1776069656.703185310] [back_camera.back_camera]: stream depth is enabled - width: 1280, height: 800, fps: 30, Format: OB_FORMAT_Y16
[component_container-2] [INFO] [1776069656.703201502] [back_camera.back_camera]: stream gyro full scale range 1000dps sample rate 200hz
[component_container-2] [INFO] [1776069656.703208188] [back_camera.back_camera]: stream accel full scale range 4g sample rate 200hz
[component_container-2] [INFO] [1776069656.738177935] [back_camera.back_camera]: Publish diagnostics every 1 seconds
[component_container-2] [INFO] [1776069657.031965666] [back_camera.back_camera]: Device Orbbec Gemini 336L connected
[component_container-2] [INFO] [1776069657.032049877] [back_camera.back_camera]: Serial number: CPCBC53000EN
[component_container-2] [INFO] [1776069657.032062715] [back_camera.back_camera]: Firmware version: 1.6.00
[component_container-2] [INFO] [1776069657.032070559] [back_camera.back_camera]: ROS Wrapper version: 2.6.3
[component_container-2] [INFO] [1776069657.032090786] [back_camera.back_camera]: SDK version: 2.6.3
[component_container-2] [INFO] [1776069657.032100443] [back_camera.back_camera]: Hardware version: 0.1
[component_container-2] [INFO] [1776069657.032107399] [back_camera.back_camera]: usb connect type: USB3.2
[component_container-2] [INFO] [1776069657.032116067] [back_camera.back_camera]: device unique id: 2-3-20
[component_container-2] [INFO] [1776069657.032132935] [back_camera.back_camera]: Current node pid: 120839
[component_container-2] [INFO] [1776069657.032140241] [back_camera.back_camera]: Start device cost 907 ms
[component_container-2] [INFO] [1776069657.036611055] [back_camera.back_camera]: start accel stream with range: 4g,rate:200hz, and start gyro stream with range:1000dps,rate:200hz
[component_container-2] [INFO] [1776069657.036705005] [back_camera.back_camera]: Enable color stream
[component_container-2] [INFO] [1776069657.036723380] [back_camera.back_camera]: color video_profile: 1280x800 30fps OB_FORMAT_RGB
[component_container-2] [INFO] [1776069657.036738346] [back_camera.back_camera]: Stream color width: 1280 height: 800 fps: 30 format: RGB888
[component_container-2] [INFO] [1776069657.036748241] [back_camera.back_camera]: Enable depth stream
[component_container-2] [INFO] [1776069657.036757218] [back_camera.back_camera]: Stream depth width: 1280 height: 800 fps: 30 format: Y16
[component_container-2] [INFO] [1776069657.036767287] [back_camera.back_camera]: depth_registration is enabled. Depth stream will be aligned to COLOR stream resolution: width: 1280 height: 800 fps: 30
[component_container-2] [INFO] [1776069657.054319675] [back_camera.back_camera]: Enable frame sync
[component_container-2] [INFO] [1776069657.605960786] [back_camera.back_camera]: Publishing static transform from color to depth
[component_container-2] [INFO] [1776069657.606019100] [back_camera.back_camera]: Translation 23.8001, -0.00872401, -0.294127
[component_container-2] [INFO] [1776069657.606032661] [back_camera.back_camera]: Rotation -0.00226088, 0.000509282, -0.000717679, 0.999997
[component_container-2] [INFO] [1776069657.606099915] [back_camera.back_camera]: Publishing static transform from depth to depth
[component_container-2] [INFO] [1776069657.606110338] [back_camera.back_camera]: Translation 0, 0, 0
[component_container-2] [INFO] [1776069657.606120111] [back_camera.back_camera]: Rotation 0, 0, 0, 1
[component_container-2] [INFO] [1776069657.606216344] [back_camera.back_camera]: Publishing static transform from accel to depth
[component_container-2] [INFO] [1776069657.606227716] [back_camera.back_camera]: Translation 7.886, 1.086, -14.248
[component_container-2] [INFO] [1776069657.606254159] [back_camera.back_camera]: Rotation 0, 0, 0, 1
[component_container-2] [INFO] [1776069657.606348621] [back_camera.back_camera]: Publishing static transform from gyro to depth
[component_container-2] [INFO] [1776069657.606391744] [back_camera.back_camera]: Translation 7.886, 1.086, -14.248
[component_container-2] [INFO] [1776069657.606404316] [back_camera.back_camera]: Rotation 0, 0, 0, 1
[component_container-2] [INFO] [1776069657.607696634] [back_camera.back_camera]: Setting color AE ROI to 0, 1279, 0, 799
[component_container-2] [INFO] [1776069657.613152877] [back_camera.back_camera]: Setting depth AE ROI to 0, 1279, 0, 799
[component_container-2] [INFO] [1776069658.054531083] [back_camera.back_camera]: Setting interleave mode to nothing
[component_container-2] [INFO] [1776069658.054609877] [back_camera.back_camera]: current interleave_ae_mode_: laser
[component_container-2] [INFO] [1776069658.055697183] [back_camera.back_camera]: Enable enable_interleave_depth_frame to false
[component_container-2] [INFO] [1776069658.055738135] [back_camera.back_camera]: Initialize device cost 1502 ms
I am using Sync Hub Dev with 1.8V Logic Level, and successfully run MultiDeviceSync in the Orbbec SDK and see the two cameras synced timestamps.
Device#1, depth frame , frame timestamp=1776069220097, system timestamp=1776069220115
Device#0, depth frame , frame timestamp=1776069220098, system timestamp=1776069220115
Device#0, color frame , frame timestamp=1776069220097, system timestamp=1776069220128
Device#1, color frame , frame timestamp=1776069220097, system timestamp=1776069220128
using config.json as follows,
But I am not sure how to sync them in ROS2. For now I have set software_trigger_period to 0, device_num to 2, frames_per_trigger to 1; for primary camera, set sync_mode to primary, trigger_out_enabled to true; for secondary camera, set sync_mode to secondary_synced, trigger_out_enabled to false.
The launch logging is like this, which seems to be working, at least their sync modes are set. I have retried ros2 launch several times, and their timestamp differences are like 27us, 427us, 95us, 398us, 227us, 874us, 211us, 377us, 365us, 302us (stamp = msg.header.stamp.sec + msg.header.stamp.nanosec * 1e-9) Does that mean my settings are correct?