mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
RTL: during climb, set NAV_CMD_WAYPOINT for RW modes, NAV_CMD_LOITER_TO_ALT for FW
Do not use LOITER_TO_ALT for rotary wing mode as it would then always climb to at least MIS_LTRMIN_ALT, even if current clib altitude is below (e.g. RTL immediately after take off) Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
parent
0b86c11c66
commit
92634e7549
@ -319,7 +319,15 @@ void RTL::set_rtl_item()
|
||||
switch (_rtl_state) {
|
||||
case RTL_STATE_CLIMB: {
|
||||
|
||||
_mission_item.nav_cmd = NAV_CMD_LOITER_TO_ALT;
|
||||
// do not use LOITER_TO_ALT for rotary wing mode as it would then always climb to at least MIS_LTRMIN_ALT,
|
||||
// even if current climb altitude is below (e.g. RTL immediately after take off)
|
||||
if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
|
||||
_mission_item.nav_cmd = NAV_CMD_WAYPOINT;
|
||||
|
||||
} else {
|
||||
_mission_item.nav_cmd = NAV_CMD_LOITER_TO_ALT;
|
||||
}
|
||||
|
||||
_mission_item.lat = gpos.lat;
|
||||
_mission_item.lon = gpos.lon;
|
||||
_mission_item.altitude = _rtl_alt;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user