mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-27 12:33:33 +08:00
EKF: Scale position observation noise with GPS quality
This allows the filter to adapt to variations in GPs quality. The range of adjustment in observation noise is limited to the range between a lower limit set by the GPS observation noise parameter and an upper limit set by the no-aiding observation noise.
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
*/
|
||||
|
||||
#include "ekf.h"
|
||||
#include "mathlib.h"
|
||||
|
||||
void Ekf::fuseVelPosHeight()
|
||||
{
|
||||
@@ -90,7 +91,10 @@ void Ekf::fuseVelPosHeight()
|
||||
R[3] = fmaxf(_params.pos_noaid_noise, 0.5f);
|
||||
|
||||
} else {
|
||||
R[3] = fmaxf(_params.gps_pos_noise, 0.01f);
|
||||
float lower_limit = fmaxf(_params.gps_pos_noise, 0.01f);
|
||||
float upper_limit = fmaxf(_params.pos_noaid_noise, lower_limit);
|
||||
R[3] = math::constrain(_gps_hpos_accuracy, lower_limit, upper_limit);
|
||||
|
||||
}
|
||||
|
||||
R[3] = R[3] * R[3];
|
||||
|
||||
Reference in New Issue
Block a user