Tuning and Experimenting with Different Algorithms and Parameters - Kapernikov/tech-session-visual-odometry GitHub Wiki
In this last exercise the goal is to experiment with different parameters and algorithms (visual odometry, graph optimization, feature extraction) of rtabmap to achieve the best possible results.
As a benchmark you can use the KITTI dataset or the gazebo dataset along with the code from the previous exercise to evaluate the results.
You can lookup the parameters and meaning using the command
$ rtabmap --params
You can modify the parameters in the corresponding configuration file. For example if you use the KITTI dataset, modify the rtabmap-kitti.ini in tech-session-visual-odometry/visual_odometry/config/. Else, if you use the gazebo dataset you need to modify rtabmap-gazebo.ini.
You can try different VO algorithms - parameter Odom\Strategy:
0 = F2M (Frame-to-Map) (default)
1 = F2F (Frame-to-Frame)
2 = FOVIS
3 = VISO2
4 = DVO-SLAM
5 = ORB-SLAM2
6 = OKVIS
7 = LOAM - Requires a LIDAR, so ignore it
8 = MSCKF_VIO
F2M and F2F are included in RTAB-Map. The rest must be installed from source and then RTAB-Map must be rebuild from source as well.
Switch between VO algorithms through parameter Odom\Strategy in rtabmap-kitti.ini or rtabmap-gazebo.ini and then you can further tune that algorithm’s parameters (eg. OdomORBSLAM2\MaxFeatures)
You can try different optimization libraries for bundle adjustment (OdomF2M/BundleAdjustment,
is/BundleAdjustment):
0 = disabled
1 = g2o
2 = cvsb (must be installed from source along with rtabmap)
You can try different optimization libraries for graph optimization (Optimizer/Strategy):
0 = TORO
1 = g2o
2 = GTSAM