UAV drifts away when hovering based on optical flow

Here’s an update of all what I have tried:

  • (de-)tuning of optical flow sensor’s and rangefinder’s pitch offset (EKF2_RNG_PITCH)

  • (de-)tuning of optical flow sensor’s and rangefinder’s x, y, z offsets (EKF2_RNG_POS_, EKF2OF_POS_)

  • (de-)tuning of optical flow sensor’s and rangefinder’s mounting roll, pitch and yaw

  • (de-)tuning of optical flow sensor’s and rangefinder’s mounting x, y, z

  • (de-)tuning of optical flow’s and rangefinder’s noise, delays, gate size (EKF2_RNG_NOISE, EKF2_RNG_DELAY. EKF2_RNG_GATE)

  • increase and reduction of sensors’ mounting stiffness

  • (un-)tick “optical flow” in EKF2_TERR_MASK

  • (de-)activating COM_HOME_IN_AIR

  • use barometer instead rangefinder as primary height source (EKF2_HGT_MODE)

  • enable & disable EKF2_RNG_AID

  • auto PID tuning

  • manual PID tuning (Velocity, Position)

  • (un-)tick “inhibit IMU bias estimation” and “multi-rotor drag fusion” in EKF2_AID_MASK

  • use “simple control mode” or “acceleration based input” in MPC_POS_MODE

  • setting unused sensor’s EKF2 Delay parameters to zero (EKF2_GPS_DELAY etc.)

  • changed values of EKF2_BCOEF_

  • several sensor recalibrations

  • flying indoor and outdoor

  • different propellers

  • different batteries

  • different lightings

  • use optical flow sensor and rangefinder on different drones of the same model

  • use optical flow sensor and rangefinder on different drone models

None of the actions above brought significant improvement to reduce drift. By replacing the optical flow sensor with another optical flow sensor of the same model the drift direction and intensity changed. This leads to the conclusion that the drift is inherent in the sensor and possibly a lack of production quality.

I found the following related issues:

Possibly these are solved when you read this searching for solutions.

Best regards,
knolle

2 Likes