Commit Graph

16 Commits

Author SHA1 Message Date
Thomas Watson 8e5ee61b02 AP_NavEKF3: derivation: don't generate unused equations
The code is left in for the future when they might be used.
2024-10-01 09:28:54 +10:00
Thomas Watson f9fa2565c4 AP_NavEKF3: document provenance of tilt error variance equations
This is also from the older version of the generator.

Note that as documented, some of the equations have been removed and
rearranged slightly as it is assumed their terms are zero. Additionally,
the result is taken as the sum of the diagonal entries of the matrix.
2024-10-01 09:28:54 +10:00
Thomas Watson 34fba4dfd7 AP_NavEKF3: document provenance of drag force fusion equations
It's from the older version of the generator as well.

Update variable names in the real code to be the same as the generated
code. Skip generation of the unused alternate form of the equations.

Delete `acc_bf_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ef1c31bd50 AP_NavEKF3: document provenance of yaw fusion equations
Requires digging up old versions of the generator script.

The equations have been rearranged somewhat after generation to choose
the appropriate method but they do match overall. The auto-substitution
of the power functions caused slight changes to the generated syntax so
we make those to the real code as well.

Delete `yaw_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ad5da01077 AP_NavEKF3: document provenance of covariance matrix equations
Validated that the generated code matches exactly the code in AP_NavEKF3
(except for the early exits).

Delete `covariance_generated.cpp` as we know exactly how to generate it
now (and it was out of date anyway).
2024-10-01 09:28:54 +10:00
Thomas Watson 4184980537 AP_NavEKF3: derivation: pin generator library versions
Document exactly which versions were used when generating the code.
Sympy is the most important so it is explicitly checked.

Also add an alternate generate script which uses `nix-shell` to make it
convenient to automatically use these versions.
2024-10-01 09:28:54 +10:00
Thomas Watson 57082257fd AP_NavEKF3: derivation: make generation slightly easier
Add a shell script to run the generate_1.py file. Foresight tells us
that we will need multiple such files.

Also ignore the generated code files as they are already out of date and
we are aiming to document provenance and make them unnecessary anyway.
2024-10-01 09:28:54 +10:00
Thomas Watson c880bf57cd AP_NavEKF3: derivation: auto-substitute optimized power functions
Avoids the need to manually insert them after generation.
2024-10-01 09:28:54 +10:00
Pierre Kancir 21890000f7 AP_NavEKF3: fix python files exec permissions 2022-06-08 08:16:42 +09:00
Ruffalo-sunghwan 5a4d61e3a4 AP_NavEKF3 : correct comment spelling 2022-05-24 20:27:45 +09:00
Paul Riseborough 7b8e935880 AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-22 18:20:45 +10:00
Andrew Tridgell 98fb4fcbe7 AP_NavEKF3: convert code_gen.py to ftype 2021-07-12 17:27:08 +10:00
Andrew Tridgell ae8dbe36bb AP_NavEKF3: convert EKF3 derivation to ftype 2021-07-12 17:27:08 +10:00
Paul Riseborough c9ab4b18b0 AP_NavEKF3: Add multicopter wind estimation 2020-12-11 15:21:41 +11:00
Paul Riseborough 8a88dd23a2 AP_NavEKF3: Add missing generated code file for yaw fusion 2020-10-26 11:03:50 +11:00
Paul Riseborough f81abd73d6 AP_NavEKF3: Update covariance prediction to yse SymPy generated equations
Saves flash and variable space.
2020-10-26 11:03:50 +11:00