Vibration is spoiling the height estimate; the copter changed how it holds height
What ArduPilot says:
- Vibration compensation ON
- Vibration compensation OFF
For 1 s, armed in a mode that holds height, the EKF (ArduPilot's position and attitude estimator) either flagged bad accelerometer data, or found its vertical speed and its height both off from the sensors in the same direction with a vertical speed innovation ratio above 1.0 (an innovation is the gap between a sensor and what the EKF expected). That is the signature of vibration, which makes a copter climb away. The height controller switches to gains that resist it: height is held more loosely, but it does not climb. “OFF” follows once the condition has been absent for 15 s.
What to do, most likely first
Unbalanced, chipped or loose propellers, or a bent motor shaft.
CheckLook at the vibration levels and the clipping counters in the log (VIBE) and compare them with an earlier flight.
FixLand soon. Replace or balance the props; with the battery disconnected, turn each motor by hand and feel for roughness or play.
The flight controller is mounted hard, or something touches it: a wire pulled tight, the canopy, a loose GPS mast.
FixMount it on dampers, leave slack in every wire that goes to it, and fix whatever rattles.
A full-throttle climb or a fast descent shook the frame for a moment.
Check“ON” is followed by “OFF” about 15 s later and does not come back in gentle flight.
FixIf it is rare, nothing urgent. If every hard climb triggers it, the vibration is close to the limit all the time: treat it as the first cause.
In the log this is error subsystem 29: code 1 when the compensation came on, 0 when it went off. It needs FS_VIBE_ENABLE at 1 (the default): keep it there.
Parameters to look at
| Parameter | What it is |
|---|---|
FS_VIBE_ENABLE | Vibration Failsafe enable |
INS_ACCEL_FILTER | Accel filter cutoff frequency |
INS_HNTCH_ENABLE | Harmonic Notch Filter enable |
Where to do it:Failsafe ExplainerSetup & Tuning Guide
The code that sends it
Vibration compensation ON
ArduCopter/ekf_check.cpp Copter::check_vibration() · Open in ArduPilot Copter-4.7.1
Vibration compensation OFF
ArduCopter/ekf_check.cpp Copter::check_vibration() · Open in ArduPilot Copter-4.7.1