difference between resolution in different yaml files?
Hi I am getting confused between the meaning of parameter resolution in:
myMap.yaml
globalcostmapparams.yaml
localcostmapparams.yaml
myMap.yaml, I understand that it specifies the meters/cell in my map.
I thought it is the same in globalcostmapparams.yaml and localcostmapparams.yaml, but I read some info that implies something different!
Could some one explains the difference for me as a beginner?
I highly appreciate your help.
Asked by Eman.m on 2021-04-04 17:44:27 UTC
Answers
As I understand it, there is no difference.
Both global costmap and local costmap are implemented as plugins for costmap_2d::Layer. Therefore, unless the plugin intentionally changes its handling, it will be "The resolution of the map in meters/cell." as explained in the costmap_2d documentation.
The same costmap_2d documentation says the following
The following parameters can be overwritten by some layers, namely the static map layer.
I think the static map layer is usually used in global costmap. The following parameters can be overwritten by some layers, namely the static map layer. This is probably overridden by the resolution in the map topic.
Asked by miura on 2021-04-05 08:59:39 UTC
Comments
What info did you read that implies something different? Can you provide a link?
Asked by tryan on 2021-04-05 08:52:53 UTC
"Parameter resolution defines the grid where planner should search for possible path. When it is set to 1, path will be aligned to 1 meter grid, this value should be definitely smaller."
In this question: https://community.husarion.com/t/navigation-problem-rosbot2-does-not-move/1088/24
In map.yaml
resolution: 1
global_costmap_params.yaml
resolution: 0.01 # it was 1
local_costmap_params.yaml
resolution: 0.01 # it was 1
After change resolution to 0.01, navigation works fine.
Asked by Eman.m on 2021-04-07 11:34:52 UTC
Yes, they are different in that each file pertains to a different map, but the units are the same (meters / cell).
myMap.yaml
defines the resolution of your environment map (usually what we think of as "map");global_costmap_params.yaml
defines the resolution for the costmap that the global path planner uses; andlocal_costmap_params.yaml
defines the resolution for the costmap that the local planner uses. Depending on your costmap configuration, they could all be different values. As far as navigation, a 1m/cell resolution is very coarse and limits the planner's choices (open cells) for getting around obstacles, so it's not surprising that it would work better with a finer resolution. As mentioned in the Navigation Robot Setup Tutorial, all three resolutions are often set the same, but that value is usually more like 0.01 m / cell.Asked by tryan on 2021-04-07 12:12:10 UTC