odom to base-footprint

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

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

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.

Choco93 gravatar imageChoco93 ( 2019-10-10 08:01:41 -0600 )edit

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

Ahmed1212 gravatar imageAhmed1212 ( 2019-10-10 10:13:38 -0600 )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 imageChoco93 ( 2019-10-11 02:03:06 -0600 )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"/>
  </joint>
Ahmed1212 gravatar imageAhmed1212 ( 2019-10-11 10:16:31 -0600 )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 imageWeasfas ( 2019-10-16 05:51:01 -0600 )edit