Why is altitude error used for vertical speed correction? #6606
-
In inav/src/main/navigation/navigation_pos_estimator.c Lines 563 to 566 in 1356480 The same applies to the GPS when you don't have a baro and are using inav/src/main/navigation/navigation_pos_estimator.c Lines 597 to 599 in 1356480 And a more general question, why are the altitude and vertical speed estimation are so decoupled from each other? Wouldn't it make more sense to have one estimation for altitude and take the difference with the previous value for the vertical speed? This would avoid inconsistencies where the altitude is increasing but the vario indicates negative vertical speed and vice versa. Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 6 replies
-
This is WAI and based on Alpha-Beta filter math: https://en.wikipedia.org/wiki/Alpha_beta_filter The filter provides both a coordinate and speed consuming a single observation (coordinate). We add an additional observation (acceleration) to improve response times for disturbances, but it has a drawback of causing the filter to disconverge occasionally (i.e. increasing coordinate, but negative speed). However, the Alpha-Beta filter if numerically stabile (unlike Kalman) and will converge again so this is deemed to be safe. |
Beta Was this translation helpful? Give feedback.
-
@avsaase on a off-topic note, could you drop me an email? You should find my address and I can't find yours :) |
Beta Was this translation helpful? Give feedback.
This is WAI and based on Alpha-Beta filter math: https://en.wikipedia.org/wiki/Alpha_beta_filter
The filter provides both a coordinate and speed consuming a single observation (coordinate). We add an additional observation (acceleration) to improve response times for disturbances, but it has a drawback of causing the filter to disconverge occasionally (i.e. increasing coordinate, but negative speed). However, the Alpha-Beta filter if numerically stabile (unlike Kalman) and will converge again so this is deemed to be safe.