I’ve been facing significant issues with quads using optical flow for localization. Specifically, the drones struggle to reliably take off, often getting stuck on the ground. When they do manage to take off, they end up at incorrect altitudes.
The primary issue seems to be with the Local Position Z estimate, which appears to be miscalculated. While the drone is sitting on the ground with its props spinning, the local position Z continues to increase. This issue also manifests as very unstable altitude hold behavior, with the vehicle wandering up and down erratically.
Interestingly, when flying in Position mode or Altitude mode, the drone performs well with no issues in altitude or position hold. The problem seems specific to the takeoff process and transitions.
The bug report can be found here:
On hardware, I tested with Dexi quads equipped with ARK Pi6X Flow. If the altitude setpoint is below ~2m, the drone fails to take off. When it does take off, it overshoots the setpoint and then slowly drifts back down, almost to the ground, with occasional random altitude jumps.