[ros-users] topic vs tf

Armstrong-Crews, Nicholas - 1002 - MITLL nickarmstrongcrews at ll.mit.edu
Thu Dec 15 23:35:30 UTC 2011


Sorry I'm late to the party.

In my experience, I find tf useful for real-time, single-estimation data; this breaks down when you want one to apply a correction to a geometric relationship in the past (like when a loop closure occurs during SLAM, and you want to use this new information to update the entire robot's path history), or when you have a couple things estimating the same transform (like odometry and laser scan matching, or two robots looking at the same thing). There are some ways to make tf do what you want in these cases, but they don't exhibit the same simplicity and elegance that tf shows for the real-time, single-estimation case.

Multi-robot tf over wifi, as others mentioned, won't work like you want it to out of the box. But a fairly lightweight fix is to use multiple /tf topics, say /robot_model_bandwidth_hog/tf and /i_wanna_communicate_these_few_transforms_to_other_robots/tf.

-N

-----Original Message-----
From: ros-users-bounces at code.ros.org [mailto:ros-users-bounces at code.ros.org] On Behalf Of Stefan Kohlbrecher
Sent: Saturday, December 10, 2011 9:49 AM
To: User discussions
Subject: Re: [ros-users] topic vs tf

Done (with minor changes) :)

regards,
Stefan

2011/12/10 Thibault Kruse <kruset at in.tum.de>:
> Would you like to add that on answers.ros.org?
> If not, I can add it.
>
>
> On 12/10/2011 01:50 PM, Stefan Kohlbrecher wrote:
>>
>> Hi,
>>
>> if you for example just want to monitor the estimated position of an
>> autonomous robot, using tf can mean significant overhead. Tf can
>> easily consume bandwidth in the order of hundreds of kb/s, which can
>> choke up connections in constrained scenarios (like RoboCup, where you
>> have thousands of people/hundreds of teams/1-2 dozen leagues competing
>> for Wi-Fi). An optional lower update rate tf topic for displaying the
>> robot model in rviz for example would make sense for such situations.
>>
>> regards,
>> Stefan
>>
>> 2011/12/9 Thibault Kruse<kruset at in.tum.de>:
>>>
>>> Hi,
>>>
>>> I am keen on reading an answer to this answers.ros.org question:
>>>
>>> http://answers.ros.org/question/2803/when-should-i-send-geometric-information-over-a
>>> "When should I send geometric information over a topic as opposed to TF?"
>>>
>>> I would think that TF is the best place to publish frames, meaning
>>> coordinate
>>> systems to be used as a point of reference for other geometric data.
>>>
>>> So this would be ideal for robot joints/links, sensor coordinate systems,
>>> and perceived joints/links of other agents (humans or robots).
>>>
>>> If possible, all those should rather be published in TF rather than
>>> anything
>>> else, I would believe.
>>>
>>> However I do not yet understand whether there is a downside to using TF,
>>> or
>>> some kind of degradation when plenty of frames are being published.
>>>
>>> The only thing I can think of is that rosbag and rxbag cannot treat
>>> individual
>>> transforms, they can only record / replay the whole tf tree.
>>>
>>> Also I guess that data with a lot of noise is not suitable as a reference
>>> frame
>>> for anything, so there is no point in publishing that in TF.
>>>
>>> Other thoughts?
>>>
>>> cheers,
>>>  Thibault
>>> _______________________________________________
>>> 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