Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTL: For VTOL first descend before transition #14728

Closed
wants to merge 5 commits into from

Conversation

RomanBapst
Copy link
Contributor

When there is no planned mission landing available which makes the vehicle reduce altitude before transitioning then the vehicle will transition back to hover at the RTL return altitude as soon as it reaches the home position.
The RTL return altitude can be quite high (imagine the vehicle needs to clear a hill).
In most cases it's not desired for the vehicle to transition at high altitudes as hover flight uses a lot of energy. It would be better for the vehicle to descend in fixed wing mode and only transition once it's at the RTL descend altitude.
Now that we have path tracking during the transition it's actually ok to loiter down to RTL descend altitude and then transition. Previous concerns have always been that the vehicle drifts off during the transition as it was done in an open loop fashion.

@@ -318,7 +318,13 @@ RTL::set_rtl_item()
}

case RTL_STATE_DESCEND: {
_mission_item.nav_cmd = NAV_CMD_WAYPOINT;
if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING) {
_mission_item.nav_cmd = NAV_CMD_LOITER_TO_ALT;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dagar For some reason this does not work for plain multirotors.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xdwgood
Copy link
Contributor

xdwgood commented Apr 24, 2020

@RomanBapst

path tracking during the transition

Does tailsitter also have this feature? thanks

…a transition

Signed-off-by: RomanBapst <bapstroman@gmail.com>
NAV_CMD_LOITER_TO_ALT

- this allows vtol to track the loiter circle during the transition instead
of trying to fly to the landing position

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Signed-off-by: RomanBapst <bapstroman@gmail.com>
- descend to RTL descend altitude
- transition
- move to land waypoint
- loiter and then land

Signed-off-by: RomanBapst <bapstroman@gmail.com>
Signed-off-by: RomanBapst <bapstroman@gmail.com>
@sfuhrer
Copy link
Contributor

sfuhrer commented May 22, 2020

This is how it looks like now (with this PR):

  1. The vehicle returns on RTL_RETURN_ALT,
  2. then begins FW loiter and descends to RTL_DESCEND_ALT.
  3. Once that is reached, it transitions to hover mode (while still tracking the loiter),
  4. and then moves over the land spot in hover mode, still on RTL_DESCEND_ALT.
  5. Then, if RTL_LAND_DELAY is set, it will wait there for this amount of time,
  6. and proceeds with landing afterwards.
    image

@hamishwillee
Copy link
Contributor

@sfuhrer OK, so docs for return mode are here: http://docs.px4.io/master/en/flight_modes/return.html#vtol

The current instructions basically say "If not in a mission landing, a VTOL in FW mode will always transition back to MC just before landing (ignoring NAV_FORCE_VT)."

So the difference now appears to be that it does the transition explicitly at RTL_DESCEND_ALT.

  1. Does it still ignore NAV_FORCE_VT ?

You don't mention the behaviour around RTL_CONE_ANG - I assume it is the same as for MC? I.e. the cone angle defines the effective RTL_RETURN_ALT, but otherwise things are the same.

Further, the rest of the doc doesn't talk about transitions for VTOL much, but my assumption is that this really only applies for the cases where landing is not defined by a mission right (i.e. not when the return mode is to follow a mission path).

@VTOLDavid
Copy link
Contributor

Very nice feature. Would be a good point to add wind direction into the procedure in order to fly with headwind from the end of the transition to the landing point.

@stale
Copy link

stale bot commented Dec 25, 2020

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

@stale stale bot added the stale label Dec 25, 2020
@LorenzMeier
Copy link
Member

@sfuhrer Is this still current?

@stale stale bot removed the stale label Jan 2, 2021
@sfuhrer
Copy link
Contributor

sfuhrer commented Jan 4, 2021

@sfuhrer Is this still current?

No, replaced by #16377.

@sfuhrer sfuhrer closed this Jan 4, 2021
@VTOLDavid
Copy link
Contributor

@RomanBapst

path tracking during the transition

Does tailsitter also have this feature? thanks

@RomanBapst
I think they do, and I having some dangerous transitions because of this, would be nice if it could be disabled.

@dagar dagar deleted the rtl_descend_vtol branch October 9, 2022 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants