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

Revision history [back]

click to hide/show revision 1
initial version

I am not sure if you want to evaluate your 2D navigation map or the 3D Octomap. But in either case you can write a node to subscribe to the map message.

since you have access to the mapping environment (real or simulated), you can measure its volume/area. I refer this as full.

By subscribing to the map message you can read which (2D/3D) cells are occupied, and which cells are free. You can find out each cell's size and calculate the area/volume. Sum these areas/volumes separately. I label them as occupied, and free.

unmapped = full - occupied - free

(Octomap marks unknown cells too, but they don't cover the full area of the map if you don't fully explore. you can use this if it fits your requirement)

I am not sure if you want to evaluate your 2D navigation map or the 3D Octomap. But in either case you can write a node to subscribe to the map message.

since you have access to the mapping environment (real or simulated), you can measure its volume/area. I refer this as full.

By subscribing to the map message you can read which (2D/3D) cells are occupied, and which cells are free. You can find out each cell's size and calculate the area/volume. Sum these areas/volumes separately. I label them as occupied, and free.

unmapped = full - occupied - free

(Octomap marks unknown cells too, but they don't cover the full area of the map if you don't fully explore. you can use this if it fits your requirement)

Octomap's 3D map topics are: /octomap_full, /octomap_binary , and 2D ground map topic is: /map