This branch fixes a reported bug, fixes tow potential bugs and fixes a minor documentation error.
1) Removes code un-used under normal conditions that would prevent a height reset if a negative height variance was present. Potential bug.
2) Fix error in parameter documentation.
3) Adds missing initialisations for class variables . Potential bug.
4) Prevents the EKF loss of navigation message being output on startup. Reported bug.
This check is performed for up to 30 seconds after takeoff or until a horizontal speed of 5 m/s has been achieved.
If the vehicle is not landed and the check is active, then the yaw will be declared as failed if the velocity innovations fail for a continuous period of 1 second.
This will cause the local and global position and velocity validity to be latched false to prevent unsafe use of position control modes.
Fix the bug allowing arming without GPS checks passed in the first 20 seconds after gaining GPS lock when COM_ARM_WO_GPS is set to 0
Allow 10 seconds after boot for EKF quality checks to pass before reporting failure to allow EKF to stabilise.
Move GPS quality checking and reporting to after all innovation and bias checks.
Make messages more informative.
Add missing GPS speed accuracy check.
The commander checks use instantaneous values which are vulnerable to false negatives or positives with noisy data or transient faults.
This patch checks the estimators published pre flight check status which is based on persistent checks using filtered data.
Separate the vertical and horizontal checks for use by local position validity reporting
Add checking of yaw using a decaying envelope filter to the horizontal checks.
Publish the check result to estimator_status topic.
This change will force commander into manual reversion mode when an external override device (like PX4IO) overrides the system externally. This is not a functional change on the outputs, as they were in override mode even without this patch. However, this change ensures that the system state is consistent with the output state and also ensures that the pilot and operator has better situational awareness when he / she triggers the manual reversion without realizing it.
This is helpful for safety devices that have an external override input. This helps to put the autopilot in an override scenario into a sane state, instead of letting it believe its still in control.