Ask Your Question

I run into an error when using move_base package of navigation

asked 2014-03-07 03:35:06 -0600

Yuichi Chu gravatar image

updated 2016-10-26 03:48:07 -0600

130s gravatar image

Hi,everyone!when I was setting up my robot for navigation ,I followed the navigation tutorial like this .But when I roslaunch the move_base.launch ,I ran into an error.It says ,

You must specify at least three points for the robot footprint,reverting to previous footprint.

I know maybe something is wrong with costmap_common_params.yaml setting "footprint:[[x0,y0],[x1,y1]...[xn,yn]]".But I donot know how to solve the problem.Can anyone help me ???

I add the costmap_common_params.yaml:

obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[x0, y0], [x1, y1], ... [xn, yn]]
inflation_radius: 0.55
observation_sources: laser_scan_sensor 
laser_scan_sensor: {sensor_frame: base_laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
edit retag flag offensive close merge delete


Can you add your costmap_common_params.yaml to the question?

ahendrix gravatar image ahendrix  ( 2014-03-07 09:09:55 -0600 )edit

Ok,I add my costmap_common_params.yaml to the question. Maybe I should fill in x0,y0,x1....xn exactly. But I donot know what footprint and inflation_radius means in this file and how much it matters to the algorithm. I have read the tutorial,but canot catch the point .Can you help me?

Yuichi Chu gravatar image Yuichi Chu  ( 2014-03-10 04:23:52 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2014-03-10 08:18:23 -0600

ahendrix gravatar image

The footprint parameter describes the shape and size of your robot, in meters. 0,0 is assumed to be the turning center of your robot, and you define the corners of your robot relative to that center. +X is forward, +Y is to the left, as defined in REP-103

For example, if you have a 1m square robot that turns about its center, your footprint would be:

footprint: [ [0.5, 0.5], [-0.5, 0.5], [-0.5, -0.5], [0.5, -0.5] ]

However, if your robot turns about its front edge, your footprint would be:

footprint: [ [0.0, 0.5], [0.0, -0.5], [-1.0, -0.5], [-1.0, 0.5] ]

If you have a triangular robot, your footprint might look like:

footprint: [ [1.0, 0.0], [0.0, -0.5], [0.0, 0.5] ]
edit flag offensive delete link more


It helps a lot.Thank you very much,ahendrix!

Yuichi Chu gravatar image Yuichi Chu  ( 2014-03-10 16:35:46 -0600 )edit

@ahendrix, your reply is very clear,but in the costmap_common_params.yaml ,turtlebot is set robot_radius: 0.18,how many points to define it's circle footprint ,does it use the four corners of it's inscribed square?

jxl gravatar image jxl  ( 2015-06-15 21:16:18 -0600 )edit

yes,i want to figure out costmap_2d::Costmap2DROS::getRobotFootprint(), when it is turtlebot ,it will return how many points ?:)

jxl gravatar image jxl  ( 2015-06-15 22:33:12 -0600 )edit

Actually its a 16-sided polygon (hexadecagon).

David Lu gravatar image David Lu  ( 2015-06-15 22:33:40 -0600 )edit

I think i found it, as if in the costmap_2d::Costmap2DROS::setFootprintFromRadius,it set the footprint by 16 points.

jxl gravatar image jxl  ( 2015-06-15 22:59:15 -0600 )edit

@David Lu and @ahendrix,thank you ,all :))

jxl gravatar image jxl  ( 2015-06-15 23:00:56 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2014-03-07 03:35:06 -0600

Seen: 3,848 times

Last updated: Oct 26 '16