I am experiencing a constant altitude jump issue while hovering with my system in both Loiter and AltHold modes. The drone flies normally and maintains stable altitude in Stabilize mode, but when switched to AltHold or Loiter, it begins to rapidly change altitude, oscillating up and down by about half a meter.
System details:
Frame: Hexacopter +
Motors: X9+
Propellers: 34 inch
Total Weight: ~60 kg
Autopilot: Cube Orange+
Firmware: 4.5.7
I have checked for:
Proper barometer isolation and foam protection
GPS signal stability
Vibration levels (seem within normal range)
Despite that, the issue persists.
Has anyone experienced similar altitude jumps? Could this be related to barometer interference, PID tuning, or air pressure fluctuations?
You are missing step 20 of the ArduPilot methodic configurator software. You did not configured the altitude acceleration PIDs yet, so that strange behavior is actually normal.
Thank you very much for the quick response, could you kindly review the logic and proposed parameter changes for fixing altitude oscillations offered to me by artificial intelligence in order to understand the processes.
Position Controller Z (altitude)
PSC_ACCZ_P,1.2
PSC_ACCZ_I,2.4
PSC_ACCZ_FLTE,20.0
PSC_ACCZ_SMAX,25
Velocity Controller Z (vertical speed)
PSC_VELZ_P,8.0
PSC_VELZ_I,2.0
PSC_VELZ_FLTE,5.0
PSC_VELZ_FLTD,5.0
Acceleration limits (softer for heavy platform)
ATC_ACCEL_P_MAX,35000
ATC_ACCEL_R_MAX,35000
Throttle Mix (headroom during maneuvers)
ATC_THR_MIX_MAN,0.5
ATC_THR_MIX_MAX,0.9
ATC_THR_MIX_MIN,0.1
Rationale:
MOT_HOVER_LEARN=2: Essential for controller to establish correct throttle baseline (currently blind at 0)
PSC_ACCZ_P: 0.5→1.2: Higher inertia requires proportionally higher P gains (counter-intuitive but correct for heavy platforms)
PSC_ACCZ_I: 1.0→2.4: Faster error compensation to prevent I-term windup oscillations
PSC_VELZ gains: Increased to match mass/inertia ratio vs. default assumptions
ATC_ACCEL__MAX: 20k→35k: Actually softer for heavy platform - prevents motor saturation during aggressive commands
ATC_THR_MIX: Increased headroom to maintain altitude during roll/pitch maneuvers
Questions for the community:
Are these PSC values reasonable for a 60kg platform, or should I scale differently?
Any concerns with MOT_THST_EXPO=0.60 for 34" props on X9 Plus motors?
Should I approach this incrementally (smaller steps), or are these values conservative enough for direct testing?
Any other parameters I should adjust for heavy-lift-specific behavior?