<br><br><div class="gmail_quote">On Wed, Oct 27, 2010 at 10:01 AM, Wim Meeussen <span dir="ltr"><<a href="mailto:meeussen@willowgarage.com">meeussen@willowgarage.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">>> map_GPS->base_link<br>
>> map_INS->base_link<br>
>> map_SLAM->base_link<br>
>> odometry->base_link<br>
</div>[...]<br>
<div class="im">>> We want to be able to easily switch between how the world looks in each of<br>
>> these frames by simply selecting any of the map_* frames as the fixed<br>
>> frame<br>
>> in rviz and in other nodes.<br>
>><br>
>> It seems that tf doesn't let you have a set-up like this with multiple<br>
>> roots. Any suggestions on how we should re-cast our problem to fit into<br>
>> the<br>
>> tf framework?<br>
>><br>
><br>
> The directionality of a tf edge doesn't actually matter for most things.  So<br>
> one solution would be to just have all those map frames be children of<br>
> base_link, or of odometry (which would allow the transforms to be published<br>
> less often assuming odometry drifts fairly slowly).<br>
> - Bhaskara<br>
<br>
</div>Inverting the parent-child relationship of your frames will work for a<br>
mobile base, but this will make impossible to reuse your code on many<br>
other robots.  Most robots have multiple tf frames that branch out<br>
from the base_link, going to different sensors, arms, etc.<br>
<br>
I'd suggest to publish all of your transforms (map_GPS->base_link,<br>
map_INS->base_link, map_SLAM->base_link, etc) on normal ROS topics<br>
instead of on tf. Then, have one node receive all these transforms<br>
from the topics, do the arbitration/merging, and publish the final<br>
result to tf. In that way your tf tree can still look like map --><br>
odom_combined --> base_footprint, and your code will be much more<br>
reusable and extendable.<br>
<br>
Wim<br>
<br>
<br></blockquote><div>Are there any specific things that would break if a bunch of extra frames were published as children of odometry (in addition to the fused map frame as its parent)?  Having things be in the tf tree can make debugging and visualization easier.<br>
- Bhaskara<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
--<br>
<font color="#888888">--<br>
Wim Meeussen<br>
Willow Garage Inc.<br>
<<a href="http://www.willowgarage.com" target="_blank">http://www.willowgarage.com</a>)<br>
</font><div><div></div><div class="h5">_______________________________________________<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><br clear="all"><br>-- <br>Bhaskara Marthi<br>Research Scientist<br>Willow Garage Inc.<br>650-475-2856<br>