Rtabmap with ZED1 - noisy result

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Rtabmap with ZED1 - noisy result

martinerk0
Hello, I tried rtabmap with turtlebot in simulation with simulated kinect, and everything worked pretty fine.
Then I put ZED camera on a real turtlebot and tried to do mapping in larger indoor space, but result is kinda noisy.



This is pointcloud generated from database, and lot of points are below floor, i.e. the pointclouds generated by camera are bad.

I've read on the zed page that indoor mapping is limited but I did not expect it to be this bad.
I have calibrated the camera and will try it tomorrow again.

I used your rtabmap turtlebot launchfile combined with zed one.

My question is, how to you cope with noisy sensor? Put the pointcloud through some filter before it goes to rtabmap?

I don't have available RGB-D sensor like intel realsense, but I guess it has noise too.



Reply | Threaded
Open this post in threaded view
|

Re: Rtabmap with ZED1 - noisy result

martinerk0
Calibration did not help :D I guess the camera does not like that floor is uniform color maybe has some reflections from lights... do you think RGB-D that project IR pattern such as intel realsense would produce better results?

Reply | Threaded
Open this post in threaded view
|

Re: Rtabmap with ZED1 - noisy result

matlabbe
Administrator
Reflective floors can indeed cause points under the floor for stereo cameras. With IR pattern, it may reduce this effect, but IR can also be reflected.

ZED for indoor navigation is possible, but don't expect accurate 3D reconstructions. However for navigation, even if the objects/walls are noisy, as long as the robot can avoid them it is fine. The advantage of an IR stereo camera with IR pattern like realsense over the RGB ZED stereo camera is that textureless surfaces (e.g., white walls) can be detected. To filter the floor in rtabmap for the occupancy grid generated, you can play with Grid/MinGroundHeight parameter, by setting it to -0.1 for example. To filter the ceiling, the higher bound of the passthrough filter is defined by Grid/MaxObstacleHeight parameter.

cheers,
Mathieu