ekf2: access state covariance using helper functions

This commit is contained in:
bresch
2023-09-26 06:41:04 +02:00
committed by Mathieu Bresciani
parent 619616b9f0
commit 99197919d7
11 changed files with 36 additions and 48 deletions
@@ -280,11 +280,6 @@ float EkfWrapper::getYawAngle() const
return euler(2);
}
matrix::Vector4f EkfWrapper::getQuaternionVariance() const
{
return matrix::Vector4f(_ekf->orientation_covariances().diag());
}
int EkfWrapper::getQuaternionResetCounter() const
{
float tmp[4];
@@ -118,7 +118,6 @@ public:
Eulerf getEulerAngles() const;
float getYawAngle() const;
matrix::Vector4f getQuaternionVariance() const;
int getQuaternionResetCounter() const;
void enableDragFusion();
+2 -2
View File
@@ -333,9 +333,9 @@ TEST_F(EkfGpsHeadingTest, stopOnGround)
_ekf_wrapper.setMagFuseTypeNone();
// WHEN: running without yaw aiding
const matrix::Vector4f quat_variance_before = _ekf_wrapper.getQuaternionVariance();
const matrix::Vector4f quat_variance_before = _ekf->getQuaternionVariance();
_sensor_simulator.runSeconds(20.0);
const matrix::Vector4f quat_variance_after = _ekf_wrapper.getQuaternionVariance();
const matrix::Vector4f quat_variance_after = _ekf->getQuaternionVariance();
// THEN: the yaw variance increases
EXPECT_GT(quat_variance_after(3), quat_variance_before(3));
@@ -78,7 +78,7 @@ public:
void quaternionVarianceBigEnoughAfterOrientationInitialization(float quat_variance_limit = 0.00001f)
{
const matrix::Vector4f quat_variance = _ekf_wrapper.getQuaternionVariance();
const matrix::Vector4f quat_variance = _ekf->getQuaternionVariance();
EXPECT_TRUE(quat_variance(1) > quat_variance_limit) << "quat_variance(1): " << quat_variance(1);
EXPECT_TRUE(quat_variance(2) > quat_variance_limit) << "quat_variance(2): " << quat_variance(2);
EXPECT_TRUE(quat_variance(3) > quat_variance_limit) << "quat_variance(3): " << quat_variance(3);