Skip to content

Visual Inertial Odometry (VIO) / Simultaneous Localization & Mapping (SLAM) using iSAM2 framework from the GTSAM library.

License

Notifications You must be signed in to change notification settings

vkopli/gtsam_vio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLAM for ZED Stereo Camera using iSAM2

Summary

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

Preliminaries

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

Instructions to Run

Run launch file:

  • roslaunch gtsam_vio isam2_turtlebot_zed.launch

Run bag file from dataset link above (or use your own ZED mini stereo camera):

  • rosbag play turtlebot_zed_forward_back.bag

Make sure the following topics are publishing messages:

  • /zed/zed_node/left/image_rect_color/compressed
  • /zed/zed_node/right/image_rect_color/compressed
  • /zed/zed_node/odom
  • /zed/zed_node/imu/data (only necessary for isam2_vio_imu & isam2_imu implementations)

Instructions to Visualize

To visualize the estimated camera pose and 3D locations of features in the world frame, run the following command:

  • rviz rviz -d ~/catkin_ws/src/gtsam_vio/rviz/rviz_tf_features_config.rviz

Instructions to Change Launch Specifications

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")

  • isam2_vio_zedpose - run iSAM2 for combined CAMERA VIO and ZED ODOMETRY OUTPUT
  • isam2_vio - run iSAM2 for CAMERA VIO alone
  • isam2_vio_imu - run iSAM2 for combined CAMERA VIO and RAW ZED IMU OUTPUT (bad performance)
  • isam2_imu - run iSAM2 for RAW ZED IMU OUTPUT alone (bad performance)

To change frame and camera topic specifications:

  • change "iSAM2 Variables" and "iSAM2 Parameters" at the top of isam2_turtlebot_zed.launch

About

Visual Inertial Odometry (VIO) / Simultaneous Localization & Mapping (SLAM) using iSAM2 framework from the GTSAM library.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published