position_estimator_inav: default parameters and min/max EPH/EPV updated

This commit is contained in:
Anton Babushkin
2014-02-10 08:54:48 +01:00
parent ce83f450b8
commit a9e5e2e31a
2 changed files with 5 additions and 5 deletions
@@ -527,13 +527,13 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
if (gps.fix_type >= 3) { if (gps.fix_type >= 3) {
/* hysteresis for GPS quality */ /* hysteresis for GPS quality */
if (gps_valid) { if (gps_valid) {
if (gps.eph_m > 10.0f || gps.epv_m > 10.0f) { if (gps.eph_m > 10.0f || gps.epv_m > 20.0f) {
gps_valid = false; gps_valid = false;
mavlink_log_info(mavlink_fd, "[inav] GPS signal lost"); mavlink_log_info(mavlink_fd, "[inav] GPS signal lost");
} }
} else { } else {
if (gps.eph_m < 5.0f && gps.epv_m < 5.0f) { if (gps.eph_m < 5.0f && gps.epv_m < 10.0f) {
gps_valid = true; gps_valid = true;
mavlink_log_info(mavlink_fd, "[inav] GPS signal found"); mavlink_log_info(mavlink_fd, "[inav] GPS signal found");
} }
@@ -589,8 +589,8 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
corr_gps[2][1] = 0.0f; corr_gps[2][1] = 0.0f;
} }
w_gps_xy = 1.0f / fmaxf(1.0f, gps.eph_m); w_gps_xy = 2.0f / fmaxf(2.0f, gps.eph_m);
w_gps_z = 1.0f / fmaxf(1.0f, gps.epv_m); w_gps_z = 4.0f / fmaxf(4.0f, gps.epv_m);
} }
} else { } else {
@@ -40,7 +40,7 @@
#include "position_estimator_inav_params.h" #include "position_estimator_inav_params.h"
PARAM_DEFINE_FLOAT(INAV_W_Z_BARO, 1.0f); PARAM_DEFINE_FLOAT(INAV_W_Z_BARO, 0.5f);
PARAM_DEFINE_FLOAT(INAV_W_Z_GPS_P, 0.005f); PARAM_DEFINE_FLOAT(INAV_W_Z_GPS_P, 0.005f);
PARAM_DEFINE_FLOAT(INAV_W_Z_ACC, 20.0f); PARAM_DEFINE_FLOAT(INAV_W_Z_ACC, 20.0f);
PARAM_DEFINE_FLOAT(INAV_W_Z_SONAR, 3.0f); PARAM_DEFINE_FLOAT(INAV_W_Z_SONAR, 3.0f);