rtabmap post-processing order

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

rtabmap post-processing order

akunin
Hi Mathieu,
I see 5 possible options/functions for post-processing and map improvement:

1. global bundle adjustment (globalBundleAdjustment)
2. detect more loop-closures (databaseViewer)
3. refine all neighbor links  (databaseViewer)
4. refine all loop closure links  (databaseViewer)
5. update neighbor/loop/landmark covariances (databaseViewer)

Can you recommend proper order of these functions? all them can improve the map or some options are redundant?
what is the reason you separated them in different tools and actually you use different code to go through the map/graph?
thank you


 
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap post-processing order

matlabbe
Administrator
Hi,

For 1, it was more experimental, because the result is not saved back to rtabmap map. It is only used for export.

For the other ones, they were added separately and at different time depending on the problem I was trying to debug. The options in databaseViewer will be saved back in the database.

There are no particular order, it depends of the situation. 2 could be useful to add more constraints in many cases. 3-4-5 would be more useful to debug when trying different Core parameters.

On CLI side, you may use these tools in that order to optimize the final map:
rtabmap-detectMoreLoopClosures ...
rtabmap-export --ba ...

To re-use global adjustment result on a robot in localization mode, you can do:
rtabmap-globalBundleAdjustment ...