odom to base-footprint
I am using turtlebot3 burger. When i see tf tree, i see base footprint no matter i am using basefootprint in movebase or not. How can i bypass this and have only one transform from odom to baselink? I want my robot to have only this tree . Odom-->baselink-->wheels
Any suggestions?
Asked by Ahmed1212 on 2019-10-10 07:08:45 UTC
Answers
TL;DR In order to remove base_footprint
you need to modify and reflash OpenCR code.
Long explanation:
You still seeing base_footprint
because OpenCR is publishing transformation between odom
and base_footprint
. That's why even if you will remove the frame from URDF you are still seeing base_footprint
frame.
I guess that right now base_footprint
frame (with parent odom
) is disconnected from your TF tree, as you removed base_footprint
from your URDF. It happens because there is no connection between base_footprint
that is published by OpenCR and base_link
from your URDF.
Here is the code for TB3 Burger: https://github.com/ROBOTIS-GIT/OpenCR/tree/master/arduino/opencr_arduino/opencr/libraries/turtlebot3/examples/turtlebot3_burger/turtlebot3_core
Asked by zentala on 2020-05-26 18:25:33 UTC
Comments
base_footprint
is probably coming from your URDF, you can take a look here for understanding relation between base_link and base_footprint. You will have to modify your xacro if you want to get rid of footprint.Asked by Choco93 on 2019-10-10 08:01:41 UTC
How can i get rid of it? Can you help ?
Asked by Ahmed1212 on 2019-10-10 10:13:38 UTC
As you can see here, base_footprint is a virtual link, you remove this link and add
0.1
to z-origin for base_link.Asked by Choco93 on 2019-10-11 02:03:06 UTC
So I have removed this code, but still I see base_footprint frame. In my local and glaobal costmap param, I have adom and base_link for files, also for localization node, it is odom and base_link, but I still see base_footprint in tf tree published by turtlebot3_core. What should I do?
Asked by Ahmed1212 on 2019-10-11 10:16:31 UTC
Generally speaking is not a good idea to get rid of the
base_footprint
frame. It provides a stable 2D planar representation of your robot, thus the movement of the system must be supervised from that point.There is no logic or explanation to not have
base_footprint
frame, it helps to understand the behavior of the movements, avoid obstacles etc.Having this said, if you want to get rid of the
base_footprint
frame, you not only have to remove the link and joint in the urdf but also the parameters for the navigation stack. In the local and global costmaps it is parametrized therobot_base_frame
as thebase_foot_print
, so you should change that parameter to whatever frame you want to navigate in.Asked by Weasfas on 2019-10-16 05:51:01 UTC