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.