# 返航模式

The Return flight mode is used to fly a vehicle to safety on an unobstructed path to a safe destination, where it may either wait (hover or circle) or land.

PX4 提供了几种机制来选择安全的返航路径,返航目的地和着陆,包括使用其实位置,集结(“安全”)点,任务路径和任务着陆顺序。

以下章节解释了如何配置 返航类型返航高度降落/抵达行为。 At the end there are sections explaining the default (preconfigured) behaviour for each vehicle type.

注解

  • This mode requires a global 3d position estimate (from GPS or inferred from a local position).
  • This mode is automatic - no user intervention is required to control the vehicle.
  • 遥控开关可以在任何无人机上更改飞行模式。
  • RC stick movement in a multicopter (or VTOL in multicopter mode) will by default change the vehicle to Position mode unless handling a critical battery failsafe.

# 返航类型(RTL_TYPE)

PX4 提供了四种替代方法( RTL_TYPE ),用于找到通向安全目的地和/或着陆的畅通路径:

  • 返航到起始位置/集结点RTL_TYPE=0): 上升到安全高度并通过直接路径返回到最近的集结点或起始地点。
  • Mission landing/rally point return (RTL_TYPE=1): Ascend to a safe altitude, fly direct to the closest destination other than home: rally point or start of mission landing. 如果未定义任务着陆点或集结点,请通过直接路径返回起始位置。
  • 任务路径返航RTL_TYPE=2):使用任务路径并快速继续执行任务着陆(如果已定义)。 如果未定义任务降落,则将快速回退到任务起始位置。 如果未定义任务,直接返航到起始位置(集结点将被忽略)。
  • 最近的安全目的地返航RTL_TYPE = 3):上升到安全高度并通过直接路径返回最近的目的地:起始位置,任务着陆点的开始位置或集结点。 如果目的地是飞行任务着陆模式,则按照该模式降落。

以下各节提供了每种类型的更详细说明。

# 起始位置/集结点返航类型(RTL_TYPE=0)

无人机在该返航类型中:

  • 爬升到一个安全的返航高度(高于任何可预期的障碍物)。
  • 通过直接路径飞往起始位置或集结点(以最近者为准)。
  • 降落或等待处于下降高度(取决于着陆参数)。

注解

If no rally points are defined, this is the same as a Return to Launch (RTL)/Return to Home (RTH).

# 任务着陆/集结点返航类型 (RTL_TYPE=1)

无人机在该返航类型中:

  • 爬升到一个安全的返航高度(高于任何可预期的障碍物)。
  • 通过直接路径飞行到一个集结点或任务着陆模式的起点(以最近者为准)。 如果未定义任务降落或集结点,无人机通过直接路径返回到起始位置。
  • 如果目的地是飞行任务着陆模式,则按照该模式降落。
  • 如果目的地是集结点或者起始位置,无人机将在降落高度(取决于着陆参数)降落或等待

注解

任务着陆模式包括 MAV_CMD_DO_LAND_START (opens new window),一个或多个位置航点和 MAV_CMD_NAV_LAND (opens new window)

注意

当此类型设置时,PX4 会拒绝任何没有有效着陆模式的任务。

# 任务路径返航类型(RTL_TYPE=2)

This return type uses the mission (if defined) to provide a safe return path, and the mission landing pattern (if defined) to provide landing behaviour. If there is a mission but no mission landing pattern, the mission is flown in reverse. 集结点,如果有的话,将被忽略。

注解

该行为相当复杂,因为它取决于飞行模式以及是否定义了任务和任务着陆。

Mission with landing pattern:

  • Mission mode: Mission is continued in "fast-forward mode" (jumps, delay and any other non-position commands ignored, loiter and other position waypoints converted to simple waypoints) and then lands.
  • 任务模式以外的自动模式:
    • 爬升到一个安全的返航高度 高于任何可预期的障碍物。
    • 直接飞到最近的航点(对固定翼而言,不是着陆航点),然后降落到航点高度。
    • 从该航点以快速模式继续执行任务。
  • 手动模式:
    • 爬升到一个安全的返航高度 高于任何可预期的障碍物。
    • 直接飞到降落序列位置并下降到航点高度。
    • 使用任务降落模式着陆。

Mission without landing pattern defined:

  • 任务模式:
    • 从上一个航点开始以“快退”(反向)飞行的任务
      • 跳,延迟和其他任何非定位命令都会被忽略,悬停和其他位置航点将转换为简单航点。
      • VTOL 无人机在反向飞行任务之前切换到固定翼模式(如果需要)。
    • 在到达航点1时,无人机会上升到返回高度并飞到原始位置(在该位置着陆或等待)。
  • 任务模式以外的自动模式:
    • 直接飞到最近的航点(对固定翼而言,不是着陆航点),然后降落到航点高度。
    • 反向执行任务,就像在任务模式中触发返航模式一样(上图)。
  • Manual modes: Fly directly to home location and land.

如果未定义任务,PX4 将直接飞回起始位置并着陆(集结点将被忽略)。

如果任务在返航模式期间发生更改,则将按照与上述相同的规则根据新任务重新评估行为(例如,如果新任务没有降落顺序并且你在一个任务中,则任务将被逆转)。

# 最近的安全目的地返回类型(RTL_TYPE=3)

无人机在该返航类型中:

  • 爬升到一个安全的返航高度(高于任何可预期的障碍物)。
  • 飞到最近目的地的直接路径:起始位置,任务着陆模式或集结点。
  • 如果目的地是飞行任务着陆模式,则按照该模式降落。
  • 如果目的地是起始位置或者集结点,无人机会下降到下降高度( RTL_DESCEND_ALT ),然后着陆或等待

