|
Avionics
Core avionics package for CURE flight computers
|
Detects the apogee (peak altitude) of a rocket flight using estimated altitude and vertical velocity. More...
#include <ApogeeDetector.h>

Public Member Functions | |
| ApogeeDetector (float apogeeThreshold_m) | |
| Constructs an ApogeeDetector with a custom drop threshold. | |
| ApogeeDetector () | |
| Constructs an ApogeeDetector with the default threshold of 1.0 meter. | |
| void | init (ApogeeDetectorInitialState initialState) |
| Initializes the detector with the starting altitude and timestamp. | |
| void | update (VerticalVelocityEstimator *verticalVelocityEstimator) |
| Updates the detector using the latest estimated altitude and vertical velocity. | |
| bool | isApogeeDetected () const |
| Checks if apogee has been detected. | |
| DataPoint | getApogee () const |
| Retrieves the detected apogee. | |
| float | getEstimatedAltitude () const |
| Gets the current estimated altitude. | |
| float | getEstimatedVelocity () const |
| Gets the current estimated vertical velocity. | |
| float | getInertialVerticalAcceleration () const |
| Gets the current inertial vertical acceleration. | |
| int8_t | getVerticalAxis () const |
| Gets the configured vertical axis. | |
| int8_t | getVerticalDirection () const |
| Gets the configured vertical direction (+1 or -1). | |
Detects the apogee (peak altitude) of a rocket flight using estimated altitude and vertical velocity.
The detector uses data from a VerticalVelocityEstimator (e.g., a Kalman filter fusing an altimeter and accelerometer). Apogee is detected when:
Acceleration assumptions:
Definition at line 33 of file ApogeeDetector.h.
|
explicit |
Constructs an ApogeeDetector with a custom drop threshold.
| apogeeThreshold_m | Minimum drop in altitude (in meters) to confirm apogee. |
Definition at line 5 of file ApogeeDetector.cpp.
|
inline |
Constructs an ApogeeDetector with the default threshold of 1.0 meter.
Definition at line 44 of file ApogeeDetector.h.
| DataPoint ApogeeDetector::getApogee | ( | ) | const |
Retrieves the detected apogee.
Definition at line 43 of file ApogeeDetector.cpp.
| float ApogeeDetector::getEstimatedAltitude | ( | ) | const |
Gets the current estimated altitude.
| float ApogeeDetector::getEstimatedVelocity | ( | ) | const |
Gets the current estimated vertical velocity.
| float ApogeeDetector::getInertialVerticalAcceleration | ( | ) | const |
Gets the current inertial vertical acceleration.
| int8_t ApogeeDetector::getVerticalAxis | ( | ) | const |
Gets the configured vertical axis.
| int8_t ApogeeDetector::getVerticalDirection | ( | ) | const |
Gets the configured vertical direction (+1 or -1).
| void ApogeeDetector::init | ( | ApogeeDetectorInitialState | initialState | ) |
Initializes the detector with the starting altitude and timestamp.
| initialState | Struct containing initial altitude and timestamp. |
Definition at line 10 of file ApogeeDetector.cpp.
| bool ApogeeDetector::isApogeeDetected | ( | ) | const |
Checks if apogee has been detected.
Definition at line 37 of file ApogeeDetector.cpp.
| void ApogeeDetector::update | ( | VerticalVelocityEstimator * | verticalVelocityEstimator | ) |
Updates the detector using the latest estimated altitude and vertical velocity.
| verticalVelocityEstimator | Pointer to the estimator providing current flight state. |
Definition at line 18 of file ApogeeDetector.cpp.