Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

EKF: Convert airspeed fusion to use SymPy generated auto-code#890

Merged
priseborough merged 4 commits into
masterfrom
pr-ekfSymPyAirspeedFusion
Aug 15, 2020
Merged

EKF: Convert airspeed fusion to use SymPy generated auto-code#890
priseborough merged 4 commits into
masterfrom
pr-ekfSymPyAirspeedFusion

Conversation

@priseborough

Copy link
Copy Markdown
Collaborator

Replaces matlab symbolic toolbox generated equations with equivalents generated using the SymPy library.

The following innovation and innovation variance sequence was generated from replay of a gazebo_plane SITL log. The sequences are visually identical.

Before:

before

After:

after

Output from the test program comparing the Jacobians and Kalman gain values from the Matlab and SymPy method is shown below. Differences are within the expect range for single precision operations.

Pass: Airspeed Hfusion max diff fraction = 0.000000e+00
Pass: Airspeed Kfusion max diff fraction = 3.226521e-07

Comment thread EKF/airspeed_fusion.cpp Outdated
Comment thread EKF/airspeed_fusion.cpp
Comment thread EKF/airspeed_fusion.cpp Outdated
Comment thread EKF/airspeed_fusion.cpp Outdated
@priseborough

Copy link
Copy Markdown
Collaborator Author

The SITL log replay was repeated with the same results:

Screen Shot 2020-08-15 at 9 27 20 am

@priseborough priseborough merged commit 06aa78a into master Aug 15, 2020
@priseborough priseborough deleted the pr-ekfSymPyAirspeedFusion branch August 15, 2020 22:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants