Remove resetStates(AndCovariances) function

This commit is contained in:
kamilritz
2019-12-13 16:26:42 +01:00
committed by Mathieu Bresciani
parent 64652f523b
commit 85e0e6e89c
3 changed files with 17 additions and 35 deletions
+16 -30
View File
@@ -54,7 +54,20 @@ bool Ekf::init(uint64_t timestamp)
void Ekf::reset(uint64_t timestamp)
{
resetStatesAndCovariances();
_state.vel.setZero();
_state.pos.setZero();
_state.delta_ang_bias.setZero();
_state.delta_vel_bias.setZero();
_state.mag_I.setZero();
_state.mag_B.setZero();
_state.wind_vel.setZero();
_state.quat_nominal.setIdentity();
_output_new.vel.setZero();
_output_new.pos.setZero();
_output_new.quat_nominal.setIdentity();
initialiseCovariance();
_delta_angle_corr.setZero();
_imu_down_sampled.delta_ang.setZero();
@@ -63,10 +76,7 @@ void Ekf::reset(uint64_t timestamp)
_imu_down_sampled.delta_vel_dt = 0.0f;
_imu_down_sampled.time_us = timestamp;
_q_down_sampled(0) = 1.0f;
_q_down_sampled(1) = 0.0f;
_q_down_sampled(2) = 0.0f;
_q_down_sampled(3) = 0.0f;
_q_down_sampled.setIdentity();
_imu_updated = false;
_NED_origin_initialised = false;
@@ -90,30 +100,6 @@ void Ekf::reset(uint64_t timestamp)
_prev_dvel_bias_var.zero();
}
void Ekf::resetStatesAndCovariances()
{
resetStates();
initialiseCovariance();
}
void Ekf::resetStates()
{
_state.vel.setZero();
_state.pos.setZero();
_state.delta_ang_bias.setZero();
_state.delta_vel_bias.setZero();
_state.mag_I.setZero();
_state.mag_B.setZero();
_state.wind_vel.setZero();
_state.quat_nominal.setZero();
_state.quat_nominal(0) = 1.0f;
_output_new.vel.setZero();
_output_new.pos.setZero();
_output_new.quat_nominal.setZero();
_output_new.quat_nominal(0) = 1.0f;
}
bool Ekf::update()
{
bool updated = false;
@@ -153,7 +139,7 @@ bool Ekf::initialiseFilter()
{
// Keep accumulating measurements until we have a minimum of 10 samples for the required sensors
// Sum the IMU delta angle measurements
// Sum the IMU delta velocity measurements
const imuSample &imu_init = _imu_buffer.get_newest();
_delVel_sum += imu_init.delta_vel;
-3
View File
@@ -57,9 +57,6 @@ public:
// set the internal states and status to their default value
void reset(uint64_t timestamp) override;
void resetStatesAndCovariances() override;
void resetStates() override;
// should be called every time new data is pushed into the filter
bool update() override;
+1 -2
View File
@@ -63,8 +63,7 @@ public:
virtual bool init(uint64_t timestamp) = 0;
virtual void reset(uint64_t timestamp) = 0;
virtual void resetStates() = 0;
virtual void resetStatesAndCovariances() = 0;
virtual bool update() = 0;
virtual void getGpsVelPosInnov(float hvel[2], float &vvel, float hpos[2], float &vpos) = 0;