Currently I can see two ways for APM:Copter to tune PIDs in mid air: via CH6 and by using autotune feature.
What if it could be implemented to work in on-demand way? Imagine pilot have just build copter. It has never been tuned for PIDs or some tuning progress flag has been reset. Then pilot starts motors, takes it off the ground and controls copter with sticks.
And then while it performing some actions of flight plan (not specific for tuning), software is evaluating actions and frame response (as id does while auto-tuning) and applying new corrections to PID values. It may take some time to have PID tuned in a good way, maybe not a single flight. Copter will fly better and better. And then at some moment it will be finally tuned.
What do you think on it?