0
$\begingroup$

Rosanswers logo

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}

Originally posted by Yuichi Chu on ROS Answers with karma: 148 on 2014-03-07

Post score: 4


Original comments

Comment by ahendrix on 2014-03-07:
Can you add your costmap_common_params.yaml to the question?

Comment by Yuichi Chu on 2014-03-10:
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?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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] ]

Originally posted by ahendrix with karma: 47576 on 2014-03-10

This answer was ACCEPTED on the original site

Post score: 8


Original comments

Comment by Yuichi Chu on 2014-03-10:
It helps a lot.Thank you very much,ahendrix!

Comment by jxl on 2015-06-15:
@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?

Comment by jxl on 2015-06-15:
yes,i want to figure out costmap_2d::Costmap2DROS::getRobotFootprint(), when it is turtlebot ,it will return how many points ?:)

Comment by David Lu on 2015-06-15:
Actually its a 16-sided polygon (hexadecagon). https://github.com/ros-planning/navigation/blob/jade-devel/costmap_2d/src/costmap_2d_ros.cpp#L371

Comment by jxl on 2015-06-15:
I think i found it, as if in the costmap_2d::Costmap2DROS::setFootprintFromRadius,it set the footprint by 16 points.

Comment by jxl on 2015-06-15:
@David Lu and @ahendrix,thank you ,all :))

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.