NASA Astrobee Robot Software  Astrobee Version:
Flight software for the Astrobee robots operating inside the International Space Station.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Graph VIO

Package Overview

Performs sliding-window graph based visual-intertial odometry (VIO) using a VOSmartProjectionFactorAdder and StandstillFactorAdder. Uses a CombinedNavStateNodeAdder for creating combined nav state nodes (containing a pose, velocity, and IMU bias) at required timestamps using IMU measurements. Optionally adds depth image correspondences as point-to-point between factors.

Background

For more information on the theory behind the GraphVIO and the factors used, please see our paper:

  • Ryan Soussan, Varsha Kumar, Brian Coltin, and Trey Smith, "Astroloc: An efficient and robust localizer for a free-flying robot", Int. Conf. on Robotics and Automation (ICRA), 2022. Link

Graph Optimization Structure

Factor Adders

  • DepthOdometryFactorAdder
  • VoSmartProjectionFactorAdder
  • StandstillFactorAdder

Graph Factors

  • Point BetweenFactors (for depth odometry correspondences)
  • CombinedIMUFactor
  • RobustSmartProjectionFactor
  • Standstill Factors (zero velocity prior and identity relative transform between factors)

Node Adders

  • CombinedNavStateNodeAdder