Robotics StackExchange | Archived questions

Hardware Synchronization of Two USB 3.0 Basler Cameras

Hello all,

I use two USB 3.0 Basler cameras as a stereo system on a car. Since the car moves, I need to synchronize two cameras. For this reason, I bought a 6-pin cable that connects cameras.

I want the left camera to be the master and generate a trigger, and I want the right camera to be a slave and start to capture by receiving a trigger.

I did the setting in pylon viewer, which works in pylon viewer. I stored the setting for two cameras in their user set 2. When I want to work with ROS, I load the user set 2 for each camera. However, I get an error. The left camera (master) works at 32 fps (its maximum). However, the right camera (slave) does not work, and this error happens:

An image grabbing exception in pylon camera occurred: waiting for frame trigger ready time out. Error: Grab was not successful Failed to grab image, can't calculate current brightness

An image grabbing exception in pylon camera occurred: waiting for frame trigger ready time out. Error: Grab was not successful . . .

There is no good documentation for hardware synchronization, and I could not find the answer anywhere else.

To give you more detail, in the following, I provided the information:

the setting for the left camera in pylon viewer, which I save in user set 2

left-1 left-2 left-3 left-4 left-5 left-6

the setting for the right camera in pylon viewer, which I save in user set 2

right-1 right-2 right-3 right-4 right-5 right-6 right-7

ROS launch file

launch

ROS config for the left camera

config-left

ROS config for the right camera

config-right

Error message and information related to image topics

exe1 exe2

Thank you for your time,

Asked by farhad-bat on 2022-07-28 09:18:32 UTC

Comments

This looks like the data get lost during transmission due to the bursty character of the synced images. Try bandwidth optimizer in pylon viewer. There should also be a configurable delay before transmission of a captured image. Try to set it on the right camera to the duration it takes for the left camera image to be transmitted.

Asked by peci1 on 2022-07-30 08:13:19 UTC

Answers