No transform from [base_link] to [base_footprint] for the turtlebot3

I am using the packages for turtlebot3 from here TurtleBot3

I have first launched the turtlebot3 using
roslaunch turtlebot3_gazebo turtlebot_empty_world.launch
Then I am trying to see this in rviz. But I get this error stating that No No transform from [base_link] to [base_footprint] for the turtlebot3 and this is the case for the following too.

    1. No transform from [base_link] to [base_footprint] for the turtlebot3
    1. No transform from [caster_back_link] to [base_footprint]
    1. No transform from [imu_link] to [base_footprint]
    1. No transform from [wheel_left_link] to [base_footprint]
    1. No transform from [wheel_right_link] to [base_footprint].

Can anyone help to get rid of these errors?

1 Like


Have you donwloeded the code from here?

Launch the :slight_smile:

roslaunch t3_course navigation_world.launch

Let us know if there other issues ;).

Actually I downloaded it from TurtleBot3 (click on the link). So there I am launching the empty world. Later I have done some final check whether tf is being published, that’s actual problem I guess. So I have later modified the launch file like this below one.
<arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="x_pos" default="0.0"/>
<arg name="y_pos" default="0.0"/>
<arg name="z_pos" default="0.0"/>

<include file="$(find gazebo_ros)/launch/empty_world.launch"> `

<param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro" />

<node pkg="gazebo_ros" type="spawn_model" name="spawn_urdf" args="-urdf -model turtlebot3_$(arg model) -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" />

<!-- Modified lines in the orgiginal package-->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"> <param name="use_gui" value="TRUE" /> </node>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

Then I am getting no errors.
And another thing I wanted to ask you is regarding how to build a world like laying down obstacles, building walls or any another sort of stuff if I wanted to built or visualize in both gazebo and rviz at a personal computer.

Note: The above commands were performed in my personal pc


So… You fixed the issue then? didnt look clear in your answer.

As for building worlds, depends on your personal preference.
You can launch an empty world, drag and drop elements into gazebo and then save the world.

You can also create the world in blender and then export it as a full DAE.

As you wish :wink:

Thanks for getting back to me.
Yeah, it is not clear. I have later understood that there are issues in implementing this. Like, when I use the turtlebot3_teleop package to control the motion using the keyboard, it won’t move, it sits in a place, but the

odom frame is moving. I don’t know where I am doing a mistake.
Actually, I am trying to create a map. So launching the mapping node, but the issue is the whole tf tree is now showing as, in pictures, this is after launching the mapping node
But the actual tree looks like this.

I don’t know how to resolve this issue and working on this.
If you have any suggestions, please help me out.


So I think you should just see an example of it done. Ifyou donwload the turtlebot3 repo we have in Theconstruct Bitbucket, the noetic branch ( if you use noetc that I assume you do ), then you should get something like this:

Youjust have to:

 mkdir -p ~/catkin_ws/src
 cd ~/catkin_ws/src
 git clone -b noetic
 cd ~/catkin_ws
 source devel/setup.bash;rospack profile
 roslaunch t3_course navigation_world.launch
 # You might nee dto install some ROS dependencies like 
 # sudo apt install ros-noetic-map-server
 # sudo apt install ros-noetic-amcl

With this you should see what I just posted there and if you want to have a look at the tf tree just executethe following command in a new terminal :

 cd ~/catkin_ws
 source devel/setup.bash;rospack profile
 rosrun rqt_tf_tree rqt_tf_tree

I just tested this in mylocal compter and worked. So have a look at it and see how this example works. Then you will be able to create your own or fix the offitial repo version if you so need to.