On 2012-10-26 12:07, Christian Dornhege wrote: > On 26.10.2012 07:13, David Lu!! wrote: >> Would this also be a good place to standardize what the data in >> OccupancyGrid actually means? The comments in the .msg file specify... >> # The map data, in row-major order, starting with (0,0). Occupancy >> # probabilities are in the range [0,100]. Unknown is -1. >> int8[] data >> >> However, this standard is not respected in the navigation stack, >> specifically costmap_2d, which also specifies costs with 8bits, but as >> unsigned chars, leading to costs [0, 254] with 255 being the unknown >> value (sometimes). >> >> [...] >> >> What do other people think? > > I think costmap and occupancy map do have slightly different > semantics. The occupancy map only gives world geometry (which needs to > be interpreted). The costmap tries to give costs for a specific robot > at the cell location and thus costmap_2d does all those extra values. > I agree with Christian on this. To say differently: The occupancy map gives you the probability that a cell is occupies based on sensor data. The costmap gives you some measure of collision-freeness which is only based on the occupied and unknown cells (without probabilities), the robot shape and its configuration. Best, -- Armin Hornung Humanoid Robots Lab, Albert-Ludwigs-Universität Freiburg Contact: http://www.informatik.uni-freiburg.de/~hornunga