Can you post a bag file with /tf and the laser scan topic somewhere?<br><br>Josh<br><br><div class="gmail_quote">On Fri, May 21, 2010 at 5:21 AM, Jan Elseberg <span dir="ltr"><<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Wim,<br>
<br>
I have played around with the timestamps of the laser scan message.<br>
Neither increasing nor decreasing<br>
the timestamp changes the behaviour, except that for large enough<br>
offsets either of the following errors<br>
is produced:<br>
<br>
For frame [/front_laser]: No transform to fixed frame [/base_link].  TF<br>
error: [You requested a transform that<br>
is 2.637 miliseconds in the past, but the most recent transform in the<br>
tf buffer is 8.092 miliseconds old.]<br>
<br>
For frame [/front_laser]: No transform to fixed frame [/base_link].  TF<br>
error: [You requested a transform that<br>
is 3.212 seconds in the past, but the tf buffer only has a history of<br>
3.138 seconds.]<br>
<br>
I have also changed the publishing frequency of the laser scan messages<br>
to 5 Hz. Unfortunately, this also had<br>
no effect on the error.<br>
<div><div></div><div class="h5"><br>
Jan<br>
<br>
<br>
Wim Meeussen wrote:<br>
> Jan,<br>
><br>
> When rviz receives laser scan messages, it only keeps the 10 most<br>
> recent messages in a buffer. So, if you send laserscans at 50 Hz (it<br>
> looks like that's the rate you use), that means rviz only stores 0.2<br>
> seconds worth of laser scans. So when your laser scans are more than<br>
> 0.2 seconds ahead of your tf transforms, rviz would be unable to<br>
> transform any laser scans. To find out if this is the problem you hare<br>
> seeing, you should modify the timestamps of your laser scan messages,<br>
> by deducting something like 1 second from each timestamp before<br>
> sending out the message from the laser scanner driver. Or you could<br>
> create a node that takes in laser scanner messages, modifies the<br>
> timestamp, and send out the modified laser scans.<br>
><br>
> Wim<br>
><br>
><br>
> On Thu, May 20, 2010 at 9:33 AM, Jan Elseberg<br>
> <<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a>> wrote:<br>
><br>
>> Hi,<br>
>><br>
>> the issue occurs when using rviz on a seperate computer (synchronized to the<br>
>> robot with ntp) as well as when used only on the robot. The tf-tree of rviz<br>
>> is attached, it is the same as before.<br>
>><br>
>> Jan<br>
>><br>
>> Tully Foote wrote:<br>
>><br>
>>> Jan, Are you running rviz on a seperate machine?  If so make sure that the<br>
>>> clocks are synced using ntp or similar between the multiple machines.<br>
>>> To see the tf tree that rviz is using try running "view_frames<br>
>>> --node=rviz_******" where ******* is the UUID of the anonymous rviz process<br>
>>> which you can get from rosnode list.<br>
>>> Tully<br>
>>><br>
>>> On Thu, May 20, 2010 at 9:19 AM, Jan Elseberg<br>
>>> <<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a> <mailto:<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a>>><br>
>>> wrote:<br>
>>><br>
>>>    Wim,<br>
>>><br>
>>>    the timestamps of the laser scans are concurrent to the ones I'm<br>
>>>    getting<br>
>>>    with "rostopic echo /tf".<br>
>>>    I was under the impression that tf would give me an error of some kind<br>
>>>    in this scenario ?<br>
>>>    Also, if the issue lies with my tf-tree, shouldn't there be similar<br>
>>>    problems in my node<br>
>>>    that transforms the laser scans into the /map frame using the<br>
>>>    tf::TransformListener ?<br>
>>><br>
>>>    Regards,<br>
>>><br>
>>>    Jan<br>
>>><br>
>>><br>
>>><br>
>>>    Wim Meeussen wrote:<br>
>>>    > Jan,<br>
>>>    ><br>
>>>    > Your tf tree looks fine, but it is possible that the timestamps of<br>
>>>    > your laser scans are wrong. Your tf buffer keeps a 10-seconds window<br>
>>>    > of transformations. When the timestamp of your laser scan does<br>
>>>    not fit<br>
>>>    > in that 10 seconds window, tf won't be able to transform it.<br>
>>>    From the<br>
>>>    > data you sent, it looks like your tf buffer is nicely synchronized<br>
>>>    > with the current time in your system, so I would suspect that your<br>
>>>    > laser scans have timestamps that are either more than 10 seconds in<br>
>>>    > the past, or some number of seconds in the future.<br>
>>>    ><br>
>>>    > You can check the timestamp of your laser scans using "rostopic echo<br>
>>>    > laser_scan/header/stamp".<br>
>>>    ><br>
>>>    > Wim<br>
>>>    ><br>
>>>    ><br>
>>>    ><br>
>>>    ><br>
>>>    >> I've attached the results of view_frames. I have also tried the<br>
>>>    other stuff<br>
>>>    >> on the troubleshooting guide. Transformations between the laser<br>
>>>    frame and<br>
>>>    >> every other frame work fine. Across the longest tf-chain<br>
>>>    (/front_laser to<br>
>>>    >> /map) the average delay is approx 25ms and the maximal delay is<br>
>>>    approx.<br>
>>>    >> 55ms. From this it appears to me that the tf-tree is correctly<br>
>>>    set up, but<br>
>>>    >> maybe there is something else I can check?<br>
>>>    >><br>
>>>    >> Regards,<br>
>>>    >><br>
>>>    >> Jan Elseberg<br>
>>>    >> Eitan Marder-Eppstein wrote:<br>
>>>    >><br>
>>>    >>> Jan,<br>
>>>    >>><br>
>>>    >>> It sounds like something may be wrong with your transform<br>
>>>    tree. Can you<br>
>>>    >>> try running "rosrun tf view_frames"? This will generate a PDF<br>
>>>    of the current<br>
>>>    >>> transform tree structure. You may also want to check the<br>
>>>    troubleshooting<br>
>>>    >>> link on the sidebar of this page: <a href="http://www" target="_blank">http://www</a> .<a href="http://ros.org/wiki/tf" target="_blank">ros.org/wiki/tf</a><br>
>>>    <<a href="http://ros.org/wiki/tf" target="_blank">http://ros.org/wiki/tf</a>><br>
>>>    >>> <<a href="http://ros.org/wiki/tf" target="_blank">http://ros.org/wiki/tf</a>> for more information on useful tf<br>
>>>    debugging<br>
>>>    >>> strategies.<br>
>>>    >>><br>
>>>    >>> Hope this helps,<br>
>>>    >>><br>
>>>    >>> Eitan<br>
>>>    >>><br>
>>>    >>><br>
>>>    >>>> On May 20, 2010 3:38 AM, "Jan Elseberg"<br>
>>>    <<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a><br>
>>>    <mailto:<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a>><br>
>>>    >>>> <mailto:<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a><br>
>>>    <mailto:<a href="mailto:j.elseberg@jacobs-university.de">j.elseberg@jacobs-university.de</a>>>> wrote:<br>
>>>    >>>><br>
>>>    >>>> Hi everyone,<br>
>>>    >>>><br>
>>>    >>>> I am trying to get our robot to work with the navigation<br>
>>>    stack of ros.<br>
>>>    >>>> I've been following the tutorial on<br>
>>>    >>>> <a href="http://www.ros.org/wiki/navigation/Tutorials/RobotSetup" target="_blank">http://www.ros.org/wiki/navigation/Tutorials/RobotSetup</a> .<br>
>>>    After setting<br>
>>>    >>>> up the robot with a tf-tree and sensor nodes , I have noticed<br>
>>>    a problem<br>
>>>    >>>> with rviz. I am unable to display the laserscan messages in<br>
>>>    any frame<br>
>>>    >>>> other than the laser coordinate system itself, i.e., whenever<br>
>>>    I select a<br>
>>>    >>>> <Fixed_Frame> other than /front_laser the status of the laser<br>
>>>    scan<br>
>>>    >>>> display shows the error:<br>
>>>    >>>><br>
>>>    >>>> "Unknown reason for transform failure".<br>
>>>    >>>><br>
>>>    >>>> Also, this warning appears in the bash:<br>
>>>    >>>><br>
>>>    >>>> [WARN] 1274341043.701801000: MessageFilter [target=/base_link<br>
>>>    ]: Dropped<br>
>>>    >>>> 99.03% of messages so far. Please turn the<br>
>>>    [ros.rviz.message_notifier]<br>
>>>    >>>> rosconsole logger to DEBUG for more information.<br>
>>>    >>>><br>
>>>    >>>> Doing so gives me these repeating debug messages:<br>
>>>    >>>><br>
>>>    >>>> MessageFilter [target=/base_link ]: Added message in frame<br>
>>>    /front_laser<br>
>>>    >>>> at time 1274341252.994, count now 10<br>
>>>    >>>> MessageFilter [target=/base_link ]: Removed oldest message<br>
>>>    because<br>
>>>    >>>> buffer is full, count now 10 (frame_id=/front_laser,<br>
>>>    >>>> stamp=1274341252.813649).<br>
>>>    >>>><br>
>>>    >>>> This suggests a problem with the tf-tree to me. However, when<br>
>>>    using the<br>
>>>    >>>> "transformPoint(...)" function of tf::TransformListener in my<br>
>>>    own nodes<br>
>>>    >>>> to transform the laser scan into the global frame everything<br>
>>>    works as<br>
>>>    >>>> intended with no errors/warnings.<br>
>>>    >>>><br>
>>>    >>>> Does someone have an idea what I am doing wrong?<br>
>>>    >>>><br>
>>>    >>>> Thank you for any help!<br>
>>>    >>>><br>
>>>    >>>><br>
>>>    >>>> Jan Elseberg<br>
>>>    >>>><br>
>>>    >>>> _______________________________________________<br>
>>>    >>>> ros-users mailing list<br>
>>>    >>>> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a> <mailto:<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>><br>
>>>    <mailto:<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a> <mailto:<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>>><br>
>>>    >>>> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
>>>    >>>><br>
>>>    >> _______________________________________________<br>
>>>    >> ros-users mailing list<br>
>>>    >> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a> <mailto:<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>><br>
>>>    >> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
>>>    >><br>
>>>    >><br>
>>>    >><br>
>>>    ><br>
>>>    ><br>
>>>    ><br>
>>>    ><br>
>>><br>
>>>    _______________________________________________<br>
>>>    ros-users mailing list<br>
>>>    <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a> <mailto:<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>><br>
>>>    <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Tully Foote<br>
>>> Systems Engineer<br>
>>> Willow Garage, Inc.<br>
>>> <a href="mailto:tfoote@willowgarage.com">tfoote@willowgarage.com</a> <mailto:<a href="mailto:tfoote@willowgarage.com">tfoote@willowgarage.com</a>><br>
>>> (650) 475-2827<br>
>>><br>
>> _______________________________________________<br>
>> ros-users mailing list<br>
>> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
>> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
>><br>
>><br>
>><br>
><br>
><br>
><br>
><br>
<br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br>