Hello all,
I’m a longtime user of ArduPlane, using it for aircraft flight testing. I would like to bring-up an issue that has made accurate airspeed measurement a challenge for my work, and propose a solution to gauge interest and viability.
The Issue: When using airspeed sensors with a pitot-static tube, the static-pressure measurement is difficult to accurately measure due to the airflow interactions with the aircraft. Additionally, large angles of attack cause bias to the static-pressure. All this when picked up in the pitot-static tube causes substantial error in the dynamic pressure measurement.
The current ArduPlane airspeed calibration zeros this bias at a single airspeed using groundspeed and an EKF to obtain an estimate for correct airspeed, giving a single factor to multiply the dynamic pressure by to adjust the reading of airspeed. This solution won’t provide accurate airspeed measurement when flying at a very different airspeed, since the angle of attack has changed, along with the surrounding flow field that affects the static-pressure port.
Example:
Aircraft being flown between 10 and 16 m/s, has a pitot-static tube 7 centimetres in length roughly halfway down the span of the wing. Two sensors used, SPD33 and MS4525.
From post-flight analysis, the AS_RATIO as a function of dynamic pressure measured for the MS4525 should have been:
And for the SDP33:
Proposed Solution: If the airspeed is calibrated at two different airspeeds, with as much of a gap as possible, then it would be possible to at least partially remove static-pressure errors caused by the different angle of attack. Sailplanes for example perform airspeed calibrations at many different speeds.
Instead of just AS_RATIO, two variables would be needed: AS_RATIO_b and AS_RATIO_m. In equation form the old form of airspeed calculation is:
$$ V_{EAS} = \sqrt{AS_{RATIO} \Delta P} $$
What I’m proposing is:
$V_{EAS} = \sqrt{ ( AS_{RATIO_m} \Delta P + AS_{RATIO_b}) \Delta P}$
Implementation: To make this happen, a new airspeed calibration process would need to be created to fly multiple airspeeds, and generate the two parameters. Changes would also need to happen to AP_Airspeed libraries.
I’m eager to hear from the community about their thoughts on this approach and whether they’ve encountered similar challenges with airspeed calibration in their applications. Your insights could help refine this concept and improve airspeed measurement accuracy across different systems.