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
- the setting for the right camera in pylon viewer, which I save in user set 2
- ROS launch file
- ROS config for the left camera
- ROS config for the right camera
- Error message and information related to image topics
the setting for the left camera in pylon viewer, which I save in user set 2
the setting for the right camera in pylon viewer, which I save in user set 2
ROS launch file
ROS config for the left camera
ROS config for the right camera
Error message and information related to image topics
Thank you for your time,
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.