Can RTL do this? Move RTL forward

So, it is my understanding that the Home point is set when the Plane arms, and in case of a RTL event the plane will go back to the home point, and RTL altitude.

Is there a way I can have the Plane RTL to a point that is 100’, or some other settable amount, forward of where the plane armed. I would like to do this as i usually launch from the edge of the field , and it would be better if the plane circled in front of me, instead of directly overhead. I have thought of Rally Points, but those are absolute locations, where I am looking for a relative location.

Any Suggestions??

Rusty

A lua script should be able to create a rally point for you in the field so you don’t need a GCS or absolute point. The only thing you would need is a way to define what in front of you means.

Edit: So this just sent me down a rabbit hole. You might not be able to set rally points by lua, (Somebody prove me wrong please, because I think that would be the better answer) but you can set or re-set the home point.

Lua can set rally points using MAVLink interface but it will be a bit cumbersome as you have to speak mission protocol.

Could someone give me a point in the right direction?

Rusty

Since I often also stand at the edge and launch the plane onto a meadow, two years ago I wrote a LUA script for this and personal purpose (and therefore it’s spaghetti code).

It does the following: After take-off, it moves the home point (HP) to where the departing aircraft has travelled a configurable distance from the original home point.

However, it does even more (as a result of negative experiences):

In mountainous terrain, the plane can still fly behind a mountain, which can trigger the RC failsafe RTL. This carries the risk that the RTL_ALTITUDE might be set too low, which could lead to a CFIT into the mountain.

Therefore, when RTL is triggered and the aircraft is flying lower than RTL_ALTITUDE, it first climbs loitering until it reaches RTL_ALTITUDE, and then flies back to the new HP.

If you take off from a valley and set a high RTL_ALTITUDE for safety reasons, you don’t want the aircraft to end up RTL-circling very high above the HP. So you can specify a lower altitude using the new RTH_ALT2 parameter, which the aircraft will descend to as soon as it reaches the home point.

Two additional parameters are set:
DIST_MOVE_F is multiplied by RTL_LOITER_RAD to determine the distance from the starting point at which the home point shifts.

DIST_ALT2_F multiplied by RTL_LOITER_RAD determines the distance from the new HP at which RTL_ALTITUDE changes to RTL_ALT2 during the return.

Here’s the script, zipped, assuming you can handle the spaghetti code.

HP_MOVE _NEU.zip (1.8 KB)

Thanks, unfortunately I am looking to use this on smaller F4 based flight controllers, only 1MB flash. I do not this this will work.

Might have to deal with it as it is, or find alternate method

Rusty

Agree that Lua is the answer. But for 1M boards, I think a pre-canned rally point is the sane, accessible alternative, especially if you’re always at the same field.

I might have to go this route for now.

Thanks everyone.