[ros-users] Sync problem with stereo_image_proc
Sacha Aury
sacha at shadowrobot.com
Wed May 19 14:53:20 UTC 2010
Thanks for your help. I now have a single node synchronizing my two
cameras (image and infos). It works with the stereo_view and I get the
disparity map, which I am configuring. My question is now about rviz,
which I've never used. It seems to need a fixed frame to display my 3D
cloud points. I tried to set a frame_id in my synchronization node
(before broadcasting it to stereo_image_proc), but it does not work,
rviz still can't get any fixed frame.
How can I do that ? I think I am close to the result, but I can't see
it !
Le mardi 18 mai 2010 à 09:07 -0700, Blaise Gassend a écrit :
> 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
>
>
> _______________________________________________
> 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