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

EKF Tuning Update #36

Merged
merged 4 commits into from
Feb 4, 2016
Merged

EKF Tuning Update #36

merged 4 commits into from
Feb 4, 2016

Conversation

priseborough
Copy link
Collaborator

  • The tuning parameter defaults have been changed to a conservative set to handle larger magnetometer and IMU errors. This is an equivalent tune to the APM copter defaults and prioritises robustness to sensor error over accuracy. A tuning activity to obtain a 'performance' oriented tune will be performed later when the replay functionality is available in master.
  • An error in in conversion from observation noise to observation variance in pos vel fusion has been fixed.
  • Velocity observation noise adapts with reported GPS speed accuracy.
  • A separate position observation noise is used in-flight for operation without aiding. This reduces attitude errors due to manoeuvres.
  • The missing magnetometer observation noise parameter has been added.

Flight testing has been completed (see following figures). The sensor error estimates are now more reactive which improves robustness at he expense of accuracy.

posne innov
velne innov
veld innov
posd innov
dangx bias
dangy bias
dangz bias
scalex
scaley
scalez
magx innov
magy innov
magz innov
mag innov
mag bias
mag earth
declination estimate
dvelz bias

Set conservative defaults as a baseline for tuning
Add a missing parameter for magnetometer observation noise.
Correct error in definition of magnetic heading observations noise (previous parameter defined the variance directly, not the noise).
Scale vertical GPS noise to allow for average EPV to EPH ratio.
Update documentation and display names for consistency.
Fix bug where noise parameters were not being squared when calculating the observation variance.
Use GPS reported speed accuracy to set velocity observation noise and use the parameter to set the minimum.
A larger position uncertainty is required when flying without GPS to reduce tilt attitude estimation errors caused by vehicle manoeuvring. This needs to be tuneable to allow optimisation for different use cases (e.g. outdoor vs indoor).
@RomanBapst
Copy link
Contributor

@priseborough Reviewing this!

@bugobliterator
Copy link
Contributor

@priseborough It requires proper indentation, can you run this code through code check script in PX4.

@priseborough
Copy link
Collaborator Author

OK

@RomanBapst
Copy link
Contributor

@priseborough Looks good, merging!

@RomanBapst RomanBapst merged commit 3f81eb7 into master Feb 4, 2016
@RomanBapst RomanBapst deleted the pr-updateTuningParams branch February 4, 2016 09:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants