  This article introduces a novel method for converting 3D voxel maps, commonly
utilized by robots for localization and navigation, into 2D occupancy maps for
both unmanned aerial vehicles (UAVs) and unmanned ground vehicles (UGVs). The
generated 2D maps can be used for more efficient global navigation for both
UAVs and UGVs, in enabling algorithms developed for 2D maps to be useful in 3D
applications, and allowing for faster transfer of maps between multiple agents
in bandwidth-limited scenarios. The proposed method uses the free space
representation in the UFOMap mapping solution to generate 2D occupancy maps.
During the 3D to 2D map conversion, the method conducts safety checks and
eliminates free spaces in the map with dimensions (in the height axis) lower
than the robot's safety margins. This ensures that an aerial or ground robot
can navigate safely, relying primarily on the 2D map generated by the method.
Additionally, the method extracts the height of navigable free space and a
local estimate of the slope of the floor from the 3D voxel map. The height data
is utilized in converting paths generated using the 2D map into paths in 3D
space for both UAVs and UGVs. The slope data identifies areas too steep for a
ground robot to traverse, marking them as occupied, thus enabling a more
accurate representation of the terrain for ground robots. The effectiveness of
the proposed method in enabling computationally efficient navigation for both
aerial and ground robots is validated in two different environments, over both
static maps and in online implementation in an exploration mission. The methods
proposed within this article have been implemented in the popular robotics
framework ROS and are open-sourced. The code is available at:
https://github.com/LTU-RAI/Map-Conversion-3D-Voxel-Map-to-2D-Occupancy-Map.
