ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
10.98k stars 17.51k forks source link

EKF3: structural improvements #14141

Open rmackay9 opened 4 years ago

rmackay9 commented 4 years ago

This issue has some ideas from @rmackay9, @tridge and perhaps others re structural/architectural improvements we could make to the EKF3 to improve its usability, reliability and extensibility.

Some issues with EKF3's structure are:

Some specific suggestions:

priseborough commented 4 years ago

An item worth mentioning in this context is that the auto-generated code for the EKF3 prediction and update equations which was generated using the Matlab symbolic toolbox (see https://github.com/PX4/ecl/tree/master/EKF/matlab/scripts/Inertial%20Nav%20EKF), can now be generated using a SymPy script (see https://github.com/PX4/ecl/tree/master/EKF/python/ekf_derivation) which takes a fraction of the tine to run (<2min vs 3 hours) .

When we compared PX4/ecl EKF before and after the conversion from Matlab to SymPy generated equations, it saved over 15K of flash space.