How to clean up a noisy 3d point cloud?
Hi,
I am running ros melodic rtabmap rgbd_odometry. I'm getting a noisy point cloud, which I tried to filter by using the rtabmap_ros parameters:
cloud_noise_filtering_radius, cloud_noise_filtering_min_neighbors
which map to rtabmap parameters
/rtabmap/Grid/NoiseFilteringRadius, /rtabmap/Grid/NoiseFilteringMinNeighbors
I can see that the parameters are passed into the rtabmap process:
ps1 ros | grep -i rtabmap
opt/ros/melodic/lib/rtabmap_ros/rtabmap --udebug --Grid/NoiseFilteringMinNeighbors 80000 --Grid/NoiseFilteringRadius 90000.0 rgb/image:=/camera/rgb/image_color depth/image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info rgbd_image:=rgbd_image_relay left/image_rect:=/stereo_camera/left/image_rect_color right/image_rect:=/stereo_camera/right/image_rect left/camera_info:=/stereo_camera/left/camera_info right/camera_info:=/stereo_camera/right/camera_info scan:=/scan scan_cloud:=/scan_cloud user_data:=/user_data user_data_async:=/user_data_async odom:=odom __name:=rtabmap
I set the parameters to very big values (NoiseFilteringMinNeighbors 80000 NoiseFilteringRadius 90000.0), for sanity check.
I expect that the rviz will filter all the 3d points and that the point cloud will be empty, but I'm getting the same point cloud as when cloud_noise_filtering is disabled (NoiseFilteringMinNeighbors 2 NoiseFilteringRadius 0)
rosparam get /rtabmap/Grid/NoiseFilteringMinNeighbors
'2'
rosparam get /rtabmap/Grid/NoiseFilteringRadius
'0'
NoiseFilteringRadius_0__NoiseFilteringMinNeighbors_2 What should I do so that the cloud_noise_filtering takes effect?
Thanks, Avner
Which topic are you visualizing in RVIZ? Those parameters only affect
/rtabmap/cloud_map
output.ok. so I'm now looking at /rtabmap/cloud_map. I set: the Radius to 0.1 and MinNeighbors to 80000 My understanding id is that there must be 80000 in a radius of 0.1 (what units ?) Since the NoiseFilteringMinNeighbors number is big, I expect that all the points will be filtered but I still see points
units are in meters