[ros-users] Sync problem with stereo_image_proc

Blaise Gassend blaise at willowgarage.com
Tue May 18 16:07:08 UTC 2010


Hi Sacha,

stereo_image_proc doesn't care about when your message was published, it
just cares about the timestamp in the message. So your republishing node
needs to set the timestamp, both in the image topic and in the
camera_info topic.

Blaise

On Tue, 2010-05-18 at 16:29 +0100, 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





More information about the ros-users mailing list