The external AHRS is not sending good data
What ArduPilot says:
- VectorNav received VNERR code: …
- VectorNav unhealthy
- MicroStrain5 unhealthy
- MicroStrain5 filter not running
- SBG unhealthy
- SensAItion Unhealthy
Also explained here: 3 more
- failed to initialise.
- InertialLabs unhealthy
- InertialLabs not up to date
The external AHRS (a separate navigation unit that supplies attitude and position) was set up, but its data is not arriving as it should. “unhealthy”: one of the message types the driver needs has stopped, or never came. “failed to initialise”: nothing valid came from the unit in the first 5 s. “not up to date”: the newest attitude, position or velocity is more than 10 ms old. “filter not running”: the unit's own estimator has not started. “VNERR” is an error code sent by a VectorNav unit itself. The aircraft will not arm.
What to do, most likely first
The unit has just been powered and is still starting.
FixWait a minute; many units need a GPS fix before their estimator runs.
The serial link drops data: a wrong baud rate, a loose wire, or a rate too high for the port.
CheckThe message comes and goes. Compare the port's baud rate with the unit's setting, and
EAHRS_RATEwith what the unit can send.FixMatch the baud rate, shorten or replace the cable, and lower
EAHRS_RATEif the port cannot keep up.The unit itself reports a fault.
CheckConnect the maker's own software to the unit and read its status.
FixFollow the maker's instructions for that fault.
Parameters to look at
| Parameter | What it is |
|---|---|
EAHRS_TYPE | AHRS type |
EAHRS_RATE | AHRS data rate |
SERIAL2_PROTOCOL | Telemetry 2 protocol selection |
SERIAL4_PROTOCOL | Serial4 protocol selection |
Where to do it:Board & Wiring Planner
The code that sends it
VectorNav received VNERR code: …
libraries/AP_ExternalAHRS/AP_ExternalAHRS_VectorNav.cpp AP_ExternalAHRS_VectorNav::decode_latest_term() · Open in ArduPilot Copter-4.7.1
VectorNav unhealthy
libraries/AP_ExternalAHRS/AP_ExternalAHRS_VectorNav.cpp AP_ExternalAHRS_VectorNav::pre_arm_check() · Open in ArduPilot Copter-4.7.1
MicroStrain5 unhealthy
libraries/AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain5.cpp AP_ExternalAHRS_MicroStrain5::pre_arm_check() · Open in ArduPilot Copter-4.7.1
MicroStrain5 filter not running
libraries/AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain5.cpp AP_ExternalAHRS_MicroStrain5::pre_arm_check() · Open in ArduPilot Copter-4.7.1
And 5 more messages, sent from the same places.