Use of base_footprint in ROS navigation

In the ROS Navigation in 5 days, Basic concepts, the frames map and base_link are connected by odom and base_footprint as shown in the TF tree below:

  • I could not find the frame base_footprint in the urdf file of the robot which had everything else except for base_footprint. where exactly is base_footprint frame defined? and what is its purpose?

  • During mapping, why is the fixed frame assigned as odom since map frame is the parent of odom frame? is the odom frame acting as a dummy frame to connect the map frame and the robot frames?

imageimage

Hello @Joseph1001 ,

1- The base_footprint represents a 2D projection of the base of the robot into the floor. It has its origin right under the center of the robot. It is mainly used for obstacle avoidance purposes. You can find it defined here: Bitbucket

2- The odom frame has its origin at the point where the robot is initialized and it is fixed in the world. You will see that as you move the robot, the odom frame will distance from the robot frames. I don’t know what you mean by using the odom frame for mapping but, in Rviz and for visualization purposes, the map frame should be used.

Hi @albertoezquerro, Thanks for clarifying my query.

I looked through the content on Bitbucket and some of the content is a bit advanced for me at this stage. i will refer back to it when i know more on ROS.

I don’t know what you mean by using the odom frame for mapping but, in Rviz and for visualization purposes, the map frame should be used.

image
I meant that during map creation, in rviz, the fixed frame is set as “odom” and later during localization, in rviz, “map” is set as the fixed frame.

Ok, I see your point now. During the mapping process (while you are creating the map) it’s OK to use the odom frame (because for mapping purposes it’s basically the same as the map frame). You can also set the Fixed Frame to map and it will be the same. In the end, RViz is a tool just for visualization purposes, you are not configuring anything related to your robot here. I’m going to change this to use the map frame also since I can see it’s confusing you a little bit.

Thanks @albertoezquerro , this was very helpful