了解 ArduPilot 中的高度

ArduPilot 文档中经常使用 "高度 "一词,而且使用方式和语境各不相同。并非所有的 "高度 "都有相同的含义,而充分理解高度在任何特定上下文中的含义对于理解预期操作和行为非常重要。

../_images/altitudes.jpg

备注

原点和原点是在地面初始化时由 GPS 设置的,通常是同一个位置,但用户可以在飞行过程中通过Mission Planner地面站移动原点位置(用于不同的 RTL 点),但原点始终保持不变,除非有意重置。

海拔高度 (ALT) 的定义

上图显示了各种类型的 "高度":

  • ASL:(平均)海平面以上的高度--以世界平均海平面以上距离表示的飞行器高度。

  • AGL:地面以上高度:飞行器高于其正下方的高度。

  • 相对高度:相对高度: 相对于 "原点"/"起始点 "位置高度的相对高度。这就是地面站和 OSD 显示的飞行器高度。

  • 地形高度(Terrain ALT):地形位置的海拔高度(asl)。有时,但并不总是包括对地形地面高度的任何自然或人为增加。

  • 估计高度:(飞行)控制器对飞行器相对高度的估计值,飞行器高度控制器在内部使用该估计值,以在高度控制模式(飞机:FBWB/AUTO/GUIDED/CRUISE/LOITER/CIRCLE)下保持或获得目标高度(ALT),旋翼飞行器:ALTHOLD/CIRCLE/LOITER/GUIDED/AUTO/CRUISE/LOITER/CIRCLE)下保持或获得目标高度(ALT):ALTHOLD/CIRCLE/LOITER/GUIDO/AUTO/漂移)

  • 目标高度:高度控制模式下的期望高度。可由飞行员输入(如 ALTHOLD)或由导航控制器输入(如 AUTO)。

估计和目标 ALT

../_images/altitude-control.jpg

上图显示了 ArduPilot 如何实现高度控制。

EKF 子系统负责为飞行器生成姿态、速度、位置和高度估计值,以便导航系统和控制系统能够正常运行。EKF 接收 IMU、GPS 和 BARO 传感器的输入,并对它们进行整合,以提供这些估计值,其中之一就是估计 ALT。

然后将其输入飞行器的高度控制系统,该系统会尝试在高度控制模式下与目标高度梯度相匹配。

根据飞行器模式的不同,目标 ALT 可以来自多个不同来源。例如,在飞机的 FBWB 模式下,俯仰摇杆会增大或减小目标 ALT,而在自动模式下,当导航到一个航点时,导航控制器会在向航点前进的过程中提供不同的目标 ALT 斜坡,以达到该航点的新高度(如果与前一个航点的高度不同)。

在高度控制器中,目标高度值也可以通过 GCS 或 SD 卡中的地形数据进行修改,如果 TERRAIN_ENABLE 和/或测距仪高度读数(如果启用且在测距仪范围内)。请注意,在这两种情况下,只要 EKF 正常工作,GCS HUD 或 OSD 中显示的高度都是 "估计高度"(否则将使用相对于 "本点 "的 "BARO "高度)。

备注

有时,在地面初始化过程中,在 EKF 设置原点位置之前会显示 GPS ASL 高度。

使用 RangeFinder (RF) 修改目标 ALT

旋翼飞行器

如果启用了向下的测距仪,并且在测距范围内,那么在旋翼飞行器和飞机的 VTOL 模式下,目标 ALT 将被修改为使用 RF 的高度测量值。

例如,您在 Copter 中处于 ALTHOLD 状态,在 30 米处盘旋,超出了测距仪的范围。目标 ALT 已设置为当前的估计 ALT,并将尝试保持它。现在,您使用节流杆下降到 10 米处,并已进入射频范围。当您松开油门杆时,目标高度将被设置为 RF 报告的高度。估计高度仍用于调整控制输出。

如果将载具移至 1 米高的地面物体上方。估计 ALT 将保持不变,因为它基于 BARO、GPS ALT 等,但目标 ALT 将增加 100 米,因为射频读数显示距离地面的距离减少了 100 米。射频高度的任何变化都会立即反映在目标 ALT 上,因此如果精确度较低的估计 ALT 稍有误差,射频就会立即通过目标 ALT 调整来消除误差,从而实现更精确的高度控制。

如果射频测量值变化太快(3 次报告变化 2 米),或者射频超出量程,则将忽略这些测量值,并将 "估计高度 "中的当前高度设为新的 "目标高度"。这样就可以防止在射频数据快速移动的情况下快速爬升/下降。这也意味着,需要快速大幅变化的跟踪(如快速接近高大物体)可能会导致撞击。参见 物体回避 在这些情况下。

这就是 表面跟踪 在 ArduPilot 中。

作为选项(通常只建议在室内使用),射频可用作 EKF 的附加传感器源,用于高度估计。通常只有在射频是唯一可用的高度传感器时才会使用,因为射频的范围非常有限,而且更容易受到环境对精度的影响。

固定翼飞行器

在 "平面 "中,使用固定翼模式时,在射程范围内使用测距仪并由 RNGFND_LANDING 参数,仅限于

  • 期间调整滑行坡度 自动降落在着陆的进场阶段和闪耀前阶段。

  • 确定高度时 LGR_DEPLOY_ALTlgr_retract_alt 如果向下发射的射频处于激活状态且在射程内,则会达到"......"。

  • 何时 q_land_final_alt 在 QuadPlane 中的 VTOL 着陆中,如果激活了向下的 RF,则会达到该值。

  • 确定是否低于 Q_ASSIST_ALT.

  • 确定是否低于 Q_VFWD_ALT.

利用地形跟踪数据修改目标 ALT

如果启用并激活了地形跟踪功能,则会根据载具和模式的不同,利用地形高度变化来增加或减少当前位置的目标高度值。详情请参阅 地形跟踪 为平面或 地形跟踪(在自动、引导等模式下) 代表 Copter。

对于 Copter,这可以与 RangeFinder 结合使用,以获得 表面跟踪 在低空飞越障碍物。