Hey Joel
I was very interested to see your implementation. It's
drastically simpler than I thought it would be. Well, you
did mention it was simple :) However, I thought the math
was pretty expensive to do and complex to program.
I like the approach generally--you have parameters for the
assumed noise model and methods to set them (better than
trying to build a monolith that does both the measurement and
filtering). Do you have another patch or abstraction to
analyze the sensor data and calculate those parameters? If
so, you should add it to git.