Persistent Z-Axis Vibrations & Oscillations During Cruise Flight (>5 m/s)

Hi ArduPilot Community,

I am experiencing excessive Z-axis vibrations (spiking over 30) during cruise flight at speeds above 5 m/s, which causes oscillations and instability. Despite implementing proper vibration dampening and using high-quality isolation for the flight controller, the issue remains unresolved.

Setup Details:

  • Flight Controller: Orange Cube Plus
  • Firmware: Latest stable ArduPilot
  • Flight Controller Mounting: On high-quality vibration dampers
  • Propellers and Motors: Balanced and matched to specs

Problems:

  1. Z-axis vibrations exceed acceptable levels during cruise but are stable during hover and slow flight.
  2. Oscillations (up to 20° in roll) occur when cruising, with visible deviation between desired and actual roll/pitch.
  3. Aerodynamic turbulence appears to amplify vibrations at higher speeds.

Troubleshooting Steps Taken:

  1. Propellers and Motors: Balanced and inspected for resonance or misalignment.
  2. Dampening: Installed high-quality vibration dampers under the flight controller.

Observations from Logs:

  • Z-axis vibrations spike during high-speed cruise, while X and Y vibrations remain stable.
  • VIBE.Z exceeds 50 during the oscillations, and ATT logs show significant attitude deviations.

Questions for the Community:

  1. Could the issue be related to aerodynamic turbulence around the payload or frame design during cruise?
  2. Are there specific ArduPilot parameters or advanced filters that can address Z-axis vibrations effectively in this scenario?
  3. Has anyone resolved similar issues with high Z-axis vibrations despite having proper dampening?

I would appreciate any insights or guidance from the community to help solve this issue. Let me know if you need log files or additional details.

Thank you for your support!
@xfacta @dkemxr @amilcarlucas

Probably start with a photo of the copter and maybe a close-up of the flight controller and wiring.

Z axis vibrations are usually caused by the passage of props across arms and fuselage or centre plates.
It’s rare for a Cube to require an anti-vibration mount.

Hello everyone,

Thank you for the quick responses earlier!

I’m now looking to enable FFT-based notch filtering but don’t have much experience with the setup process. Following the suggestions, I’ve set the parameter INS_LOG_RAW_OPT = 9 and hovered the vehicle in Loiter mode for about 1 minute to capture the necessary data.

Please find the attached log for your reference. I’d appreciate any guidance on the next steps to properly configure FFT for notch filtering.

Thank you!

ARMING_CHECK,1

Vibrations are still high and there’s no high speed involved in this flight. You have to try and fix the physical issues creating the noise and harmonics. The harmonic notch filtering should be thought of as fine tuning after the worst of the physical vibration issues are solved.
A couple of photos would be instructive.

I dont think you need the FFT-based notch filter, it would take more configuration and test flights than it’s worth, with no better result than the settings I list below.
This harmonic notch filter would work OK, but there’s still plenty of noise peaks at various harmonics. It’s important not to go crazy with the notch filter and try to filter every little thing. Solving the physical issues will fix most of this.

You dont need extra logging, set these:

INS_RAW_LOG_OPT,0
LOG_BITMASK,180222

And these values would be normal:

PSC_ACCZ_I,0.5
PSC_ACCZ_P,0.2

Is there a special reason for this?
EK3_IMU_MASK,3
I could not see a reason for excluding the third IMU.

Thanks, Shawn, for your response.

I have enabled the notch filter as you suggested. Please review the logs and let me know if any further improvements are needed. This was a hover flight.

Vibrations are acceptable in this flight :slight_smile:

I suggest you update to latest stable firmware.

I’m not sure why you have the gyro low pass filter set so low, set it to at least this value:
INS_GYRO_FILTER,16
and INS_HNTCH_OPTS should have been 0
So these are now your corrected notch filter values:

INS_HNTCH_BW,10
INS_HNTCH_FREQ,22
INS_HNTCH_FM_RAT,0.7
INS_HNTCH_HMNCS,3
INS_HNTCH_OPTS,0
INS_HNTCH_REF,0.22

You should be able to set these now:

ARMING_CHECK,1
ATC_INPUT_TC,0.20
ATC_THR_MIX_MAN,0.5
AUTOTUNE_AGGR,0.08
BATT_FS_CRT_ACT,1
INS_LOG_BAT_MASK,1
INS_LOG_BAT_OPT,4
INS_RAW_LOG_OPT,0
LOG_BITMASK,180222
PILOT_THR_BHV,7
PILOT_Y_RATE,45
PILOT_Y_EXPO,0.3
PILOT_Y_RATE_TC,0.2
PILOT_TKOFF_ALT,200
PSC_ACCZ_I,0.6
PSC_ACCZ_P,0.3
TKOFF_SLEW_TIME,5
TKOFF_THR_MAX,0.8
WP_NAVALT_MIN,2

These wont really affect tuning, mostly just logging, pilot inputs and a smooth definite takeoff.

There is a difference between pitch and roll when landed and in flight. I think you should do this:

  • Get a spirit level , pack under the landing gear until you get the level very close to perfect across the tops of all the motors (that is from motor to motor) in all directions.
  • In MissionPlanner go to Setup / Mandatory / Accel and press Calibrate Level

Do another simple test flight in AltHold and Loiter with plenty pitch, roll, yaw and ascents/descents.

Thanks, Shan, for your suggestions. Could you share the reason for setting INS_HNTCH_REF to 0.22 when my average throttle is 0.28?

The correct way to calculate REF for throttle-based notch filter is:
INS_HNTCH_REF = hover_thrust * SQRT(min_freq / hover_freq)
which works out to be around:
INS_HNTCH_REF = hover_thrust * 0.6 or 0.7
and on top of that we can try some values in the filter review tool to see their effect.

We have enabled all the recommended parameters as suggested. Please find the logs attached and let us know if any further adjustments are needed. However, we are still experiencing high vibration on the Y-axis.

Would enabling the second notch filter help in reducing noise during cruise? Our goal is to achieve at least 13 m/s.

That is a hardware issue, that must be resolved with a hardware change.

Did you do the Calibrate Level procedure?
You didnt set all the parameters I recommended - the harmonic notch filter is not the only thing at play here.
What battery pack do you have - there is quite critical parameters that should be set correctly for safety.

We are using solid state battery pack 24S 30Ah.