I was doing some adjustments to our Q_M_Spin_Min parameters, trying to make our detransitions (transition back to VTOL) and takeoffs smoother when I committed a typo and set the param to 0.8 (80%) instead of the intended 0.08 (8%). The rest of the story practically tells itself, but for those who aren’t familiar the aircraft initiated an auto takeoff, using 80% as the minimum throttle (read:like a rocket) and had insufficient control margin to stabilize its attitude, resulting in a full 1.5x left roll before impacting the ground left wing down.
As soon as it took off it was apparent something was wrong, but my mind didn’t fully make the connection. When it started to drift and roll I switched to Qloiter from auto, but this did nothing to fix the problem. I never switched into Qstabilize, but a post-wreck SITL of the situation reveals that it also wouldn’t have helped with the problem. Any ideas on how I could have mitigated the problem once it was already in flight? The SITL run also confirmed that there was no warning when setting this parameter so high, or so far from the prior setting (0.06 in my case).
While I take full responsibility for making the error, it would seem that an exceedable limit of like 0.3 (the high end noted in the parameters documentation) or a scaling check (warning: you adjusted this parameter by more than a factor of 2, do you wish to continue?) could help prevent such errors.
Also, consistent and intuitive parameter scales would help prevent errors as well. For example, some parameters have a range of 0-100 for percentage, while others are 0.00-1.00 for the same scale. I would argue that using the 0-100 (exceedable for some parameters) scale is more intuitive and would likely result in less such errors.
Your feedback and condolences are welcome!