Hi @DroneUnit,
I would need to see some logs to understand what you are seeing however my testing showed very different results over my test aircraft.
The first point I would make is I found the minimum take-off altitude extremely consistent. If I just pushed the stick up very slowly and then let it go as soon as I felt the throttle start to slew up I found the final height was within a few cm each time. So I think your 1-4 feet is a bit of an exaggeration. Your final height may be somewhere in that range if you use my approach but it should be pretty much the same height each time.
Looking at each threshold I could imagine that if someone had set high vertical accelerations and climb rates, they would get a higher minimum height. I haven’t seen such a log yet so I would be interested to see your logs.
I may be able to cater to your needs by adding a maximum throttle to the take-off parameters. This would let you set it just above your maximum hover throttle for extremely low minimum take-off altitude. This would give you the ability to move it lower than your hover throttle and get the old behaviour. This would also help tune the “pop”.
On each of your points:
i) Given the consistency of the new take-off I believe the new approach is safer for the majority of aircraft and pilots. Most aircraft will see something like a 1 ft take-off altitude, maybe with a small overshoot… Every time.
ii) If you set the slew to be 5 to 10 seconds on this “looser” aircraft, the autopilot will do exactly this on every launch and won’t rely on the pilot to understand this. It also removes the danger of any roll or pitch input causing loiter to move sideways and cause a tip over during this slow takeoff.
iii) In Alt_Hold the old take-off would let you lean into the wind before you left the ground. I agree you that the new version is a clear improvement in every other mode.
iv) Yes as soon as you are out of the dead band you are committed to take-off. I considered an abort with low throttle but this could result in an aircraft falling from a small height if you catch it just before it detects take-off and I couldn’t work out a way of doing this safely. It is worth noting here that the old approach declares the aircraft flying as soon as you are out of the dead band too. This means that the old approach requires the pilot to go through the full landing sequence (the autopilot must detect landing) before they can shut down. The difference is that the position controller is fully engaged in loiter so any roll/pitch input can cause a roll over during this time.
The one area where the new approach may be clearly worse than the old version is if the aircraft has one leg stuck in the ground such that any take-off attempt will cause the aircraft to tip over. A very, very, slow take-off using the old approach may give an experienced and alert pilot an opportunity to prevent the tip over. I term build up will get most pilots in this situation though.
If you can provide some logs showing your 4ft minimum take-off I may be able to offer some advice on how to get the most out of the current code.
Thanks for your feedback and input. A take-off throttle max parameter may be the outcome.