Go to the documentation of this file.
22 #ifndef OV_MSCKF_UPDATER_ZEROVELOCITY_H
23 #define OV_MSCKF_UPDATER_ZEROVELOCITY_H
34 class FeatureDatabase;
69 std::shared_ptr<Propagator> prop,
double gravity_mag,
double zupt_max_velocity,
double zupt_noise_multiplier,
70 double zupt_max_disparity);
101 if (it0->timestamp < oldest_time) {
115 bool try_update(std::shared_ptr<State> state,
double timestamp);
125 std::shared_ptr<ov_core::FeatureDatabase>
_db;
161 #endif // OV_MSCKF_UPDATER_ZEROVELOCITY_H
std::shared_ptr< ov_core::FeatureDatabase > _db
Feature tracker database with all features in it.
bool have_last_prop_time_offset
bool try_update(std::shared_ptr< State > state, double timestamp)
Will first detect if the system is zero velocity, then will update.
double last_zupt_state_timestamp
Last timestamp we did zero velocity update with.
Struct which stores general updater options.
UpdaterZeroVelocity(UpdaterOptions &options, NoiseManager &noises, std::shared_ptr< ov_core::FeatureDatabase > db, std::shared_ptr< Propagator > prop, double gravity_mag, double zupt_max_velocity, double zupt_noise_multiplier, double zupt_max_disparity)
Default constructor for our zero velocity detector and updater.
std::vector< ov_core::ImuData > imu_data
Our history of IMU messages (time, angular, linear)
Extended Kalman Filter estimator.
std::shared_ptr< Propagator > _prop
Our propagator!
double _zupt_noise_multiplier
Multiplier of our IMU noise matrix (default should be 1.0)
double _zupt_max_velocity
Max velocity (m/s) that we should consider a zupt with.
void feed_imu(const ov_core::ImuData &message, double oldest_time=-1)
Feed function for inertial data.
double last_prop_time_offset
Estimate for time offset at last propagation time.
void clean_old_imu_measurements(double oldest_time)
This will remove any IMU measurements that are older then the given measurement time.
Will try to detect and then update using zero velocity assumption.
UpdaterOptions _options
Options used during update (chi2 multiplier)
NoiseManager _noises
Container for the imu noise values.
double _zupt_max_disparity
Max disparity (pixels) that we should consider a zupt with.
Eigen::Vector3d _gravity
Gravity vector.
std::map< int, double > chi_squared_table
Chi squared 95th percentile table (lookup would be size of residual)
Struct of our imu noise parameters.
int last_zupt_count
Number of times we have called update.
ov_msckf
Author(s): Patrick Geneva
, Kevin Eckenhoff , Guoquan Huang
autogenerated on Mon Dec 16 2024 03:06:54