paparazzi-devel
[Top][All Lists]

## Re: [Paparazzi-devel] I donot understand the ahrs_mlkf_update_accel(stru

 From: Felix Ruess Subject: Re: [Paparazzi-devel] I donot understand the ahrs_mlkf_update_accel(struct FloatVect3 *accel) Date: Sun, 24 Jan 2016 15:45:42 +0100

That is basically an "adaptive" noise model (will increase the measurement noise when you have trajectory accelerations).
The factor 250 is the "scale" of how much extra measurement noise is added per 1m/s2 trajectory acceleration...

And yes, this could definitely be improved and made configurable ;-)

Hope that helps,
Felix

On Fri, Jan 22, 2016 at 2:33 AM, sulijune wrote:
Hi,
In the
sw/airborne/subsystems/ahrs/ahrs_float_mlkf.c
file:
128 void ahrs_mlkf_update_accel(struct FloatVect3 *accel)
129 {
130   struct FloatVect3 imu_g = *accel;
131   const float alpha = 0.92;
132   ahrs_mlkf.lp_accel = alpha * ahrs_mlkf.lp_accel +
133                        (1. - alpha) * (float_vect3_norm(&imu_g) - 9.81);
134   const struct FloatVect3 earth_g = {0.,  0., -9.81 };
135   const float dn = 250 * fabs(ahrs_mlkf.lp_accel);
136   struct FloatVect3 g_noise = {1. + dn, 1. + dn, 1. + dn};
137   update_state(&earth_g, &imu_g, &g_noise);
138   reset_state();
139 }
I can't understand the 135 and 136.
Why the accel multiply the '250' ?
Why the 'dn' + 1?
Who can explain for me？
Thanks!

--
View this message in context: http://lists.paparazziuav.org/I-donot-understand-the-ahrs-mlkf-update-accel-struct-FloatVect3-accel-tp17667.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list