Question about rgbd_odometry bundle_adjustement step

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

Question about rgbd_odometry bundle_adjustement step

AlessioParmeggiani
Hi, I noticed that the rgbd_odometry node has three different parameters for selecting the bundle adjustement approach to be used:
OdomF2M/BundleAdjustment
Optimizer/Strategy
Vis/BundleAdjustment


In case of Reg/Strategy = "0" (Vis) and   Odom/Strategy = "0" (F2M) which of the above parameters has the priority in selecting the bundle adjustement approach?
Do you confirm that there is only one bundle adjustement step done after motion estimation using the features in the local map?
Reply | Threaded
Open this post in threaded view
|

Re: Question about rgbd_odometry bundle_adjustement step

matlabbe
Administrator
This post was updated on .
Hi,

To use OdomF2M/BundleAdjustment=1 (default if built with g2o), you need to set Odom/Strategy=0 (default).

If above are used, Vis/BundleAdjustment is disabled (set to 0), so there is only one bundle adjustment done. That is for odometry node.

For rtabmap node, Vis/BundleAdjustment is still used if set with Reg/Strategy=0. "Odom" parameters are not used.

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

Re: Question about rgbd_odometry bundle_adjustement step

AlessioParmeggiani
This post was updated on .
Thank you for answering!
So to be 100% clear, is the same algorithm just set by different parameters? or the bundle adjustment is done differently depending if it's set via Vis,OdomF2M or Optimizer (assuming the same strategy e.g. g2o) ?
Which configuration do you suggest?

Just a side note, I see that Optimizer/strategy is set to 2 (GTSAM) by default and not 0 (TORO)
Reply | Threaded
Open this post in threaded view
|

Re: Question about rgbd_odometry bundle_adjustement step

matlabbe
Administrator
Sorry, I meant Odom/Strategy=0, not Optimizer/Strategy=0 in my previous post, I corrected it.

Default of Optimizer/Strategy is indeed 2 (if built with GTSAM) or 1 (if built with g2o and not gtsam). That's not used by odometry, only graph optimization on rtabmap side.

Vis/BundleAdjustment is done only between two frames. OdomF2M/BundleAdjustment is done using 3D features of the local map and the 2D features of the keyframes in the local map + current frame. Doing Vis/BundleAdjustment on top of OdomF2M/BundleAdjustment was redundant, so it is why it is disabled if so.

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

Re: Question about rgbd_odometry bundle_adjustement step

AlessioParmeggiani
Thank you! Everything is clear now :)