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

EKF: Improved tilt alignment control #134

Merged
merged 6 commits into from
May 18, 2016
Merged

EKF: Improved tilt alignment control #134

merged 6 commits into from
May 18, 2016

Conversation

priseborough
Copy link
Collaborator

@priseborough priseborough commented May 17, 2016

Improves control over the initial alignment process. Used in conjunction with PX4/PX4-Autopilot#4554.

Addresses #128 if combined with following tuning parameter changes to take advantage of 'ideal' SITL environment:

EKF2_GBIAS_INIT = 0.01
EKF2_ANGERR_INIT = 0.01

The quaternion covariances are converted to rotation vector variances so that the tilt uncertainty can be isolated from the yaw uncertainty when checking filter convergence.
The initial IMU bias uncertainty can be tuned to allow faster alignment for boards with accurate sensors (eg SITL)
The initial angular alignment uncertainty can be tuned to allow faster alignment for applications where the vehicle is not subject to accelerations on startup.
The initial quaternion state co-variances are set from the tilt uncertainty using the correct transformation from rotation vector to quaternions.

Has been bench tested with a range of initial orientations.

Convert quaternion covariances into an angular alignment variance vector and discard the z component so that yaw uncertainty does not affect the result.
Convert uncertainty in initial rotate vector into quaternion covariances using symbolic toolbox derived expressions.
Enable setting of initial angle uncertainty via a parameter
@priseborough
Copy link
Collaborator Author

priseborough commented May 18, 2016

Alignment from +90 pitch and +90 yaw is taking longer than it should - investigating now. It appears to be unrelated to this PR and is caused by a NaN that is reproducible on replay.

Uses best conditioned of 321 or 312 Euler sequence to calculate initial yaw angle.
Allows alignment of yaw angle using external vision data
@priseborough
Copy link
Collaborator Author

Alignment failure at 90deg pitch fixed by: e4b2e9c

@priseborough priseborough merged commit 50ba26a into master May 18, 2016
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.

None yet

1 participant