forked from Archive/PX4-Autopilot
EKF: move the reset status struct to the Ekf class
This protects it from being modified externally
This commit is contained in:
parent
aca0336392
commit
733862f649
|
@ -128,6 +128,7 @@ Ekf::Ekf():
|
|||
_flow_gyro_bias = {};
|
||||
_imu_del_ang_of = {};
|
||||
_gps_check_fail_status.value = 0;
|
||||
_state_reset_status = {};
|
||||
}
|
||||
|
||||
Ekf::~Ekf()
|
||||
|
|
15
EKF/ekf.h
15
EKF/ekf.h
|
@ -136,6 +136,21 @@ private:
|
|||
static const float _k_earth_rate;
|
||||
static const float _gravity_mss;
|
||||
|
||||
// reset event monitoring
|
||||
// structure containing velocity, position, height and yaw reset information
|
||||
struct {
|
||||
uint64_t velNE_time_us; // time stamp of the last horizontal velocity reset event (us)
|
||||
uint64_t velD_time_us; // time stamp of the last vertical velocity reset event (us)
|
||||
uint64_t posNE_time_us; // time stamp of the last horizontal position reset event (us)
|
||||
uint64_t posD_time_us; // time stamp of the last vertical position reset event (us)
|
||||
uint64_t yaw_time_us; // time stamp of the last yaw angle reset event (us)
|
||||
Vector2f velNE_change; // North East velocity change due to last reset (m)
|
||||
float velD_change; // Down velocity change due to last reset (m/s)
|
||||
Vector2f posNE_change; // North, East position change due to last reset (m)
|
||||
float posD_change; // Down position change due to last reset (m)
|
||||
float yaw_change; // Yaw angle change due to last reset (rad)
|
||||
} _state_reset_status;
|
||||
|
||||
float _dt_ekf_avg; // average update rate of the ekf
|
||||
|
||||
stateSample _state; // state struct of the ekf running at the delayed time horizon
|
||||
|
|
|
@ -71,7 +71,6 @@ EstimatorInterface::EstimatorInterface():
|
|||
_pos_ref = {};
|
||||
memset(_mag_test_ratio, 0, sizeof(_mag_test_ratio));
|
||||
memset(_vel_pos_test_ratio, 0, sizeof(_vel_pos_test_ratio));
|
||||
_state_reset_status = {};
|
||||
}
|
||||
|
||||
EstimatorInterface::~EstimatorInterface()
|
||||
|
|
|
@ -266,21 +266,6 @@ protected:
|
|||
float _tas_test_ratio; // tas innovation consistency check ratio
|
||||
innovation_fault_status_u _innov_check_fail_status;
|
||||
|
||||
// reset event monitoring
|
||||
// structure containing velocity, position, height and yaw reset information
|
||||
struct {
|
||||
uint64_t velNE_time_us; // time stamp of the last horizontal velocity reset event (us)
|
||||
uint64_t velD_time_us; // time stamp of the last vertical velocity reset event (us)
|
||||
uint64_t posNE_time_us; // time stamp of the last horizontal position reset event (us)
|
||||
uint64_t posD_time_us; // time stamp of the last vertical position reset event (us)
|
||||
uint64_t yaw_time_us; // time stamp of the last yaw angle reset event (us)
|
||||
Vector2f velNE_change; // North East velocity change due to last reset (m)
|
||||
float velD_change; // Down velocity change due to last reset (m/s)
|
||||
Vector2f posNE_change; // North, East position change due to last reset (m)
|
||||
float posD_change; // Down position change due to last reset (m)
|
||||
float yaw_change; // Yaw angle change due to last reset (rad)
|
||||
} _state_reset_status;
|
||||
|
||||
// data buffer instances
|
||||
RingBuffer<imuSample> _imu_buffer;
|
||||
RingBuffer<gpsSample> _gps_buffer;
|
||||
|
|
Loading…
Reference in New Issue