Visual Inertial Odometry (VIO) / Simultaneous Localization & Mapping (SLAM) using iSAM2 framework from the GTSAM library.
Presentation on (1) theoretical background of iSAM2 and (2) results on Turtlebot (videos at the end):
Paper: https://www.dropbox.com/s/dka68k9i4uw187r/Master_s_Thesis.pdf?dl=0
Dataset: https://www.dropbox.com/sh/vku3rpquwpql0h0/AADmsJg6yzNQ7nIK3XmbF7iva?dl=0
This package uses:
When building gtsam from source, use the following cmake flags: -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_UNSTABLE=OFF -DGTSAM_BUILD_WRAP=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON -DGTSAM_TYPEDEF_POINTS_TO_VECTORS=ON
Run launch file:
Run bag file from dataset link above (or use your own ZED mini stereo camera):
Make sure the following topics are publishing messages:
To visualize the estimated camera pose and 3D locations of features in the world frame, run the following command:
To change which iSAM2 implementation is being run: change the "isam2_node" definition in CMakeLists.txt to one of the below (e.g. "isam2_vio_zedpose")
To change frame and camera topic specifications: