地理围栏¶
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 设置为使所有内含区都成为联合集。
围栏破坏行动¶
如果启用,栅栏边界或高度(FENCE_ALT_MAX 和 FENCE_ALT_MIN)(如果非零)被超出,Plane 将执行 栅栏行动 下图
栅栏行动 |
固定翼飞行器 |
---|---|
0 |
仅限报告 |
1 |
RTL |
6 |
向导带您前往返回点 |
7 |
通过先导节流阀控制引导返回点 |
返回(和滞留)点,除非 栅栏_ret_rally 是被破坏栅栏边界的几何中心。如果 栅栏行动 设置为引导返回模式(6 或 7)时,其返回高度由以下参数决定 FENCE_RET_ALT 或者 FENCE_RET_ALT 为零,如果不为零,则在高度限值的中间。如果两个高度限值都为零,则将以当前高度返回。
返回点也可以用最近的集结点代替(见: 集结点) 作为目的地,如果 栅栏_ret_rally 已启用。
备注
在执行任何需要更改模式的操作时(即除 "仅报告 "外的所有操作),任何额外的栅栏突破都会被记录下来,但会被忽略。例如,具有自动着陆功能的 RTL 会突破 MIN_ALT 栅栏(如果启用),但不会采取任何行动并完成着陆。
模式更改不能在栅栏破坏后执行,除非 FENCE_OPTIONS 第 0 位设置为 "0"。默认设置为 "1",以防止模式更改。设置后,载具必须返回到栅栏边界内才能更改模式。如果允许更改模式,则还可以使用设置为选项 "96"(重读模式开关)的 RC 辅助开关,返回到突破时激活的模式。
使用 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 应用程序可能会支持交互式启用和禁用地理围栏,而无需使用手动发射器。