Open tridge opened 1 year ago
Log http://uav.tridgell.net/GSF-failures/00000071.BIN has higher than usual levels of GPS velocity noise. I've requested access to the other log. I will try adjusting the GSF use thresholds first. Use of a GPS velocity vector for yaw can give bad results with low wing loading aircraft that are had launched on wind days as the aircraft can go sideways after launch.
It's not clear to me how the use of an airspeed sensor to bound yaw error can work without requiring assumptions about launching into wind.
@priseborough if we waited longer to gain more ground speed for init then using GPS velocity vector for yaw would perhaps be more reasonable?
@tridge That also gives more time for the plane to start turning which will cause ground track and heading to differ if it is windy.
I'm working on a fix for this that will allow the special cases such as planes that don't wish to use the GSF, eg those hand launching without a compass or those that need to do aerobatics to not use the GSF by setting the EK3_GSF_USE_MASK parameter to zero. This is a work in progress and still requires a patch that will do a sanity check of GPS velocity innovations after the yaw reset to verify that the yaw reset was successful.
Flight testing of the aerobatics scripting has highlighted the limitations of the GSF yaw estimators simplified horizontal motion model.
https://github.com/priseborough/ardupilot/commits/pr-ekf3PlaneYawReset
The GSF yaw estimator can sometimes produce a very bad yaw. This particularly affects fixed wing aircraft with no compass. EKF3 initialises after launch using GSF and can result in the EKF getting bad roll/pitch estimates. This issue is to collect examples and work on a fix Ideally we would get an example with replay logging enabled to be able to analyse properly. That requires LOG_DISARMED=1 and LOG_REPLAY=1
Examples:
Possible ideas: