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

What is the purpose of base_footprint?

asked 2015-04-27 14:56:17 -0500

Cerin gravatar image

updated 2015-04-29 09:11:15 -0500

What purpose does the base_footprint link serve?

I'm reading through the Gazebo simulation tutorial, and it instructs the user to create an infinitesimally small nearly weightless box which is linked to the base_link, but it doesn't explain what this is or what it's used for, nor does it link to any resources that do. I did see this similar question, but that answer doesn't really explain why such a link is used. Why does any part of ROS need to know how the model projects onto the ground?

Does every Gazebo model require this link?

Edit: I've noticed the joint linking the footprint to the base_link has an origin whose z component represents a fixed distance from the ground. What value do you use for a legged model that doesn't have a fixed distance from the ground?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2015-05-01 20:40:55 -0500

130s gravatar image

In addition to some empirical answers, there's a REP-120 that defines base_footprint link.

edit flag offensive delete link more

answered 2015-04-27 15:47:35 -0500

rnunziata gravatar image

updated 2015-04-29 09:51:50 -0500

I believe it is to be viewed as a stable projection onto the ground plane(z=0) used for object avoidance and such.Not sure if it needs to be limited to the base link in terms of size of the projection in this since it could treat like a bounding box that it is attached as a child link of the base link.

Ans: updated based on comments.

edit flag offensive delete link more


All the examples are for wheeled platforms and so used a fixed z for the base_footprint joint. What do you use for a legged model whose distance from the ground constantly varies?

Cerin gravatar image Cerin  ( 2015-04-29 09:08:47 -0500 )edit

base_footprint should always be at z 0. The thing that varies in that case is the transform base_footprint -> base_link.

dornhege gravatar image dornhege  ( 2015-04-29 09:34:31 -0500 )edit

In the tutorial link I posted, the example uses a non-zero value for z in the base_footprint_joint origin.

Cerin gravatar image Cerin  ( 2015-04-29 19:06:26 -0500 )edit

Since base_footprint_joint seems to be a joint, not a link, it can have non-zero z value.

130s gravatar image 130s  ( 2015-05-01 20:36:18 -0500 )edit

answered 2015-04-27 16:52:25 -0500

Atilay Mayadag gravatar image

footprint allows your robot to avoid the obstacles , base_footprint should be used for transform the base_footprint coordinates to robot base and calculation the distance between your robot base and obstacle . for Simulation realty and auto calculating , that should use , I guess ..

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-04-27 14:56:17 -0500

Seen: 10,825 times

Last updated: May 01 '15