mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 20:53:34 +08:00
update ecl/EKF with improved covariance prediction stability and change default IMU integration period 4000 us -> 2500 us
- bring in PX4/ecl#795 "EKF: Improve covariance prediction stability" - the ecl/EKF filter update period has changed from 8 ms to 10 ms - change default integration period 4000 us -> 2500 us (aligns with new EKF filter update period)
This commit is contained in:
@@ -124,7 +124,7 @@ void PX4Accelerometer::set_update_rate(uint16_t rate)
|
||||
const uint32_t update_interval = 1000000 / rate;
|
||||
|
||||
// TODO: set this intelligently
|
||||
_integrator_reset_samples = 4000 / update_interval;
|
||||
_integrator_reset_samples = 2500 / update_interval;
|
||||
}
|
||||
|
||||
void PX4Accelerometer::update(hrt_abstime timestamp_sample, float x, float y, float z)
|
||||
|
||||
@@ -98,7 +98,7 @@ private:
|
||||
|
||||
hrt_abstime _status_last_publish{0};
|
||||
|
||||
Integrator _integrator{4000, false};
|
||||
Integrator _integrator{2500, false};
|
||||
|
||||
matrix::Vector3f _calibration_scale{1.f, 1.f, 1.f};
|
||||
matrix::Vector3f _calibration_offset{0.f, 0.f, 0.f};
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
class Integrator
|
||||
{
|
||||
public:
|
||||
Integrator(uint32_t auto_reset_interval = 4000 /* 250 Hz */, bool coning_compensation = false);
|
||||
Integrator(uint32_t auto_reset_interval = 2500 /* 400 Hz */, bool coning_compensation = false);
|
||||
~Integrator() = default;
|
||||
|
||||
/**
|
||||
|
||||
@@ -126,7 +126,7 @@ void PX4Gyroscope::set_update_rate(uint16_t rate)
|
||||
const uint32_t update_interval = 1000000 / rate;
|
||||
|
||||
// TODO: set this intelligently
|
||||
_integrator_reset_samples = 4000 / update_interval;
|
||||
_integrator_reset_samples = 2500 / update_interval;
|
||||
}
|
||||
|
||||
void PX4Gyroscope::update(hrt_abstime timestamp_sample, float x, float y, float z)
|
||||
|
||||
@@ -100,7 +100,7 @@ private:
|
||||
|
||||
hrt_abstime _status_last_publish{0};
|
||||
|
||||
Integrator _integrator{4000, true};
|
||||
Integrator _integrator{2500, true};
|
||||
|
||||
matrix::Vector3f _calibration_offset{0.f, 0.f, 0.f};
|
||||
|
||||
|
||||
+1
-1
Submodule src/lib/ecl updated: 47624a0f02...8a9d961f0d
Reference in New Issue
Block a user