class
StateState of our filter.
Contents
This state has all the current estimates for the filter. This system is modeled after the MSCKF filter, thus we have a sliding window of clones. We additionally have more parameters for online estimation of calibration and SLAM features. We also have the covariance of the system, which should be managed using the StateHelper class.
Constructors, destructors, conversion operators
- State(StateOptions& options_)
- Default Constructor (will initialize variables to defaults)
Public functions
- auto margtimestep() -> double
- Will return the timestep that we will marginalize next. As of right now, since we are using a sliding window, this is the oldest clone. But if you wanted to do a keyframe system, you could selectively marginalize clones.
- auto max_covariance_size() -> int
- Calculates the current max size of the covariance.
Public variables
- double _timestamp
- Current timestamp (should be the last update time!)
- StateOptions _options
- Struct containing filter options.
-
std::shared_ptr<ov_type::
IMU> _imu - Pointer to the "active" IMU state (q_GtoI, p_IinG, v_IinG, bg, ba)
-
std::map<double, std::shared_ptr<ov_type::
PoseJPL>> _clones_IMU - Map between imaging times and clone poses (q_GtoIi, p_IiinG)
-
std::unordered_map<size_t, std::shared_ptr<ov_type::
Landmark>> _features_SLAM - Our current set of SLAM features (3d positions)
-
std::shared_ptr<ov_type::
Vec> _calib_dt_CAMtoIMU - Time offset base IMU to camera (t_imu = t_cam + t_off)
-
std::unordered_map<size_t, std::shared_ptr<ov_type::
PoseJPL>> _calib_IMUtoCAM - Calibration poses for each camera (R_ItoC, p_IinC)
-
std::unordered_map<size_t, std::shared_ptr<ov_type::
Vec>> _cam_intrinsics - Camera intrinsics.
-
std::unordered_map<size_t, std::shared_ptr<ov_core::
CamBase>> _cam_intrinsics_cameras - Camera intrinsics camera objects.
Function documentation
ov_msckf:: State:: State(StateOptions& options_)
Default Constructor (will initialize variables to defaults)
Parameters | |
---|---|
options_ | Options structure containing filter options |
double ov_msckf:: State:: margtimestep()
Will return the timestep that we will marginalize next. As of right now, since we are using a sliding window, this is the oldest clone. But if you wanted to do a keyframe system, you could selectively marginalize clones.
Returns | timestep of clone we will marginalize |
---|
int ov_msckf:: State:: max_covariance_size()
Calculates the current max size of the covariance.
Returns | Size of the current covariance matrix |
---|