Takeoff failure with APM 2.5

Hello,

I have updated the firmware to 3.3, and it looks like the auto takeoff feature does not work on APM 2.5
anymore. Attached .tlog demonstrates one of unsuccessful attempts. According to the log, the takeoff
timeout happens before the target ground speed has been reached.

Probably, following change is a reason of failure:
github.com/diydrones/ardupilot/ … 7aa1b65061

Note that the timeout condition on the line 53 has been changed from

to

If my understanding is correct, now we have quite narrow timeframe to reach the target
ground speed: only 0.3s instead of 2.5s before.

Does this look like a bug, doesn’t it?

Thanks,
Andrew

Hi Andrew. In the code you reference the wait_time_ms is calculates as follows

So if you set TKOFF_THR_DELAY to the maximum of 127 then its

Which results in wait_time_ms being set to 12700 milliseconds or 12.7 seconds.

I notice that you have TKOFF_THR_DELAY set to 2 so using the code above this means your delay will be 0.2 of a second or 200 milliseconds. This is probably why your getting the timeout. You should increase your TKOFF_THR_DELAY parameter.

Let us know how you go.

Thanks, Grant.

H Grant,

thank you very much for the comment.

Of course, there is an option to increase the TKOFF_THR_DELAY parameter.
However, this does not make the throttle activation timeframe much wider,
because we do not check for ground speed before the delay ends:

(takeoff.pde, line 64), so we anyway have only 0.1s between
the begging of the throttle activation window and the timeout.

So, with the new code, I have to predict a delay between the plane toss
moment and the moment of reaching the sufficient ground speed with
0.1s precision. I can not say the this is impossible task, but in my opinion
the previous logic of the code was much more user friendly, and does not
require so precise takeoff planning.

Probably, if we use 12.7s as maximum allowed throttle activation delay,
then we can use (12.7 + 0.1) as a timeout threshold. Does this make a sense?

Thanks,
Andrew

I have set TKOFF_THR_MINSPD to 0 in order to workaround the problem.
This works fine, attached .tlog demonstrates the successful takeoff.

However, I still think that current behavior does not conform the description
of TKOFF parameters. Now TKOFF_THR_DELAY rather means ‘delay till the
minimum ground speed will be reached’, that can mislead people.

Thanks,
Andrew