[ros-users] Sync problem with stereo_image_proc

Radu Bogdan Rusu rusu at willowgarage.com
Tue May 18 16:51:25 UTC 2010


Sacha,

Check if you are publishing/filling in the timestamps in the header, and whether they are the same for both images. 
Another solution for your problem is to write a node that uses an approximate time synchronizer to get the images, and 
then re-publishes them again to stereo_image_proc.

Cheers,
Radu.

On 05/18/2010 08:29 AM, Sacha Aury wrote:
> I think that having a hardware solution is a bit overkill for my
> problem. So I tried to write a node which collected image messages from
> my two cameras and which published both message every x seconds,
> typically 1/2. And when I am using image_pipeline/stereo_image_proc, I
> got messages of that kind :
>
> [ WARN] 1274196325.866264000: [stereo_image_proc] Low number of
> synchronized left/right image pairs received.
> Left images received: 831
> Right images received: 831
> Synchronized pairs: 0
> Possible issues:
> 	* The cameras are not synchronized.
> 	* The network is too slow. For each synchronized image pair, at most 1
> is getting through.
>
> I don't know what I could do more, since the synchronisation should be
> done by a TimeSynchronizer in the stereo_image_proc class. Could it be
> posible to cheat on the timestamps in any way ?
>
> Thanks, and sorry for the double post, I made a mistake at first.
>
> Le lundi 17 mai 2010 à 07:53 -0700, Gary Bradski a écrit :
>> What level do you want synchronization on?  Within framerate (both
>> frames happen randomly but within 1/30 of a second of each other) or
>> exact frame synchronization? The first is achievable, the second needs
>> extra hardware.
>>
>> At most, ROS can get you timestamps to align to, but to get actual
>> simultaneous frames, you'll need a triggering signal in hardware such
>> as a wire between 2 cameras (that allow for this). Some 1394 cameras
>> may allow triggering over the 1394 bus and then you'll only have the
>> problem of getting both buses to trigger at the same time ... which
>> may be approximately possible, most of the time ... on average.
>> Depends on the driver and the 1394 port.
>>
>> I've seen an automotive 1394 article (not ROS related) where they have
>> about 10 cameras. The cameras run the cameras at very high framerates
>> and then they do timestamp synchronization which allows fairly
>> synchronous alignment of multiple with no extra hardware.
>>
>> Gary
>>
>> On Mon, May 17, 2010 at 5:23 AM, Sacha Aury<sacha at shadowrobot.com>
>> wrote:
>>          Hi,
>>
>>          I am trying to make a stereo camera acquisition using ROS with
>>          the
>>          cameradc1394 driver and the stereo_proc package. I've got a
>>          separate
>>          computer to stream the image_raw from my two cameras. The
>>          stream works,
>>          but when I launch stereo_image_proc, it seems that my two
>>          cameras are
>>          not synchronized :
>>
>>          [ WARN] 1274098675.074074000: [stereo_image_proc] Low number
>>          of
>>          synchronized left/right image pairs received.
>>          Left images received: 3079
>>          Right images received: 3076
>>          Synchronized pairs: 0
>>          Possible issues:
>>                 * The cameras are not synchronized.
>>                 * The network is too slow. For each synchronized image
>>          pair, at most 1
>>          is getting through.
>>
>>          Here is my launch file :
>>
>>          <!-- startstream.launch  -->
>>          <launch>
>>                 <param name="display" type="int" value="0"/>
>>                 <param name="framerate" type="double" value="15"/>
>>                 <param name="mode" value="MODE_320x240_YUV422"/>
>>
>>           <node name="camera_left" pkg="cameradc1394"
>>          type="cameradc1394"
>>          respawn="true">
>>                 <param name="prefix" type="string"
>>          value="/stereo/left/"/>
>>                 <param name="cameraindex" type="int" value="0"/>
>>           </node>
>>
>>
>>           <node name="camera_right" pkg="cameradc1394"
>>          type="cameradc1394"
>>          respawn="true">
>>                 <param name="prefix" type="string"
>>          value="/stereo/right/"/>
>>                 <param name="cameraindex" type="int" value="1"/>
>>           </node>
>>
>>          </launch>
>>
>>          Is there any specific way to make the two cameras
>>          synchronize ?
>>
>>          I am following that tutorial :
>>
>>          http://www.ros.org/wiki/stereo_image_proc
>>
>>          Thank you for any help.
>>
>>          Sacha
>>
>>
>>          _______________________________________________
>>          ros-users mailing list
>>          ros-users at code.ros.org
>>          https://code.ros.org/mailman/listinfo/ros-users
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

-- 
| Radu Bogdan Rusu | http://rbrusu.com/



More information about the ros-users mailing list