[ros-users] Sync problem with stereo_image_proc
Sacha Aury
sacha at shadowrobot.com
Fri May 21 09:41:27 UTC 2010
Dear Radu,
Even if I understand that having some not valid disparity values is
possible, I actually do not have any good ones. Moreover, all my points
are quite the same (0.0, 0.0, nan) which is a bit strange I think. What
could I do to fix this ? I already tried to change parameters with
dynamic_reconfigure, but it did not change anything.
Cheers,
Sacha
Le jeudi 20 mai 2010 à 10:45 -0700, Radu Bogdan Rusu a écrit :
> Dear Sacha,
>
> What you're seeing makes sense. Though your disparity "looks good", I am sure you don't have valid disparity values at
> each pixel in the disparity image. None of us do :). What you are seeing as the output of rostopic echo is the list of
> 3D points that do not have valid disparity values (we mark those with nan).
>
> Cheers,
> Radu.
>
> On 05/20/2010 09:37 AM, Sacha Aury wrote:
> > I do not really understand why, but I looked to the TF tutorial, added a
> > few things to my program and rviz do not complain anymore. To recap, I
> > now have a disparity map, rviz do not complain about a fixed_frame, but
> > my goal is to get the points cloud. Rviz warns :
> > [ WARN] 1274372115.122808000: TF_OLD_DATA ignoring data from the past
> > for frame /test at time 16566 according to authority /camera_sync
> > Possible reasons are listed at
> >
> >
> >
> > $rostopic echo /stereo/points | less :
> > header:
> > seq: 937
> > stamp: 18596000000000
> > frame_id: fixed_frame
> > points: [
> > x: 0.0
> > y: 0.0
> > z: nan,
> > x: 0.0
> > y: 0.0
> > z: nan,
> > x: 0.0
> > y: 0.0
> > z: nan,
> > x: 0.0
> > y: 0.0
> > z: nan,
> > x: 0.0
> > y: 0.0
> > z: nan,
> > x: 0.0
> >
> > I don't get it, since my disparity map looks good. I can send you a
> > screenshot of the map if you need it.
> > So, why is the processing not sending the good coords ? I did not
> > calibrate my cameras since I did not find a way to do it for stereo
> > vision, is there a problem with that ?
> >
> > Thanks.
> >
> > Le mercredi 19 mai 2010 à 10:38 -0700, Josh Faust a écrit :
> >> If you don't have a TF transform tree (http://ros.org/wiki/tf), the
> >> fixed frame needs to match the frame you've set. You also need to set
> >> the timestamp in the header.
> >>
> >> msg.header.stamp = ros::Time::now();
> >>
> >> Josh
> >>
> >> On Wed, May 19, 2010 at 7:53 AM, Sacha Aury<sacha at shadowrobot.com>
> >> wrote:
> >> 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
> >>
> >>
> >> _______________________________________________
> >> 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