围栏¶
ArduPilot 支持基于本机的圆柱形("TinCan")和多边形和/或圆柱形、包容和/或排除区域。在Mission Planner地面站中的计划屏幕下,可以轻松定义包容和排斥栅栏,并使用下拉框中的栅栏项目将其加载到(飞行)控制器中,就像计划任务或集结点一样。
有些飞行器还有最大和/或最小高度限制。某些飞行模式会尝试自动防止超过这些限制,如果超过限制,所有模式下都会宣布违反围栏规定。
一旦栅栏被破坏,就会采取可选择的行动。
常规设置¶
设置 FENCE_ENABLE = 1 可启用围栏。这将启用任何已设置的栅栏,但 ALT_MIN 栅栏除外,该栅栏必须通过任何栅栏启用方式(GCS 信息、平面内的自动启用、RC 开关)启用。
设置 FENCE_OPTIONS 设为 "1 "可防止在栅栏被突破后更改模式,直到载具返回栅栏边界内(仅限平面,旋翼飞行器/漫游车在被突破时不允许更改模式)。
设置 FENCE_ALT_MAX = 到您想要的高度限制(以米为单位)。这在UGV无人车中是不可用的。
设置 栅栏 = 载具必须与围栏水平边界保持的距离,以防止突破。
设置 FENCE_ALT_MIN 作为最小高度突破边界。
设置 围栏自动启用 =(仅平面),以便自动启用栅栏(不同于 FENCE_ENABLE) 在某些载具条件下,例如上膛或起飞时。如果值为 0,则禁用此功能。 FENCE_ENABLE 如果启用了此功能,则会忽略"......"。
栅栏_ret_rally 允许返回最近的 RALLY 点(请参阅: 集结点)(如果已加载),而不是 HOME。
设置 栅栏类型 = 是一个位图设置,用于启用各种栅栏类型:MIN 或 MAX 高度、围绕 "家 "的简单 CIRCLE 锡罐或 POLYGON 栅栏。POLYGON 栅栏还必须通过地面控制站的栅栏列表加载才能激活。具体设置见下文。 圆柱形栅栏 和 包容和排斥栅栏.
备注
多边形围栏类型包括包含/排除围栏列表中指定的圆形围栏。以家庭为中心的简单 CIRCLE 栅栏是一种独立的栅栏。如果设置了高度,Rover 会忽略高度。
默认值为 栅栏类型 是
UGV无人车圆环和多边形
旋翼飞行器ALT MAX、CIRCLE 和 POLYGON
飞机多边形
详细设置¶
围栏类型¶
栅栏类型 |
|
飞机 |
COPTER |
罗孚 |
---|---|---|---|---|
|
0 |
X |
X |
|
|
1 |
X |
X |
X |
|
2 |
X |
X |
X |
|
3 |
X |
备注
如果 栅栏类型 =2 个包容区重叠,即使在另一个包容区内,在跨越边界时也会发生栅栏破损,除非 FENCE_OPTIONS 位 1 设置为使所有内含区都成为联合集。
围栏破坏行动¶
UGV无人车行动¶
UGV无人车没有高度动作,但如果在转向或 Acro 模式下到达圆柱形栅栏边界,它就会直接停止,不再移动。在其他模式下,它会执行 栅栏行动.
旋翼飞行器行动¶
旋翼飞行器将在 FENCE_ALT_MAX 在 Loiter、PosHold 和 AltHold 模式下。
在 Loiter 模式下,它会尽量停在水平边界上,但如果超过边界就会宣布突破。
在其他模式下,它会执行 栅栏行动 如果达到该高度或边界,则在下方显示。
栅栏行动 |
旋翼飞行器 |
无人车UGV |
---|---|---|
0 |
仅限报告 |
|
1 |
RTL/LAND |
RTL/HOLD |
2 |
土地 |
保持 |
3 |
SmartRTL/RTL/LAND |
智能 RTL/RTL/HOLD |
4 |
制动器/土地 |
SmartRTL/HOLD |
5 |
SmartRTL 或 LAND |
不适用 |
备注
RTL/HOLD 等意味着它将首先尝试 RTL,但如果无法切换到该模式(即 RTL 时 GPS 锁定丢失),它将尝试切换到下一模式,在本例中为 HOLD。
如果 物体回避 设置后,RTL 动作在返回时会试图避开任何栅栏。
当栅栏被突破时,会在 20 米外(或上方)竖起一道备用栅栏。如果飞行器突破了后备栅栏(例如,飞行器设置不正确或操作员控制了飞行器但无法将其带回原点),飞行器将执行 栅栏行动 如果再次被突破,还将在 20 米之外再建一道备用围栏)。
如果尽管有后备栅栏,但载具最终仍在配置的栅栏距离外行驶了 100 米,载具就会切换到 "陆地 "模式("UGV无人车 "模式为 "保持")。这样做的目的是让飞行器回家显然是不可能的,因此最好将其降落/停止。当然,驾驶员仍然可以通过飞行模式开关重新获得控制权。与之前的栅栏一样,在 20 米外还会竖起另一道栅栏,如果飞行器继续远离原点,这道栅栏会再次将飞行器切换到 "降落 "模式(UGV无人车保持)。
使用 RC 通道辅助开关启用栅栏¶
启用或禁用围栏不需要设置开关,但如果您希望用开关控制围栏,请按照以下步骤操作:
一个 RCx_OPTION
可以通过 "配置/飞行稳定调整> 完整参数列表 "屏幕进行设置,例如使用 RC 通道 7:
设置 RC7_OPTION = 11(围栏启用)
将开关设置为高电平(即 PWM > 1800)将启用栅栏,低电平(低于 1800)将禁用栅栏。
自动高度规避¶
对于 Copter 和 Plane 中的着陆模式(NAV_LAND、QLAND、LAND 等),"... FENCE_ALT_MIN 限制将自动禁用。
[维基站点="旋翼飞行器"]
对于多边形围栏,旋翼飞行器会在以下位置停止增加高度 FENCE_ALT_MAX 在 Loiter、PosHold 和 AltHold 模式下。[/site] [wiki site="plane"] (维基站点="飞机")
在 FBWB 或 CRUISE 模式下,飞机将尝试限制飞行员的高度目标变化(即使用变距杆进行爬升/下降率需求输入),以避免突破最大或最小高度栅栏。[/site]
备注
高度控制不完善仍可能导致违约,除非 栅栏 参数足够宽松,可以容纳这些瑕疵。
在Mission Planner地面站中启用围栏¶
要启用栅栏,请转到Mission Planner地面站完整参数列表(CONFIG->完整参数树),搜索带有 栅栏_
:
[维基站点="旋翼飞行器"]
旋翼飞行器地理围栏选项卡¶
Copter 和 Traditional Heli 与Mission Planner地面站连接后,会出现一个名为 GeoFence 的 CONFIG 选项卡,提供了在这些飞行器中访问这些参数的另一种方式。
[/site]
用于遥控飞行训练¶
地理围栏的主要用途之一是教自己(或其他人)驾驶无线电遥控飞行器。有了正确配置的地理围栏,就很难发生坠机事故,您可以尝试一些通常很可能导致坠机的操作,相信(飞行)控制器会在飞行灾难结束前将飞行器 "弹出 "地理围栏。
地理围栏可与任何飞行模式相结合。因此,对于初学者来说,可以将其与其中一种稳定飞行模式相结合。一旦飞行员有了一定的信心,就可以将其与 Copter 的 ACRO 模式或 Plane 的 MANUAL 模式相结合,这样就可以直接控制飞行器,做出最有趣的特技飞行动作。
[维基站点="平面"]
栅栏破损处的棍棒搅拌¶
在自动模式下,ArduPilot 默认启用 "摇杆混合 "功能。例如,这意味着您可以使用发射器摇杆来改变位置悬停的路径。
使用地理围栏时,在您的飞机回到围栏区域内之前,突破围栏时的摇杆混合将被禁用。这是为了确保导致您冲破栅栏的不良控制输入不会阻止飞机恢复到返回点。
当您回到栅栏内时,摇杆混合将重新启用,您可以控制飞机的引导模式。如果您使用摇杆混合再次将飞机带出栅栏,那么摇杆混合将再次被禁用,直到您回到栅栏内。
[/site]
支持 MAVLink¶
ArduPilot 将通过 MAVLink GCS 协议报告围栏状态。关键状态数据包称为 FENCE_STATUS,定义在 "ardupilotmega.xml "中。典型的 FENCE_STATUS 数据包如下所示:
2011-12-20 16:36:35.60: FENCE_STATUS 违约状态 : 1, 违反次数 : 15, 违反类型 : 1, 违反时间 : 1706506
如果在围栏内,则 breach_status 字段为 0;如果在围栏外,则为 1。breach_count 字段表示您在本次飞行中违反围栏的次数。breach_type 是最后一次突破的类型(请参阅 ardupilotmega.xml 中的 FENCE_BREACH 枚举)。breach_time 是 APM 启动后发生违规的时间(以毫秒为单位)。
SYS_STATUS 信息中 MAV_SYS_STATUS_SENSOR 部分的 MAV_SYS_STATUS_GEOFENCE 位表示地理围栏是否被突破。目前只有 MAVProxy GCS 能够识别该状态位并报告地理围栏的状态。今后,Mission Planner地面站、APM 规划器和其他 GCS 应用程序都将支持在飞行过程中公布地理围栏状态。
MAV_CMD_DO_FENCE_ENABLE MAVLink 命令信息允许 GCS 以交互方式启用或禁用围栏。目前只有 MAVProxy 使用 "启用围栏 "或 "禁用围栏 "命令支持该消息。未来,Mission Planner地面站、APM 规划器和其他 GCS 应用程序可能会支持交互式启用和禁用地理围栏,而无需使用手动发射器。