As we already have map and odometry data from the robot, as well as we can publish goal pose data, global navigation algorithms can be used to generate a path to reach the goal. The first step is to generate a proper costmaps for it.

A costmap is a map that represents places that are safe for the robot in a grid of cells. Each cell in costmap can take values in range (0, 255). Here are some special values:

  • 255 - No information
  • 254 - Lethal obstacle, obstacle in that cell
  • 253 - Inscribed inflated obstacle. No obstacle there, but movement of robot center will cause collision here
  • 0 - Free space, no obstacle

There are two types of costmaps, global costmap and local costmap. The difference is that global is generated from map, while local one is based on sensor data

Right now I am trying to construct a global costmap. As the global_costmap relies only on the data from map, and robot dimensions, it already can be generated.

Currently, I am using NavfnROs planner, and tuning the variables.