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

base_link vs base_footprint

asked 2018-05-17 17:58:20 -0500

I have read that the navigation stacking within ROS requires the use of base_footprint. What is the difference between base_link and base_footprint? How do I know which I should use?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-05-18 01:04:19 -0500

jayess gravatar image

updated 2018-05-18 01:06:49 -0500

From REP-120:


The coordinate frame called base_link is rigidly attached to the robot root body. It is recommended to choose the robot waist as its root body. The base_link can be attached to the root in any arbitrary position or orientation; for every hardware platform there will be a different place on the base that provides an obvious point of reference. Note that REP 103 [1] specifies a preferred orientation for frames.


The base_footprint is the representation of the robot position on the floor. The floor is usually the level where the supporting leg rests, i.e. z = min(l_sole_z, r_sole_z) where l_sole_z and r_sole_z are the left and right sole height respecitvely. The translation component of the frame should be the barycenter of the feet projections on the floor. With respect to the odom frame, the roll and pitch angles should be zero and the yaw angle should correspond to the base_link yaw angle.

Rationale: base_footprint provides a fairly stable 2D planar representation of the humanoid even while walking and swaying with the base_link.

[1] REP 103, Standard Units of Measure and Coordinate Conventions

Also, check out #q208051 and #q94941 for some more explanation.

edit flag offensive delete link more

Question Tools



Asked: 2018-05-17 17:58:20 -0500

Seen: 6,585 times

Last updated: May 18 '18