robotRadius in costmap
Store the robotRadius which was used to generate it in the costmap.
As a result, the cartographer does not have to generate two costmaps anymore (one which includes the robot radius and one without).
Each component can then convert the costmap to the radius it requires.
Additionally, the radius can be either an optional or have the special value of -1 to indicate the costmap was calculated through some special means which cannot be simply described as a robot radius and the component should trust the values in the costmap to include the robot footprint.
E.g. the costmap provider calculates the costmap with the 3D model of the robot which should not be modified.
To Do:
-
generate only a single costmap in the cartographer -
respect the robot radius in the costmap merger -
let the navigatorcalculate the costmap according to it's own configured robot radius -
set a separate robot radius for the costmap visualization in the navigation memory -
set the proper value in each component generating a costmap ( nvblox,cartographer,costmap provider,costmap mergeretc.)