Robotics StackExchange | Archived questions

footprint and footprint_padding for move_base

I am confused by the differences of footprint and footprint_padding. May anyone give me an explanation or link of tutorial?

From rviz visualization, in costmap_common, if I set

footprint: [[0.1, -0.1], [0.1, 0.1], [-0.1, 0.1], [-0.1, -0.1]], footprint_padding: 0.11

it is same as: footprint: [[0.2, -0.2], [0.2, 0.2], [-0.2, 0.2], [-0.2, -0.2]], footprint_padding: 0.01

However, the GlobalPlaner's plan result is different. Can footprint_padding be 0?

May I also ask what algorithm the move_base is using to detect if there is any "occupied" map pixel is within the footprint box or circle?

Thanks!

Asked by metal_lab_1 on 2017-04-07 13:48:53 UTC

Comments

Answers

– footprint and footprint padding: when you want a most precise representation of your robot.. footprint padding is summed at each of the footprint points, both at the x and y coordinates,

Refer to: https://www.researchgate.net/profile/Joao-Fabro/publication/302986850_ROS_Navigation_Concepts_and_Tutorial/links/5b0c2f51aca2725783ec37c4/ROS-Navigation-Concepts-and-Tutorial.pdf

Asked by troyelex on 2021-09-07 01:09:10 UTC

Comments

footprint should be the actual physical size of your robot (or bounding polygon if the robot is an irregular shape.) footprint_padding provides safety margin to help prevent collisions with nearby objects, and to restrict how narrow a corridor the robot is allowed into. Yes, you can live dangerously and set it to 0.

I can't explain why GlobalPlanner did something different. That particular change shouldn't have mattered to it.

Asked by Mike Scheutzow on 2021-09-07 16:03:27 UTC

Comments