1#ifndef VELOCITY_ESTIMATOR_H
2#define VELOCITY_ESTIMATOR_H
104 void determineVerticalAxis(
const std::array<float, 3>& rawAcl);
112 float P[2][2] = {{}, {}};
115 uint32_t lastTimestamp_ms;
121 float accelNoiseVariance;
122 float altimeterNoiseVariance;
125 const float g = 9.81f;
129 int8_t verticalDirection;
130 bool verticalAxisDetermined;
133 float inertialVerticalAcceleration;
constexpr float MILLISECONDS_TO_SECONDS
constexpr float MINIMUM_DELTA_T_S
Timestamped float measurement container.
virtual float getEstimatedVelocity() const
virtual int8_t getVerticalDirection() const
virtual float getEstimatedAltitude() const
virtual uint32_t getTimestamp() const
VerticalVelocityEstimator(NoiseVariances noise={1.0f, 0.1f})
void update(const AccelerationTriplet &accel, const DataPoint &altimeter)
virtual float getInertialVerticalAcceleration() const
virtual int8_t getVerticalAxis() const
void init(InitialState initialState)
uint32_t initialTimestamp