ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

difference between resolution in different yaml files?

asked 2021-04-04 17:44:27 -0500

Eman.m gravatar image

Hi I am getting confused between the meaning of parameter resolution in:




myMap.yaml, I understand that it specifies the meters/cell in my map.

I thought it is the same in global_costmap_params.yaml and local_costmap_params.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.

edit retag flag offensive close merge delete


What info did you read that implies something different? Can you provide a link?

tryan gravatar image tryan  ( 2021-04-05 08:52:53 -0500 )edit

"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:

In map.yaml

resolution: 1


resolution: 0.01 # it was 1


resolution: 0.01 # it was 1

After change resolution to 0.01, navigation works fine.

Eman.m gravatar image Eman.m  ( 2021-04-07 11:34:52 -0500 )edit

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; and local_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.

tryan gravatar image tryan  ( 2021-04-07 12:12:10 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2021-04-05 08:59:39 -0500

miura gravatar image

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.

edit flag offensive delete link more

Question Tools



Asked: 2021-04-04 17:44:27 -0500

Seen: 225 times

Last updated: Apr 05 '21