Posted by
acp on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Noisy-3D-PointCloud-objects-not-aligned-poor-loop-closure-and-odometry-lost-tp8174.html
Dear People.
I do have an
Asus Xtion Pro running under
ros-noetic. I have been inspired by the following links:
link1 and
link2I have few questions:
1.- Why
Mapcloud topic generates a smother and cleaner image than the
cloud_map or
octomap_occupied_space, as seen in the figures below.
2.-The
cloud_map generates a more noisy image, maybe it has to do with some outliers boundary. How can we clean this image so it looks more than the
mapcloud image?,
This parameter filter the roof,
<--param name="Grid/MaxObstacleHeight" type="string" value="1.0" />, is there another parameter that could clean the image.
3.-Sometimes the
odometry get lost, then I have to wait till it get reset it and it is on its own track, is there a way to solve the
odom problem?
4.-we can see in the
mapcloud image that some walls are not aligned even though there is a loop closure, it is like the map does not delete the not aligned objects when there is a loop closure, is there a way to solve that issue?
5.-The Figure below shows not loop closure, even the sensor has passed twice over the same place, I have set the parameter
RGBD/OptimizeMaxError to
zero to accept all loop closures. Is there another parameter. Can the problem be solved?
This is the launch file:
<include file="$(find openni_launch)/launch/openni.launch"/>
<group ns="rtabmap">
<node pkg="nodelet" type="nodelet" name="rgbd_sync" args="standalone rtabmap_ros/rgbd_sync" output="screen">
<remap from="rgb/image" to="/camera/rgb/image_rect_color"/>
<remap from="depth/image" to="/camera/depth_registered/image_raw"/>
<remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>
<remap from="rgbd_image" to="rgbd_image"/> <!-- output -->
<!-- Should be true for not synchronized camera topics
(e.g., false for kinectv2, zed, realsense, true for xtion, kinect360)-->
<param name="approx_sync" value="true"/>
</node>
<!-- Odometry -->
<node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
<--param name="subscribe_rgbd" type="bool" value="true"/>
<--param name="frame_id" type="string" value="camera_link"/>
<remap from="rgbd_image" to="rgbd_image"/>
</node>
<node pkg="rtabmap_ros" type="rtabmap" name="rtabmap" output="screen" args="-d">
<--param name="frame_id" type="string" value="camera_link"/>
<--param name="subscribe_depth" type="bool" value="false"/>
<--param name="subscribe_rgb" type="bool" value="false"/>
<--param name="subscribe_rgbd" type="bool" value="true"/>
<--param name="subscribe_scan_cloud" type="bool" value="true"/>
<--param name="approx_sync" type="bool" value="true"/>
<remap from="scan_cloud" to="/camera/depth_registered/points"/>
<remap from="rgbd_image" to="rgbd_image"/>
<remap from="odom" to="odom"/>
<!-- RTAB-Map's parameters -->
<--param name="Odom/ResetCountdown" value="1" /> <!-- 1 reset the odometry -->
<--param name="RGBD/NeighborLinkRefining" type="string" value="true"/>
<--param name="RGBD/ProximityBySpace" type="string" value="true"/>
<--param name="RGBD/AngularUpdate" type="string" value="0.01"/>
<--param name="RGBD/LinearUpdate" type="string" value="0.01"/>
<--param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>
<--param name="Grid/FromDepth" type="string" value="false"/>
<--param name="Reg/Force3DoF" type="string" value="true"/>
<--param name="Reg/Strategy" type="string" value="0"/> <!-- 1=ICP -->
<--param name="RGBD/OptimizeMaxError" type="string" value="0"/><!-- accept all loopclosures -->
</node>
</group>
Mapcloud Image with some not aligned objects

Noisy cloud_map image

Macloud image with poor loop closure

Thank you so much