Synchronize the RGB images from 4 ZEDX cameras

I have a Jetson AGX Orin Developer Kit and am using 4 ZED X cameras mounted on top of a mobile robot. The cameras are positioned on top of each other along the Z axis to capture a tall tree completely. I need to record a bag file of the RGB image topics from these 4 cameras using ROS2. However, when I replayed the bag file and viewed it in rqt_image_view, I noticed that the 4 RGB images were not synchronized. The crop of the tree was not vertically aligned across the images, appearing in different regions in each RGB image. If the images had been captured simultaneously, the tree would have been aligned in all 4 images. Is there any special configuration to synchronize all 4 cameras?

Hi @tar176
Welcome to the Stereolabs community.
If the 4 cameras are all connected to the same quad capture card, the acquisition is guaranteed to be perfectly synchronized because the CMOS sensors are triggered by the same electronic signal.
What is your configuration?

hi @Myzhar

  • The card is ZED Link Quad Capture Card. 2 ZEDX Cameras are connected to port 1 and 2 ZEDX Cameras are connected to port 2 of the capture card.
  • The Jetpack version is JP5.1.2 - L4T35.4
  • ROS2 foxy
  • GMSL2 Driver for ZED Link Quad JP5.1.2 - L4T35.4
  • Command for recording -

ros2 bag record -o /path/to/directory camera1/rgb/image_rect_color camera2/rgb/image_rect_color camera3/rgb/image_rect_color camera4/rgb/image_rect_color camera1/depth/depth_registered camera2/depth/depth_registered camera3/depth/depth_registered camera4/depth/depth_registered

Hi @tar176
in that case, the problem is related to ROS communication.
Can you check the timestamps of the images and verify they are correct?
If the images refer to the same instant, the timestamp differences should be lower than a frame grab period.

1 Like