State initialization code.
Right now this contains StaticInitializer and DynamicInitializer initialization code for a visual-inertial system. It will wait for the platform to stationary, and then initialize its orientation in the gravity frame.
/ ieeexplore.ieee.org/ abstract/ document/ 6386235
VIO_ Init_ TR.pdf
If the platform is not stationary then we leverage dynamic initialization to try to recover the initial state. This is an implementation of the work Estimator initialization in vision-aided inertial navigation with unknown camera-IMU calibration  which solves the initialization problem by first creating a linear system for recovering tthe velocity, gravity, and feature positions. After the initial recovery, a full optimization is performed to allow for covariance recovery. See this tech report for a high level walk through.
- class DynamicInitializer
- Initializer for a dynamic visual-inertial system.
- class Factor_GenericPrior
- Factor for generic state priors for specific types.
- class Factor_ImageReprojCalib
- Factor of feature bearing observation (raw) with calibration.
- class Factor_ImuCPIv1
- Factor for IMU continuous preintegration version 1.
- class InertialInitializer
- Initializer for visual-inertial system.
- struct InertialInitializerOptions
- Struct which stores all options needed for state estimation.
- class InitializerHelper
- Has a bunch of helper functions for dynamic initialization (should all be static)
- class SimulatorInit
- Master simulator class that generated visual-inertial measurements.
- class State_JPLQuatLocal
- JPL quaternion CERES state parameterization.
- class StaticInitializer
- Initializer for a static visual-inertial system.