ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

odom to base-footprint

asked 2019-10-10 07:08:45 -0500

Ahmed1212 gravatar image

I am using turtlebot3 burger. When i see tf tree, i see base footprint no matter i am using base_footprint in move_base or not. How can i bypass this and have only one transform from odom to base_link? I want my robot to have only this tree . Odom-->base_link-->wheels

Any suggestions?

edit retag flag offensive close merge delete


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.

Choco93 gravatar image Choco93  ( 2019-10-10 08:01:41 -0500 )edit

How can i get rid of it? Can you help ?

Ahmed1212 gravatar image Ahmed1212  ( 2019-10-10 10:13:38 -0500 )edit

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.

Choco93 gravatar image Choco93  ( 2019-10-11 02:03:06 -0500 )edit

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?

 <link name="base_footprint"/>

  <joint name="base_joint" type="fixed">
    <parent link="base_footprint"/>
    <child link="base_link"/>
    <origin xyz="0.0 0.0 0.010" rpy="0 0 0"/>
Ahmed1212 gravatar image Ahmed1212  ( 2019-10-11 10:16:31 -0500 )edit

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 the robot_base_frame as the base_foot_print, so you should change that parameter to whatever frame you want to navigate in.

Weasfas gravatar image Weasfas  ( 2019-10-16 05:51:01 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2020-05-26 18:25:33 -0500

zentala gravatar image

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:

edit flag offensive delete link more

Question Tools



Asked: 2019-10-10 07:08:45 -0500

Seen: 2,089 times

Last updated: Oct 10 '19