summaryrefslogtreecommitdiff
path: root/src/kalman
Commit message (Collapse)AuthorAge
* Switch from GPLv2 to GPLv2+Keith Packard2016-07-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use 32-bits for flight state data (alt/speed/accel)Keith Packard2014-07-10
| | | | | | | Stores 32-bits for all of the flight parameters. Uses 64-bit intermediates for kalman computation. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add .gitignore to kalman test dirKeith Packard2013-05-07
|
* altos: Build test framework for kalman filterKeith Packard2013-05-07
| | | | | | | This has some known flight data and generates kalman filter information for them to test Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add computation of MicroPeak Kalman correction coefficientsKeith Packard2013-01-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Correct model error covariance matrixKeith Packard2013-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Finally found a couple of decent references on how to set the model (process) error covariance matrix. The current process matrix turns out to be correct for a continuous kalman filter (which isn't realizable, of course). For a discrete filter, the error in modeled acceleration (we model it as a constant) needs to be propogated to the speed and position portions of the matrix. The correct matrix is seen in this paper: On Reduced-Order Kalman Filters For GPS Position Filtering J. Shima 6/2/2001 This references an older paper which is supposed to describe the derivation of the matrix: Singer, R.A., “Estimating Optimal Tracking Filter Performance for Manned Maneuvering Targets,” IEEE Transactions of Aerospace and Electronic Systems, AES-5, July 1970, pp. 473-483. This change has a minor effect on the computed correction coefficients; it should respond more reasonably to acceleration changes now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/kalman: Kalman terms can be > 1, use 32-bit fixed pointKeith Packard2011-03-22
| | | | | | | | Because speed and acceleration are scaled by 16, it's fairly common for the kalman terms to end up larger than 1. Instead of trying to fuss with 16-bit values and shifts, just use 32-bit values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add nickle kalman implementation.Keith Packard2011-03-21
This generates the constants needed to implement Kalman filtering in the flight firmware. Signed-off-by: Keith Packard <keithp@keithp.com>