Micoair MTF-01 Optical Flow Sensor Calibration Issue

I have an arducopter v4.6.3 quadrotor, with a Micoair MTF-01 optical flow sensor. I tried calibrating the sensor, following the arducopter documenation: Optical Flow Sensor Testing and Setup — Plane documentation

I tried calibrating the sensor indoors, in loiter flight mode. I used FAST-LIO (SLAM) as my position src during calibration. The calibration succeeded but the final scalar values are:

  • FLOW_FXSCALER = 617
  • FLOW_FYSCALER = -393

The values are out of the recommended range of -200 and +200. After calibration is finished, the drone is still rocking forward and backward, while in loiter flight mode. EK3_SRC1 params during the flight:

  • EK3_SRC1_POSXY = 0
  • EK3_SRC1_VELXY = 5
  • EK3_SRC1_POSZ = 2 (rangefinder on the optical flow sensor)
  • EK3_SRC1_VELZ = 0
  • EK3_SRC1_YAW = 1 (compass)

Link to flight log

OF.bodyX and OF.flowX after calibration:

Try a simple method in Mission Planner, even indoors:

  • Define EK3 origin (source OF). It doesn’t need to be where you are, but a place with known distances. You should see the vehicle icon in MP.
  • Move the vehicle manually north-south and east-west, and check in MP if it moves the same way and the same distances. In this way you can check if OF orientation and position are defined correctly (distances to center are easy to define).

In practice I find that scalers at 0 give enough precision. Indoors missions are possible.

1 Like