Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ekf2: Only reset to GNSS heading if necessary #23068

Merged
merged 1 commit into from Apr 29, 2024
Merged

Conversation

bresch
Copy link
Member

@bresch bresch commented Apr 29, 2024

Solved Problem

True heading is of primary importance for GNSS fusion in order to align the body and NED frames. Following a heading measurement isn't really important in the NE fusion doesn't report any issue and resetting to a heading measurement when not needed can create more issues than it solves.
Also, recent experiments showed that dual-antenna GNSS receivers are sometimes diverging and re-converging during operation. Since this can occur several times during the mission and isn't a true failure of the system, marking it as faulty for the rest of the flight is too restrictive.

Screenshot from 2024-04-26 13-23-20

Solution

When North-East aiding is active (e.g.: GNSS pos/vel) , the heading estimate is constrained and consistent with the vel/pos aiding. Reset to GNSS heading should only occur if no N-E aiding is active or if the filter is not yes aligned. Otherwise, just wait for the consistency check to pass again (will pass at some point if the heading uncertainty of the filter is getting too high).

Note: we should do the same changes for mag and ev yaw control logic (i.e.: no reset unless really required)

Changelog Entry

For release notes:

Rework GNSS heading control logic
New parameter: -
Documentation: No

Alternatives

We could also ...

Test coverage

unit tests

When North-East (e.g.: GNSS pos/vel) aiding is active, the heading
estimate is constrained and consistent with the vel/pos aiding. Reset to
GNSS heading should only occur if no N-E aiding is active or if the
filter is not yes aligned. Otherwise, just wait for the consistency
check to pass again (will pass at some point if the heading uncertainty
of the filter is getting too high).
@bresch bresch requested a review from dagar April 29, 2024 09:15
@bresch bresch self-assigned this Apr 29, 2024
@dagar dagar merged commit 9dc7719 into main Apr 29, 2024
92 of 93 checks passed
@dagar dagar deleted the pr-ekf2-gnss-heading-reset branch April 29, 2024 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants