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.