Feature Request: Runway Autotakeoff-to-waypoint

If I’m not wrong in current runway autotakeoff the plane tries to keep initial heading.
In a narrow runway this has some disadvantages:
If you just taxi the plane to the takeoff point it is very difficult to leave it in the center of the runway and perfectly aligned with the runway heading.
Even if the plane looks perfectly aligned a small heading error from the compass makes the plane deviate from the center of the runway very fast and too often reach the edge before rotate speed.
In proffesional autopilots like Cloudcap’s Piccolo you just set target waypoint like 200m past the end of the runway and at certain altittude. Then the plane takes off trying to follow the line from the takeoff point to the takeoff target point, so accuracy in initial heading is not so important.

this PR by @MagicRuB might come close to what you suggest:

Yes , it might. I will give it a try.
Thank you.

@MagicRuB
I would love to see this included in the next release of Ardupilot. any chance it’ll make it into 4.1?

I’d love to see it in there too. @tridge seems to think he had something better by using a traditional waypoint like piccolo but I think that leads to more user error. Both solutions are good. No need to hold this one up… but tridge has yet to present a PR for his branch.

I agree that Piccolo is not perfect either. It’s not easy to switch between different plans if the wind direction changes. You always need a groundstation operator and a pilot.
For me the best approach would be to define the runway by defining its:

  • centre (by means of a special waypoint)
  • direction (s): a number of possible takeoff headings (1, 2 or maybe 4 if there are 2 runways intersecting in a cross shape).

After that, the initial heading of the plane would only be used to select one of the possible headings.
During rollout the plane is kept level but the rudder is used to try to follow the segment defined by the centre of the runway and the selected takeoff heading.
After rotation, the plane climbs at the desired climbing angle and uses ailerons to track that segment until takeoff elevation is reached.
In this way we can just place the plane more or less in the centerline of the runway and more or less pointing in the takeoff direction of facewind and the takeoffs would be more consistent.

This solution is better if you nearly always use the same runway, but It can be cumbersome if you fly in many different places, in such a case, the projected waypoint from initial heading could be the best compromise… Any of these would be much better than what we have now.
Thank you for your efforts.