rtabmap: free space behind the walls
I am running rtabmap in gazebo with turtlebot3 without lidar, only with camera. here is my rtabmap parameters: <group ns="rtabmap">
<node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="$(arg rtabmap_args)">
<param name="database_path" type="string" value="$(arg database_path)"/>
<param name="frame_id" type="string" value="base_footprint"/>
<param name="subscribe_depth" type="bool" value="true"/>
<param name="subscribe_rgbd" type="bool" value="false"/>
<param name="subscribe_scan" type="bool" value="false"/>
<!-- Input topics -->
<remap from="scan" to="$(arg input_scan)"/>
<remap from="odom" to="$(arg input_odom)"/>
<remap from="rgb/image" to="$(arg input_image)"/>
<remap from="depth/image" to="$(arg input_depth)"/>
<remap from="rgb/camera_info" to="$(arg input_camera_info)"/>
<remap from="rgbd_image" to="rgbd_image"/>
<!-- Output topics -->
<remap from="grid_map" to="/map"/>
<param name="queue_size" type="int" value="100"/>
<!-- RTAB-Map's parameters -->
<param name="RGBD/NeighborLinkRefining" type="string" value="false"/>
<param name="RGBD/ProximityBySpace" type="string" value="true"/>
<param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>
<param name="RGBD/AngularUpdate" type="string" value="0.05"/>
<param name="RGBD/LinearUpdate" type="string" value="0.05"/>
<param name="Optimizer/GravitySigma" type="string" value="0.1"/>
<!--param name="Optimizer/Slam2D" type="string" value="true"/-->
<param name="Reg/Force3DoF" type="string" value="true"/>
<param name="Reg/Strategy" type="string" value="0"/> <!-- 1=ICP -->
<param name="Vis/MinInliers" type="string" value="20"/>
<param name="Vis/InlierDistance" type="string" value="0.1"/>
<param name="Kp/MaxDepth" type="string" value="0"/>
<param name="Vis/MaxDepth" type="string" value="0"/>
<param name="Rtabmap/TimeThr" type="string" value="0"/>
<param name="Rtabmap/DetectionRate" type="string" value="$(arg rate)" />
<param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
<param name="Mem/UseOdomGravity=true" type="string" value="true"/>
<param name="Grid/MaxObstacleHeight" type="string" value="0.75" />
<param name="Grid/NoiseFilteringRadius" type="string" value="0.0"/>
<param name="Grid/NoiseFilteringMinNeighbors" type="string" value="5.0"/>
<param name="Grid/FromDepth" type="bool" value="true" />
<!--param name="Grid/DepthDecimation" type="string" value="10"/-->
<param name="Grid/3D" type="bool" value="true" />
<param name="Grid/RayTracing" type="bool" value="true" />
<param name="Grid/NormalsSegmentation" type="string" value="true" />
<param name="Grid/MaxGroundHeight" type="string" value="0.03" />
<param name="Grid/RangeMax" type="string" value="5.0" />
<param name="Grid/FlatObstacleDetected" type="bool" value="true"/>
<param name="Icp/VoxelSize" type="string" value="0.05"/>
<param name="Icp/MaxCorrespondenceDistance" type="string" value="0.1"/>
<!-- Localization mode -->
<param if="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="false"/>
<param unless="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="true"/>
<param name="Mem/InitWMWithAllNodes" type="string" value="$(arg localization)"/>
</node>
</group>
I have problem that map is exploring with free space behind the walls (marked with red):
Space that camera cannot see ...