Robotics StackExchange | Archived questions

Can a costmap's inscribed_radius and circumscribed_radius be set from the parameter server?

Motivated by this question (http://answers.ros.org/question/233809), I dug into the parameters of costmap_2d and move_base. I had two related questions regarding the radii:

1) Can a costmap's inscribed_radius and circumscribed_radius parameters be set from the parameter server? Digging through the source code, it looks like they are calculated solely based on the robot's footprint / radius (see layered_costmap.cpp#L148), not any user-provided values. Up till now, I thought I could parametrize the inflation layer like below, but I don't think so any more.

inflation_layer:
  enabled: true
  inscribed_radius:     0.15 # Will this have any effect?
  circumscribed_radius: 0.20 # Will this have any effect?
  inflation_radius:     0.40

2) Does movebase actually use `localcostmap/inscribed_radius` for anything? (see move_base.cpp#L101) Also, the following comment (see L100) is not consistent with my new understanding of costmap parametrization:

//we'll assume the radius of the robot to be consistent with what's specified for the costmaps
private_nh.param("local_costmap/inscribed_radius", inscribed_radius_, 0.325);
private_nh.param("local_costmap/circumscribed_radius", circumscribed_radius_, 0.46);

Asked by spmaniato on 2016-05-09 15:30:27 UTC

Comments

Answers

From my examination of the code move_base does grab local_costmap/inscribed_radius however as far as I can tell it is not passed to the costmaps. The costmap calculates both values from the footprint as you stated.

Asked by ed on 2019-12-19 12:32:39 UTC

Comments