sensor_simulator: update EKF at IMU rate

This is how it is also done in ekf2_main. Otherwise, this leads to
multiple integration of the same IMU data due to asynchronous sensor
updates triggering a prediction step between IMU updates.

Fix unit tests that broke because of this fix
This commit is contained in:
bresch
2020-06-03 17:09:20 +02:00
committed by Mathieu Bresciani
parent 59183f70ba
commit 6126c190b2
8 changed files with 60 additions and 34 deletions
+2 -2
View File
@@ -61,7 +61,7 @@ class EkfAirspeedTest : public ::testing::Test {
{
_ekf->init(0);
_sensor_simulator.simulateOrientation(_quat_sim);
_sensor_simulator.runSeconds(2);
_sensor_simulator.runSeconds(7);
}
// Use this method to clean up any memory, network etc. after each test
@@ -113,6 +113,6 @@ TEST_F(EkfAirspeedTest, testWindVelocityEstimation)
const float expected_height_after_pressure_correction = height_before_pressure_correction -
expected_height_difference;
EXPECT_NEAR(height_after_pressure_correction, expected_height_after_pressure_correction, 1e-5f);
EXPECT_NEAR(height_after_pressure_correction, expected_height_after_pressure_correction, 1e-3f);
}