|
|
|
@ -846,6 +846,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
@@ -846,6 +846,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|
|
|
|
float w_xy_gps_p = params.w_xy_gps_p * w_gps_xy; |
|
|
|
|
float w_xy_gps_v = params.w_xy_gps_v * w_gps_xy; |
|
|
|
|
float w_z_gps_p = params.w_z_gps_p * w_gps_z; |
|
|
|
|
float w_z_gps_v = params.w_z_gps_v * w_gps_z; |
|
|
|
|
|
|
|
|
|
float w_xy_vision_p = params.w_xy_vision_p; |
|
|
|
|
float w_xy_vision_v = params.w_xy_vision_v; |
|
|
|
@ -876,6 +877,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
@@ -876,6 +877,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|
|
|
|
|
|
|
|
|
if (use_gps_z) { |
|
|
|
|
accel_bias_corr[2] -= corr_gps[2][0] * w_z_gps_p * w_z_gps_p; |
|
|
|
|
accel_bias_corr[2] -= corr_gps[2][1] * w_z_gps_v; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* transform error vector from NED frame to body frame */ |
|
|
|
@ -960,6 +962,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
@@ -960,6 +962,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|
|
|
|
epv = fminf(epv, gps.epv); |
|
|
|
|
|
|
|
|
|
inertial_filter_correct(corr_gps[2][0], dt, z_est, 0, w_z_gps_p); |
|
|
|
|
inertial_filter_correct(corr_gps[2][1], dt, z_est, 1, w_z_gps_v); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (use_vision_z) { |
|
|
|
|