Extended Kalman Filter estimator. More...
Classes | |
struct | NoiseManager |
Struct of our imu noise parameters. More... | |
class | Propagator |
Performs the state covariance and mean propagation using imu measurements. More... | |
class | ROS1Visualizer |
Helper class that will publish results onto the ROS framework. More... | |
class | ROS2Visualizer |
Helper class that will publish results onto the ROS framework. More... | |
class | ROSVisualizerHelper |
Helper class that handles some common versions into and out of ROS formats. More... | |
class | Simulator |
Master simulator class that generated visual-inertial measurements. More... | |
class | State |
State of our filter. More... | |
class | StateHelper |
Helper which manipulates the State and its covariance. More... | |
struct | StateOptions |
Struct which stores all our filter options. More... | |
class | UpdaterHelper |
Class that has helper functions for our updaters. More... | |
class | UpdaterMSCKF |
Will compute the system for our sparse features and update the filter. More... | |
struct | UpdaterOptions |
Struct which stores general updater options. More... | |
class | UpdaterSLAM |
Will compute the system for our sparse SLAM features and update the filter. More... | |
class | UpdaterZeroVelocity |
Will try to detect and then update using zero velocity assumption. More... | |
class | VioManager |
Core class that manages the entire system. More... | |
struct | VioManagerOptions |
Struct which stores all options needed for state estimation. More... | |
Extended Kalman Filter estimator.
This is an implementation of a Multi-State Constraint Kalman Filter (MSCKF) [Mourikis2007ICRA] which leverages inertial and visual feature information. We want to stress that this is not a "vanilla" implementation of the filter and instead has many more features and improvements over the original. In additional we have a modular type system which allows us to initialize and marginalizing variables out of state with ease. Please see the following documentation pages for derivation details:
The key features of the system are the following:
We suggest those that are interested to first checkout the State and Propagator which should provide a nice introduction to the code. Both the slam and msckf features leverage the same Jacobian code, and thus we also recommend looking at the UpdaterHelper class for details on that.