存档:查看 地理围栏 了解固件 4.1 及更高版本的信息

平面地理围栏

4.1 以前的 Plane 固件版本支持 "地理围栏"(Geo-Fencing),允许您在要飞行的区域周围设置虚拟 "围栏",指定为 GPS 位置的封闭多边形加上最低和最高高度。对于 4.1 及更高版本的固件,Plane 使用的是原点居中的圆柱形栅栏,请参见 圆柱形栅栏 和/或包容/排斥栅栏,见 包容和排斥栅栏.

备注

在 Plane 中,您必须绘制栅栏多边形才能使用地理围栏参数。在 Copter 中,您可以在不绘制栅栏多边形的情况下指定最大栅栏高度,Copter 也会遵守该高度,但在 Plane 中,您必须绘制多边形才能使用任何栅栏参数,包括最大/最小 ALT。

启用栅栏后,如果飞机飞出栅栏区域,就会切换到 "引导 "模式,飞回预先设定的返航点,并在那里等待您再次接管。然后,您可以使用发射机上的开关或地面控制站(GCS)中的命令来重新控制飞机。

../_images/geofence1.jpg

用于遥控飞行训练

地理围栏的主要用途之一是教自己(或其他人)驾驶无线电遥控飞机。有了正确配置的地理围栏后,飞机就很难坠毁,您可以尝试一些通常很可能导致坠毁的操作,相信 APM 会在飞行灾难发生之前将飞机 "弹 "出地理围栏。

地理围栏可与任何飞行模式相结合。因此,对于初学者来说,可以将其与其中一种稳定飞行模式(如 "稳定 "或 "FBWA")相结合。一旦飞行员有了一定的信心,就可以将其与 MANUAL(手动)模式结合使用,该模式可直接控制飞机,并允许进行最有趣的特技飞行动作。以这种方式使用时,(飞行)控制器完全不受您的影响,只是将控制权直接传递给舵机,只有当您超出围栏区域或超出规定的高度范围时才会进行控制。

用于密封

在完全自主运行期间,围栏可用作故障保护措施,以确保飞机保持在预定飞行区域内。在完全自主运行期间,使用 围栏自动启用 参数,飞机将在起飞完成后自动打开栅栏,并在到达着陆航点后自动关闭栅栏。设置 围栏自动启用 参数为 1 时才能使用该功能。有关设置着陆和起飞航点的详细信息,请参阅 利用航点和事件规划任务 page.

当然,栅栏也可用于半自主飞行任务(如手动起飞和/或着陆的任务)中的控制 - 在这种情况下,栅栏仍可通过遥控发射机或地面控制系统启用/禁用。 围栏自动启用 是可选的。

设置地理围栏

要在 Plane 中设置地理围栏,需要对几项内容进行配置:

  1. 围栏的边界,作为一组 GPS 点

  2. 对栅栏破损采取的行动

  3. 返回点的位置;注意,您可以选择使用 栅栏_ret_rally 参数,让飞机返回最近的 集结点 而不是栅栏返回点。

  4. 围栏区域的最低和最高高度

  5. 您将使用发射机上的哪个 RC 频道来启用地理围栏(如果有的话)

  6. 可选设置围栏自动启用) 当您想将栅栏配置为在自主起飞后自动启用和在自主着陆后自动禁用时

  7. 在围栏被破坏后,您想如何夺回控制权

这些都可以通过Mission Planner地面站进行设置。

在设置围栏边界时,您必须遵循一些规则:

  1. 回程点必须在围栏边界内

  2. 围栏边界必须完全封闭。这意味着它必须至少有 4 个点,且最后一个点必须与第一个点相同

  3. 边界最多有 18 个点

如果您使用 APM 规划器设置围栏,它将确保您遵守这些规则。

在划定栅栏边界时请记住,飞机撞上栅栏时会有一定的冲力,需要一定的时间才能转回返航点。对于 SkyWalker 这样的飞机,我们建议在您想要飞行的真实边界内增加 30 米左右的安全系数。最低飞行高度也是如此,您需要设定足够高的高度,以便 APM 有时间从快速俯冲中恢复过来。您需要多少余量取决于飞机的飞行特性。

