Class MovementDetectorImu
Defined in File MovementDetectorImu.hpp
Inheritance Relationships
Base Type
public navtk::inertial::MovementDetectorPlugin(Class MovementDetectorPlugin)
Class Documentation
Accepts inertial data and after an initial stationary calibration period attempts to classify the inertial as moving/not moving in near-real time.
Public Functions
Constructor.
- Parameters
window – Number of IMU measurements to collect and average together before updating status. A longer window can potentially reduce classification error by removing more noise, but will result a longer lag in status (movement status is held constant over the collection period), with a value of 1 indicating real-time estimation.
calib_time – Number of seconds of guaranteed stationary data at the beginning of processing. This stationary data is used to form a rough estimate of sensor biases and noise levels that are used as the basis of movement detection.
- Throws
std::invalid_argument – if
windowis < 1 orcalib_timeis < 0.
Add another IMU measurement and possibly update status.
- Parameters
data – IMU measurement to process. Data is stored for various intervals to first allow for the estimation of biases and noise parameters, and then for averaging of measurements. After the initial stationary period, each ‘window’th (as per the constructor argument) call to this function will trigger a new status calculation. Inputs should be sequential in time.
- Returns
Best estimate of movement status based on the last full data collection. Value will be constant between every ‘window’th measurement.
Time of last measurement fully processed.
Not updated while buffering IMU data to fill buffer windows.
- Returns
Last time;
TypeTimestamp((int64_t)0)if no measurements yet received.