Unable to replicate RTABMAP standalone performance launching the nodes myself

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

Unable to replicate RTABMAP standalone performance launching the nodes myself

hagenoneill
Using RTABMAP standalone app, performing a scan with the Realsense D455 camera and changing no settings gets us the following scan:





However, using the same camera and performing the same scan but launching the nodes ourselves and viewing them in unity gets us this scan (which is decent but seems quite a bit worse):



(this is using 1 camera with an rgbd odometry node with no changed params (besides the data source params) feeding odom into a slam node with no changed params (besides the data source params))

Then using 2 cameras for both odometry and slam gets us this result (which is still decent but worse than how it looks in the rtabmap standalone):

(the only changes for this are we launch 2 rgbdx_sync nodes to output 1 rgbd image and set the odom/slam nodes to subscribe to that)

I even double checked the preferences in the rtabmap standalone to make sure all the params match the defaults that im using. I built rtabmap with GTSAM and libpointmatcher.

My questions are:
Is our performance actually worse? or is this a function of the way its presented (e.g. color vs black and white or smaller dots making it look better than it is)?
Do you perform any noise reduction or any other post-processing in the standalone app?
What params would you suggest that i tweak?

So far, I have tried tweaking (to no avail):
RGBD/AngularUpdate = 0.01
RGBD/LinearUpdate = 0.01
RGBD/NeighborLinkRefining = true
RGBD/OptimizeFromGraphEnd = true
Grid/CellSize = 0.03-0.08
Grid/NoiseFilteringRadius = 0.5
Grid/NoiseFilteringMinNeighbors = 2
Grid/DepthDecimation = 1
map_always_update = true
map_empty_ray_tracing = true

Any advice you could offer to reduce the noise of the point cloud would be greatly appreciated! thanks :)

P.s.
I can also provide the launch files if need be, but I change no params that don't involve the data sources of rtabmap.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to replicate RTABMAP standalone performance launching the nodes myself

matlabbe
Administrator
Hi,

It seems the big difference is that you are using the RGB camera.In rtabmap standalone, the left IR + generated depth is used by default. The IR camera has larger FOV and no depth registration errors, which means better pose estimation. Try using left IR image with depth aligned to Left IR camera (non-aligned depth should be aligned with left camera), and disable IR emitter.

we launch 2 rgbdx_sync nodes to output 1 rgbd image
not sure to understand that setup...

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Unable to replicate RTABMAP standalone performance launching the nodes myself

hagenoneill
Hello, sorry for the delayed response!

for context, this is roughly our current working setup:



I am trying to set up the IR+generated depth, however I'm not sure what parameters need to be set to do this. I tried enabling the infra2 param in the realsense camera and remapping those to the rgbd_sync nodes but it isn't working.


matlabbe wrote
Try using left IR image with depth aligned to Left IR camera (non-aligned depth should be aligned with left camera)
What parameters and remappings do I need to perform to accomplish this? And in what nodes do those parameters and remappings belong?
Reply | Threaded
Open this post in threaded view
|

Re: Unable to replicate RTABMAP standalone performance launching the nodes myself

matlabbe
Administrator
You can follow stereo example with D435i on this page to use IR stereo: http://wiki.ros.org/rtabmap_ros/Tutorials/StereoHandHeldMapping#Bring-up_example_with_RealSense_cameras