Tailsitter forward drift in QSTABILIZE


my platform is a dual motor non vectored tailsitter. Flying in QSTABILIZE or QHOVER results in drifting forward. I followed this procedure:

  • Calibrated accelerometers in fixed wing mode. Noted down AHRS_TRIM_Y value.
  • Placed the tailsitter in 90 degrees (hover stance) and calibrated level only. After that I restored AHRS_TRIM_Y value.
  • I notice that when I restore the AHRS_TRIM_Y value the HUD becomes like that
  • I changed Q_TRIM_PITCH = 5 and the drift is gone.

However as described below, changing Q_TRIM_PITCH is not needed unless I calibrate in a false hovering attitude, which I did not. Also it seems weird that restoring the AHRS_TRIM_Y makes the HUD like above.

Any ideas?

Hello - Drifting can be expected in QSTABILIZE or QHOVER as there are no active controls attempting to hold position. How fast is the drift, and are you able to manually compensate?

Most tail sitters and quad planes will be prone to drift in these flight modes (more than a copter). They will get pushed around by wind and aerodynamic forces. Do you have a photo of the tailsitter so we can better understand what may be causing the drift?

Hi @nwinston,

The drift is not that bad. It’s roughly 0.5 m/s and I can easily compensate manually. This is my platform, it is eclipson’s VTOL.

Currectly I am flying indoors so there is no wind. The drift originates purely from the “bad” attittude during hover. I understand that QSTABILIZE is an attitute control mode and can not control position. However my main misundersanding is the following:

Following documentation regarding accel calibration in tailsitters,

  1. I calibrate like a fixed wing and then note down the AHRS_TRIM_Y value.
  2. Then calibrate level only in upright position (hover attitude). At this point the HUD shows perfect levelling.
  3. Then I restore the previous AHRS_TRIM_Y value and then the HUD shows around 5 deg pitching up. In that sense, by flying now a drift is guaranteed.

The real question is why restoring the AHRS_TRIM_Y value like the docs describe “ruin” the level attittude shown in HUD and whether after all this procedure is valid or needs some refinement.

For reference, this is the doc QuadPlane Setup Tips — Plane documentation and this is the relevant part: