Proper NIS value for precision landing

@rmackay9 @ThomasSFL

Am wondering, what is an “acceptable”/common/expected/in-family ballpark steady-state NIS for the precision landing EKF. I am trying to benchmark to see if my system is somehow under (or over!) performing. Flight was on ArduCopter 3.4 mint (except my little NIS recording patch).

Here is a plot of NIS from a series of precision landings:

Here is a slightly filtered plot of the same data (to clean it up a bit):


Great to see this. I have to admit that I don’t know what “NIS” means. “normalised”-something-or-other?
@jschall is really the expert on the mini-EKF in the precision landing.

I don’t think I’ve done a more official performance test since the mini-EKF went in. On the older non-EKF method I was getting about 85% within 10cm.

NIS is normalized innovations squared - essentially, it is a measure of how likely an observation is to occur, given the current state covariance and observation covariance. Generally, you should get values below 1. A value above 3 means that the filter will reject the sample. Those values look totally reasonable. Are you having an accuracy issue?

That’s super helpful @jschall thanks! This was my calibration run and I wanted to make sure there was nothing systematically wrong with my setup. I am doing other fancy things with precision landing that does cause precision problems. Mainly now I have a “goal” with regards to NIS.

One last question, is there a convenient way to interpret NIS in terms of how “precise” the navigation side of the code is? I.e. is NIS RMS value of 1 indicate that roughly the average error for the precision landing beacon is 1cm? Or is this a unit-less value and basically is difficult to interpret.