除围栏边界外,以下 MAVLink 参数也可控制地理围栏行为:

  1. 栅栏行动 - 违反围栏时要采取的行动。默认值为 0,即禁用地理围栏。设为 1 则启用地理围栏,并在围栏被破坏时飞向返回点。设为 2 则向全球控制监视系统报告突破情况,但不采取任何其他行动。设置为 3 可让飞机在栅栏被突破时飞往返航点,但飞行员在这种情况下将保持手动油门控制。

  2. FENCE_ALT_MIN - 最小高度,单位为米。如果为零,则没有最低高度。

  3. FENCE_ALT_MAX - 最大高度(米)。如果该值为零,则不存在最大高度。

  4. FENCE_CHANNEL<FENCE_CHANNEL>; (4.1 之前的修订版)、 RCx_OPTION = 11 - 为启用地理围栏而观察的 RC 输入通道。默认值为 0,即禁用地理围栏。您应该将其设置为与发射机上的双位开关相连的备用 RC 输入通道。当该通道的 PWM 值超过 1750 时,将启用围栏功能。如果您的发射机支持此功能,最好还能在启用此通道时启用声音反馈(每隔几秒发出一声提示音),这样您就可以在不向下看的情况下知道是否启用了击剑功能。

  5. 栅栏总计 - 栅栏中的点数(返回点加上封闭边界)。这应该在您创建栅栏时由规划器为您设置。

  6. FENCE_RETALT - 飞机飞往返航点和在返航点位置悬停时的飞行高度(单位:米)。请注意,当 栅栏_ret_rally 设置为 1 时,该参数将被忽略,最近的 集结点 会被使用。如果该参数为零且 栅栏_ret_rally 的中点也为零。 FENCE_MAXALT`栅栏_MINALT 参数被用作返回高度。

  7. 围栏自动启用 - 如果设置为 1,飞机启动时将禁用栅栏。自主起飞完成后,栅栏将自动启用。当自主飞行任务到达着陆航点时,栅栏会自动关闭。

  8. 栅栏_ret_rally - 如果设置为 1,飞机将飞往最近的 集结点 而不是突破围栏时的围栏返回点。请注意,集结点的位置悬停高度被用作返回高度。

备注

集结点可以位于地理围栏之外,但不建议这样做。如果您在地理围栏外设置了集结点,则需要使用以下命令禁用地理围栏 栅栏 然后才能重新控制飞机,否则飞机将永远处于 "引导 "模式,在集结点上盘旋。一旦地理围栏被禁用,您应将飞机飞回地理围栏内,然后重新启用。

要充分利用地理围栏,一个额外的参数可能会很有用。当您突破栅栏时,飞机将切换到 "引导 "模式,并飞回返航点(或最近的集结点,如果 栅栏_ret_rally 已设置为 1)。一旦回到栅栏边界内,您就可以再次控制,但需要告诉 APM 您想要控制。您可以通过以下三种方式之一进行操作:

  1. 使用发射机上的模式开关更改模式,或通过Mission Planner地面站 GCS 更改模式(例如,从 "引导 "模式更改为 "自动 "模式)。

  2. 使用上述用于围栏控制的遥控通道设置,禁用和重新启用地理围栏。

  3. 设置 RST_SWITCH_CH MAVLink 参数与另一个连接弹簧开关的双位通道相连。该 RST_SWITCH 参数的默认值为零,即禁用该参数。如果将其设置为一个通道,则可以在栅栏被破坏后使用该通道开关收回控制权。

如果不是完全自主飞行,我发现使用 RST_SWITCH_CH 是地理围栏的最佳选择,因为它意味着 APM 在整个飞行过程中都启用了围栏功能,而且不会因为切换模式而改变行为。但它会占用另一个通道,因此有些人可能没有足够的通道来使用它。

设置围栏边界

APMPlanner

要设置栅栏边界,应使用 APM Planner 中的 "飞行计划器 "屏幕。

首先右键单击您想要的返回点位置,然后选择 "设置返回点位置"。返航点应位于飞行区域的中间位置,并且在您飞行时所站位置的可视范围内。

设置好返回点后,右键单击栅栏边界上的第一个点。选择 "绘制多边形 ->;

添加多边形点"。然后您就进入了多边形模式,您应该左键单击在围栏边界上添加每个点。规划器会自动完成多边形,将最后一个点与第一个点连接起来。

然后,您可以右键单击并选择上传地理围栏,将围栏边界发送到 APM。在上传之前,规划器会询问您围栏的最低和最高高度(以米为单位)。您还可以将围栏保存到文件中,以便日后加载。

Mission Planner地面站

Mission Planner地面站也遵循非常相似的流程。首先右键单击要开始地理围栏边界的位置。

./_images/MPRightClickDrawPolygon.jpg

添加多边形点

继续点击地图上需要地理围栏边界的位置,多边形就会出现。您可以拖动任何需要调整的点。然后在地图上点击右键,当地理围栏被破坏时,您希望飞机返回到哪里。

./_images/MPRightClickGeofenceSetRTL.jpg

地理围栏设置 返回位置

最后上传地理围栏。

./_images/MPRightClickGeofenceUpload.jpg

上传地理围栏

返回点的高度

如果设置 栅栏_ret_rally 参数为 1,则返回高度将为 与最近的集结点的停机高度相同.如果 栅栏_ret_rally 如果设置为 0,则可以用 FENCE_RETALT 参数。 否则:

如果您设置 栅栏_MINALTFENCE_MAXALT 为零(并且 FENCE_MAXALT 大于 FENCE_MINALT),那么返回点的高度将是 FENCE_MINALT 和 FENCE_MINALT 之间的一半。 栅栏_MINALTFENCE_MAXALT.

如果不设置 栅栏_MINALTFENCE_MAXALT (即让它们保持为零),那么返回点的高度将由 RTL_ALTITUDE 参数,该参数也用于 RTL 模式。请注意 RTL_ALTITUDE 的单位是厘米,而 栅栏_MINALTFENCE_MAXALT 以米为单位。

如果您所在的飞行俱乐部和当地的飞行规则没有规定最大飞行高度,那么我们建议您使用最多 122 米(约 400 英尺)的最大飞行高度。超过这个高度就很难与您的模型保持良好的视线接触。

栅栏_MINALT 设置在 30 米处(以便有一定的下潜动力)和 FENCE_MAXALT 设置为 122 米时,返航点将是 76 米,这是一个很好的高度,可以让飞机在准备再次起飞时位置悬停。

栅栏破损处的棍棒搅拌

在自动模式下,ArduPilot 默认启用 "摇杆混合 "功能。例如,这意味着您可以使用发射器摇杆来改变位置悬停的路径。

使用地理围栏时,在您的飞机回到围栏区域内之前,突破围栏时的摇杆混合将被禁用。这是为了确保导致您冲破栅栏的不良控制输入不会阻止飞机恢复到返回点。

当您回到栅栏内时,摇杆混合将重新启用,您可以控制飞机的引导模式。如果您使用摇杆混合再次将飞机带出栅栏,那么摇杆混合将再次被禁用,直到您回到栅栏内。

使用地理围栏飞行的技巧

在地面和起飞时,应禁用地理围栏。小心不要在地面上启用,因为它可能会宣布突破栅栏并试图飞往返回点。如果完全自主飞行,您可以使用 围栏自动启用 参数来帮助解决这一复杂问题。

还要记得在着陆时禁用它,因为当你着陆时,高度突破会让你很难着陆!

如果您使用的是 APM1 并希望将地理围栏与 MANUAL(手动)模式相结合,那么请记住,在 APM1 上,当使用通道 8 进行模式切换且开关 PWM 通道值超过 1750 时,APM 软件将被绕过(在 APM1 上这被称为 "硬件手动")。因此,您需要将不同的开关位置设置为 MANUAL(手动),或者使用不同的模式开关控制通道(并设置 FLTMODE_CH 到您正在使用的频道)。

在使用地理围栏起飞和飞行之前,请确保所有参数都已按上述方法设置,并确保 GPS 锁定良好。如果失去 GPS 锁定,地理围栏将自动关闭,直到 GPS 重新锁定为止,因此如果 GPS 信号不佳,请不要使用地理围栏。

我还建议您先轻轻地测试一下。试着慢慢接近栅栏边界,确保它能正确地从虚拟墙壁上 "反弹 "并顺利返回到返航点。然后再次控制飞机,试着慢慢接近最低高度,确保飞机从虚拟墙壁上弹起。 栅栏_MINALT 您已设置。

在开发地理围栏的过程中,我发现将其与手动模式相结合是最有趣的。它能让你体验到手动飞行的所有刺激,包括急转弯和花式特技,同时还能在你犯错时挽救你的飞机。

飞行示例

这是我在当地飞行俱乐部驾驶 !SkyWalker 时启用地理围栏后的飞行轨迹。白线表示地理围栏的边界,另外您还可以看到中间的返航点。您还可以看到飞机在北面、西面和南面突破地理围栏的点。此外,还有许多高度突破,因为我想通过这次飞行来提高我在 MANUAL 模式下的倒立飞行技能。如果没有地理围栏,飞机是不可能存活下来的!

../_images/geofence-CMAC1.jpg

请注意,本例中的地理围栏是沿着跑道中间设置的。这是为了符合当地俱乐部的规定。起飞和着陆都是在禁用栅栏的情况下进行的。我 栅栏 设置为 7,以及 RST_SWITCH_CH 设置为 6。这样,我就可以在起飞后使用一个开关启用栅栏,然后在突破后使用弹簧式教练机开关收回控制权。

备注

在固件 4.1 及更高版本中、 栅栏 改为设置通道的 RCx_OPTION 至 208,以及 RST_SWITCH_CH 改为设置通道的 RCx_OPTION 至 96。

高级功能

Plane 中的地理围栏也可作为故障安全系统的一部分,用于像内陆挑战赛(Outback Challenge)这样的比赛。对于这些类型的比赛,您应该像往常一样定义围栏边界,但在构建 APM 时还应在以下选项中设置 FENCE_TRIGGERED_PIN APM_Config.h.该选项允许您在 APM 上设置一个数字引脚,当栅栏被突破时,该引脚将变为高电平。您可以将该引脚连接到飞机的故障安全设备上,以触发飞机的故障安全模式(在 OBC 竞赛中,需要设置极高的伺服值,使飞机俯冲入地)。