Feature to auto-reset airspeed to 0 when armed? Or should ARSPD_SKIP_CAL disabled do this?

Hi @WickedShell and @Graham_Dyer, thanks for your help at the time in Why does airspeed not reset to 0 before takeoff and why did autocal make it worse?
I was initializing a bixler with a 3rd party I2C airspeed sensor, probably not the best one ever made. The speed was 20kph on the ground with no wind.
I’m assuming it drifts quite a bit due to temperature or whatever, fine, that’s what preflight airspeed calibration is for.
Except, that’s in apmplanner2, but not in tower.
I only had a phone, and it was not easy to reset the speed to 0.
So I came to wonder, why go through this entire dance every time?
Why not have an option that resets airspeed to 0 when the aircraft is armed? (pilot would have to block the pitot tube to make sure it’s not into the wind)

My understanding of ARSPD_AUTOCALis that it only works in the air, and it’s not recommended to leave it on, correct?
Besides, it’s ARSPD_OFFSET I need to adjust, not ARSPD_RATIO anyway.
I already have ARSPD_SKIP_CAL set to 0.
Does this mean it should recalibrate to 0 at startup like I’m wanting for it to?
But if so, why is not quite working and why does apmplanner2 have an option to do this manually?

Thanks, Marc

@marcmerlin I think automatically calibrating it when arming the aircraft is a bit problematic as it starts to get hard to juggle everything. That said you already are normally pushing a button to start the calibration procedure so maybe it’s no worse then the current workflow to do calibration.

I admit I’d be a bit worried about it though, because it feels like something a user would forget to do. @MagicRuB any opinions?

ARSPD_SKIP_CAL 0 should mean that it’s always doing a calibration on boot. You could check for this by observing the ARSPD_OFFSET value then do a reboot and see what it reads at.

First, I despise the name ARSPD_SKIP_CAL and wished it was something more useful like ARSPD_CAL_BOOT.

Airspeed Cal is something we are fundamentally doing wrong. The sensors we have suck and the calibration during flight would ideally be improved to the point that it can be enabled all the time and we can just retire ARSPD_SKIP_CAL.

Right now air speed cal can be done incorrectly too easily which makes things worse. The cal needs to take a longer LPF average.

In general, I believe an auto-cal on arm is bad.

@MagicRuB @WickedShell thanks both for the answer.
So basically if I got this right

  1. I already have ARSPD_SKIP_CAL set to 0 (yes, not the best name, but whatever), so it should calibrate at start. If before takeoff I see an airspeed of 15-20, it’s because the calibration happened too early/quickly and isn’t good, so I need to do another one.
  2. but there is no android app that I found that lets me reset the airspeed to 0 after boot, like apmplanner would allow. I’m not even sure any allow a pre-flight reboot.
    So basically I’m stuck having a laptop, or is there a way around this?
    For what it’s worth that plane is a pixfalcon and a 3rd party airspeed sensor because 3DR had none for sale anymore when I bought that one, so it’s possible the airspeed sensor is a bit worse at boot than the 3DR ones.

The airspeed sensor you have is probably fine. They’re all noisy because they all mostly use the same sensor IC. There’s a new IC that Philip is working with for a CAN airspeed sensor that should be much better, well see. Not available yet, but you would be a great candidate for alpha/beta testing when we get there.

Generally, on a good calibration you’ll get upwards of 3.5 m/s airspeed while on the ground. Any more than that and you’ll want to do another calibration… And that requires a computer.

How about we add a joystick combo to trigger airspeed Cal? Like… while disarmed and have sticks outward and up, opposite to arming, we could trigger a Cal. Do you have a favorite combo you’d like to propose? Do any other autopilot systems trigger airspeed Cal with RC inputs that we could copy the joystick scheme so we don’t fragment from the community’s​ expectation?

joystick airspeed reset is a good idea. I don’t know of anyone else doing this, but I’m guessing up and to the right since down and to the right is arm (unless your rudder is the other way around, but basically same as arming, but up instead of down).

Can you make an issue for that so we can track it? That seems like something easy to add that adds high value.

@MagicRuB sure thing, done: https://github.com/ArduPilot/ardupilot/issues/6244