Are you using laser scans? You can also check the 3D map projection /rtabmap/proj_map
from the Kinect, which fills empty spaces by detecting the floor.
For the map created from laser scans (/rtabmap/grid_map
), by default only empty cells between the robot and the obstacles are set as "Empty". If the laser doesn't hit anything, the cells remain "Unknown". On version 0.10.5, the parameter grid_unknown_space_filled
can be used:
<node name="rtabmap" pkg="rtabmap_ros" type="rtabmap">
[...]
<param name="grid_unknown_space_filled" type="bool" value="true"/>
</node>
The unknown space between the obstacles should then be filled by "Empty" cells, up to laser scan range.
There is also the parameter map_filter_radius
that can make some parts of the map disappearing, you can set to 0 to disable the node filtering. See rtabmap_ros doc.