# 返航高度

无人机通常会在返航之前首先上升到安全的高度,以躲避其与目的地之间的任何障碍。

注解

对于大多数 返航类型 来说都是如此。 例外是在任务内执行任务路径返回时,无人机遵循任务航点飞行(我们可以假定这些航点避开了障碍物)。

固定翼返回高度是使用参数 RTL_RETURN_ALT 配置的。 多旋翼和 VTOL 无人机的返航高度使用 RTL_RETURN_ALTRTL_CONE_ANG 来配置,这两个参数定义了一个以目标(起始位置或者安全点)为中心的半圆锥。

返航模式锥体

如果无人机是:

  • 高于RTL_RETURN_ALT (1),无人机将在当前高度返航。
  • 在圆锥下方,它将返回与圆锥(2)或 RTL_DESCEND_ALT (以较高者为准)相交的位置。
  • 在圆锥(3)之外,它将首先爬升,直到达到 RTL_RETURN_ALT
  • 在圆锥内:

注意:

  • 如果 RTL_CONE_ANG 为 0 度,则没有 "圆锥":
    • 无人机在RTL_RETURN_ALT的高度或者(或以上)返航。
  • 如果 RTL_CONE_ANG 是90度,无人机将更大程度在 RTL_DESCEND_ALT 的高度和当前高度返航。
  • 无人机总是会爬升到至少RTL_DESCEND_ALT的高度返航。

# 悬停/降落在目的地

除非执行任务着陆(例如,如果执行起始位置返航最安全目的地返航),无人机才会到达目的地,并迅速降落到RTL_DESCEND_ALT 高度。

无人机会在悬停一段指定的时间(RTL_LAND_DELAY)后降落。 如果 RTL_LAND_DELAY=-1 它将无限期悬停。

# 无人机默认行为

The mode is implemented in almost exactly the same way in all vehicle types (the exception being that fixed-wing vehicles will circle rather than hover when waiting), and are hence tuned using the same parameters.

However the default configuration is tailored to suit the vehicle type, as described below.

# 多旋翼(MC)

多旋翼默认使用起始位置返航(并使用一下配置):

# Fixed-wing (FW)

固定翼默认使用任务降落返航

  • 如果定义了任务降落,直接飞往任务降落起点,然后着陆。
  • 否则直接飞到起始位置,并在半径上方圆环 NAV_LOITER_RAD

If not following a mission landing, and RTL_LAND_DELAY is set to -1, the vehicle will land in the same way as Land mode.

The fixed-wing safe return altitude depends only on RTL_RETURN_ALT (the cone defined by RTL_CONE_ANG is not used)

遥控器摇杆操作被忽略。

# 垂直起降

VTOL 默认使用任务降落返航:

  • 如果定义了任务降落,直接飞往任务降落起点,然后着陆。
  • 否则直接飞向起始位置,切换到多旋翼模式,然后像多旋翼一样着陆。

注解

If not in a mission landing, a VTOL in FW mode will always transition back to MC just before landing (ignoring NAV_FORCE_VT).

# 参数

The RTL parameters are listed in Parameter Reference > Return Mode (and summarised below).

参数 描述
RTL_TYPE 返航机制(路径和目的地)。
0:通过直接路径返回到集结点或起始点(以最近者为准)。
1:返回到集结点或任务着陆模式的起点(以最近者为准),通过直接路径。 如果未定义任务着陆点或集结点,通过直接路径返回起始位置。 如果目的地是任务着陆模式,则按照该模式着陆。
2:如果定义了着陆模式,则使用任务路径快速着陆,否则快速返回起始位置。 忽略集结点。 如果没有定义任务规划,直接飞往起始位置。
3:通过直接路径返航到最近目的地:起始位置,任务降落起始点或者安全点。 如果目的地是飞行任务着陆模式,则按照该模式降落。
RTL_RETURN_ALT RTL_CONE_ANG为 0 时,返航高度以米为单位(默认:60 米)。 如果已经超过这个值, 飞机将返回当前的高度。
RTL_DESCEND_ALT 最小返航高度和无人机从较高的返航高度到减速或者停止的初始下降高度(默认: 30米)。
RTL_LAND_DELAY 着陆前在RTL_DESCEND_ALT高度悬停时间(默认: 0.5秒)- 默认情况下这个段时间很短,因此无人机智慧减速然后立即着陆。 如果设置为-1,系统将在 RTL_DESCEND_ALT 高度悬停而不是降落。 延迟能够使你为起落架的展开部署配置时间(自动触发)。
RTL_MIN_DIST 能够触发无人机上升到返航高度,距离起始位置的最小水平距离由那个"锥形"指定。 如果无人机在水平方向比这个相对于起始位置的距离更近,它将在当前高度或者在RTL_DESCEND_ALT高度(以较高者为准)返航,而不是先上升到RTL_RETURN_ALT)。
RTL_CONE_ANG 圆锥半角决定无人机的 RTL 返航高度。 数值(度数):0、25、45、65、80、90。 请注意,0 为“无圆锥”(始终返回RTL_RETURN_ALT或更高),而 90 则表示无人机必须在当前高度或在RTL_DESCEND_ALT高度(以较高者为准)返航。
COM_RC_OVERRIDE Controls whether stick movement on a multicopter (or VTOL in MC mode) causes a mode change to Position mode (except when vehicle is handling a critical battery failsafe). 可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。
COM_RC_STICK_OV The amount of stick movement that causes a transition to Position mode (if COM_RC_OVERRIDE is enabled).
NAV_LOITER_RAD [Fixed-wing Only] The radius of the loiter circle (at RTL_LAND_DELAY.