apm飞行操作 - 图文

更新时间:2023-11-14 14:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

001--APM开机和校准 首次飞行检查列表

下面是在飞场的一些基本检查: 地面校准

将你的发射器模式设为\手动\。这是启动系统的安全模式,它允许系统通过摆动舵机来指示它们的状态。地面启动时将有一系列的舵机摆动(开始时第一次,中途第二次,结束时第三次)

当你在飞场启动飞控时,你应当将飞机*尽可能水平*(飞行姿态,所以如果尾巴是拖着的,抬起尾巴)放置在地面上,保持静止不动,直至三个彩色LED停止闪烁(大约30秒)。这意味着陀螺仪已经完成校准,飞机可以起飞了(假设GPS已经锁定)。如果你的飞机尾部擦地,那么应该在校准时将尾部抬起至平飞状态。 在地面启动结束之后,你还要等待 GPS 锁定才能飞行。如果你没有等到 GPS 锁定,那么返航位置将设置错误,并且气压高度计校准也将错误。通常应该在2分钟之内锁定。如果你使用 MediaTek 模块,模块上的蓝色的LED会在等待锁定过程中闪烁,在锁定后常亮。在这之后,APM 上的红色LED将停止闪烁并保持常亮。如果 MediaTek 上的蓝色 LED 常亮,而 APM 上的红色 LED 却一直闪烁,按下 APM 上的重启按钮。在重启之后,红色 LED 应该保持常亮。

每次飞行前: 起飞之前,将飞机拿在手中,切换到增稳模式,然后前后左右倾斜飞机,确认控制翼面正确摆动(让飞机返回水平飞行)。这将确保你没有意外的移动拨动开关到错误位置,否则舵机将反向。在每次飞行之前都应该检查一遍,就像你用发射器检查所有的控制翼面一样。 没有做该检查是炸机的头号原因。 第一次飞行

强烈建议你切换到增稳模式或线操纵飞行模式,观察控制翼面的行为。在你俯仰或侧倾时,翼面应该让飞机回到水平。

除非你根据你的飞机调整了配置参数,否则不建议使用除手动飞行之外的任何飞行模式。 第二次飞行

第二次飞行时, 使用 CLI 将第三飞行模式 (遥控上模式开关的第3个位置)设为自动返航模式(RTL)。

这将测试导航功能。飞机将回到你的位置,以固定高度盘旋(盘旋高度可以使用任务规划器设置)。

该测试完成之后,你就可以编辑航点命令,并用自动飞行模式来测试。

手动置平选项

如果你有一个\拖尾\的飞机,或者你在不平坦的地形飞行,有时很难再启动时将飞机水平放置。截至 ArduPlane2.32 你能通过使用 MANUAL_LEVEL 选项避免水平放置的要求。

如果 MANUAL_LEVEL 设置为零(这是默认的),那么 APM 将在每次启动时校准加速度计。在这种情况下,你需要确保飞机尽可能接近水平。

如果 MANUAL_LEVEL 设置为 1,那么它不会在开机校准加速度,而会使用它最后一次校准值。所以你校准一次,然后把 MANUAL_LEVEL 设置为 1, 跳过每次启动时找平面的操作。

在启动时你仍然尽可能保持飞机静止,因为陀螺仪校准仍然是非常重要的。但飞机是否水平并不重要。

002-调整 ArduPlane 根据飞机进行调整

使用默认的PID设置,APM就可以直接飞大多数飞机。但是要想飞得很好,导航准确,风中也有可靠的性能,你还是需要调整一下自家仪。 调整PID的最简单的方法是用任务规划器中的PID设置界面:

在这个界面你可以加载和保存配置文件。在这里我们已经提供了一些常用的飞机的配置文件。但是如果你用的飞机没有在列表中,下面是推荐的调整过程的简要说明:

下面是我们推荐的调整步骤:

1. 用手动模式飞行,确保所有部件连接无误。

2. 在地面上检查增稳模式。如果你左右倾斜飞机,你可以看到副翼(或3通机

的方向舵)相应转动,以使机器恢复水平。如果你前后倾斜飞机,你可以看到升降舵相应转动进行修正。如果你用的是4通飞机,那么方向舵将与副翼同方向反应。如果不正确的话,改变 REVERSE_ROLL, REVERSE_PITCH 和 REVERSE_RUDDER 进行相应调整。 3. 以增稳模式飞行,检查在飞机倾斜时,飞控是否真的将飞机恢复到水平飞行

状态。如果飞机前后或左右摇摆,减少 P 增益 (见下文)。

4. 以线控模式 (A 或 B)飞行, 检查俯仰和侧倾。飞机应当保持设置的高度。

发射器摇杆位置直接设置倾斜角度。以水平直线飞行开始,然后将摇杆移到一端,飞机应该侧倾45度,完成这次转弯。 如果不稳定,减小 5-1 (\SERVO_ROLL_P .006\如果太慢,则增加该值。在俯仰方向(上和下)重复以上操作。如果还不太正常,查看设置中的 HEAD_MAX, PITCH_MAX 和 PITCH_MIN。如果你将操纵杆移到最右边,飞机应该侧倾(并保持) HEAD_MAX 角度。飞机是否如此?如果确实如此,慢慢增加侧倾舵机 P 增益。如果它左右摇晃则减小该增益。类似的调整俯仰。调整的目的是让飞机干脆地响应

俯仰和侧倾的输入。一直如此调整,不要担心其他增益,直至你轻弹摇杆并保持,飞机像手动飞行模式一样快速响应。通常只需要调整 P 增益,但有些飞机需要 I 增益来保持倾斜角度。

5. 现在, 仍然在线操纵模式,放开操纵杆,观察飞机是否保持高度。 如果飞

机下降,增加 6-5 (\PITCH_COMP .10\。 你应该能够以 HEAD_MAX 角度倾斜转弯,而不增加也不降低高度。

6. 现在尝试返航模式。飞机应该飞回到你这里。如果它飞走了,将 7-1

(\增加 25%。如果它还不回来,增加 7-2 (\NAV_ROLL_I .0\。 反之,如果飞机回来了,但一直摇摆,减少 7-1。如果还不够,增加 4-4 (\7. 最后,值得注意的是如果你大幅度改变巡航速度,你可能需要重新调整增益。

因此如果你在1/3油门测试,但是希望全油门飞行,你可能发现问题又出现了。最好是在你通常飞行的油门设定下进行测试。 调整导航的特别建议

假设你的飞机稳定良好,但似乎在航点之间或返航时“蛇”行,或者更差劲的顺风飞行,根本不能到达航点。怎么办呢?

上面的指导应该可以帮助你,但这里有一些特别提示:

1. 测试的最好方法是用四航点框。这个框应该足够大,以便飞机能够显示它

的模式,但是也别太大,以便在出问题的时候还能手动控制飞回来。 2. 开始时将 NAV_ROLL I 、D 项和偏航矩增益(Crosstrack Gain)都设为 0,

以便一次调整一项。

3. 第一个要检查的是 SERVO_ROLL_P。你完成了 45 度线控 (FBW) 测试吗?

你飞机导航不好可能的原因是舵机权力(authority)不够,需要调高一些。 唯一能够确定的方法就是 FBW 测试.

4. 如果你已经调好了 SERVO_ROLL_P, 在四航点航线上检查 NAV_ROLL_P。如

果飞机缺少导航权力, 增加一点; 如果飞机蛇形,减少一点。 5. 上述应该可以让你的飞机不错地跟踪航点。跟踪航线最后要做的事就是调

整偏航矩增益(Crosstrack gain)。它的作用是把飞机拉回到航点之间的连线上,而不是直接朝下一个航点飞行。下面的图展示了偏航矩修正的作用:

当增益为 0 时,飞机按红线飞行。当增益调高 (默认值 100),飞机回接近蓝线飞行。如果飞机跟踪航线时摆动,把 XTRACK_GAIN 从默认值 100 减小一点。飞机越快,这个值应该越小。要完全忽略航线,仅仅朝下一个航点直线飞行,把该值减小到 0,这时剩下的蛇行仅由 Nav_Roll 和 Roll 影响。 一个偏航矩调整的交互指南在这里. 关于 PID 循环的更多知识

PID 可以看作是根据“过去,现在,未来”的数据来控制。

比例增益(P)是最简单的控制方式,它是“目前”的偏差。自动驾驶仪要 10 度的仰角,但现在只有 5 度,那么误差就是 5:改变一些升降舵。 (改变量由误差量决定,并根据 P 进行缩放)。过去的数据(“I”)考虑到最近发生的误差。如果比例增益不能驱动控制面消除误差,那么“I”的增益会尝试这样做。 未来(“D”)根据目前误差(不是用水晶球)推断未来一段时期误差。我们选择控制输入,试图阻止预测(未来)的变化。

运用于飞机控制面,或油门的最终控制是这三个计算的和。

调整P,PI 或 PID 值,可以改善消除预期姿态(仰角,速度,朝向,等等)和实际姿态之间的观测误差的速度,并消除过分的振荡。

幸运的是,默认PID值对直飞、转弯,操作油门和导航还干得不错,因此,如果在除手动外的第一种模式(稳定),你看到疯狂的反应,它可能不是微调P(或I或D)值就能解决得了的。

查看的PID的最好的办法是在模拟器上设置。在稳定模式下直线水平飞行,然后将飞机机头抬起再释放摇杆。升降舵的 PID 设置里的 P 项将决定升降舵反应的质量和强度。它可能是强烈但过冲;或过慢,也许是“永远达不到”。 “I”值可以加快仰角恢复水平的速度。最后,在“D”项将对控制所固有的延迟做出反

应,并进一步提高了反应。但是,如果“D”太大,仰角上会出现振荡,并越来越大。这就是为什么不建议在空中挑选随机数调整“D”值。 一点理论知识

(Doug Weibel提供)

APM 基于级联的 PID 控制器。导航控制循环根据飞机当前方向和目标点计算预期的倾斜角度。导航增益会影响这个角度的计算。例如,如果我们偏离航线 10 度,则某个侧倾导航 P 增益将产生一个 5 度的侧倾角,而如果将该增益翻倍,那么将产生 10 度侧倾角。第二个控制循环控制舵机减小预期的侧倾角和实际的侧倾角之间的误差。我之所以推荐在线控飞行模式下调整这些增益,是因为在该模式下,你可以通过操纵杆的位置直接输入预期的倾角,而与不受底层的导航控制循环影响。

由于串联控制循环的性质,增益和最终结果之间存在一个数学关系。但是使用这个串联控制的目的是让它更加直观和易于理解。先调整正确的舵机增益,使系统能够得到期望的侧倾角和俯仰角,然后再调整导航增益,使系统的导航性能最优化。以这个顺序调整更简单也更有效。

APM Mission Planner

APM 任务规划器可以用来做大多数 APM 设置、规划任务,也包括了一个非常好的地面站。

任务规划

说明

你可以输入航点和其他命令(参见下面的完整列表)。在每行的下拉菜单中,选择需要的命令。列的标题将自动改变,提示需要的数据。经度和纬度可以通过在地图上点击来输入。高度是相对于你的起飞地点的相对值,也就是说,如果你设为100m,它就在你上方100m处飞行。 注意,如果选上了“绝对高度(Absolute Alt)”复选框,高度值将使用海拔高度,而不是相对于起飞位置的高度。如果没选上,ALT就是相对高度。

Default Alt 是输入新的航点时的默认高度。如果你选择了\,那么它也是返航模式时的高度;否则飞机将保持切换到返航模式时的高度。

Verify height 意味着任务规划器将使用 Google Earth 地理数据,根据每个航点下地面高度调整飞行高度。因此如果你的航点在山上,选择该选项时,任务规划器将根据山的高度增加飞行高度设置。这是一个保证不撞山的好办法!

当你完成任务设计后,点击“Write”按钮,它将发送给 APM 并保存在存储器中。如果你想确认它是否是你所需要的,点击 “Read”按钮。

你可以将任务保存到本地硬盘中。点击“Save WP File”按钮写入,读取文件则点击“Load WP File”按钮。

基本航点命令

任务文件看起来有点吓人,但却是自驾仪的一种强大的脚本语言。(记住地面站很快将为你处理这一切,很快你就不需要看到这些东西了!)。

你可以加上任意数量的命令,从预定义类型到自定义类型。下面是一些常用的命令:

? ? ?

{NAV_WAYPOINT n/a, 高度, 纬度, 经度} {NAV_TAKEOFF 仰角, 目标高度} {NAV_LAND_WP n/a, 高度, 纬度, 经度}

注意在上面的截图中,我设计了一个任务,开始时自动起飞至 20 米高度,然后沿3个 100m 高的航点飞行,接着是一个设置降落模式的航点。最后自动降落至 0 米高度,结束任务。 注:当你使用跳转指令,请记住,航点的逻辑可以有点混乱。一个航点命令意味着“开始超这个航点飞”,而不是“等待直至到达该航点”。因此,举例来说,如果把“跳转到航点1”命令放到航点 4 和 5 之间,飞机将永远不会到达航点 4。这是因为一旦开始朝航点 4 飞去,就会执行下一个命令,也就是跳转指令,该指令将立即执行,而没有达到航点 4。因此,在该实例中,如果你想让飞机到达航点 4,你需要把跳转命令放在航点 5 之后。请注意,在某些情况下,你将需要在感兴趣的航点后面插入一个“虚拟”的航点,因为如果任务的导航命令运行完了,它就会返回家的位置。

视频指导任务脚本是有助于了解任务的命令层次结构。搜寻http://www.youtube.com/watch?v=2FSGZ6ic7zY这里。 关于自动起飞和降落,可以参阅这里。 MAVLink 命令语法的详细手册在附录中。

提示

? ? ?

预取: 你可以缓存地图数据,以便在外场飞行时不需要连接到互联网。单击“预取”按钮,按住 Alt,画一个框,就可以下载选择区域内的地图图像。

网格: 这允许你绘制一个区域(用右键),并自动创建航点,覆盖选择的区域。 把起始地点设置到当前地点也很容易,只要点击输入起始地点位置上的“起始地点”标签,就会自动将起始地点设为当前坐标。

使用任务规划器地面站

上图是任务规划器的主要地面站视图,并显示了抬头显示器 (HUD)。如果你的 APM 滑动开关处于飞行模式上(原理遥控针脚),并且已经通过 MAVLink 连接(通常用 Xbee 模块,速率 57600,但也可以通过 USB 接口连接),那么屏幕上的仪表和位置将显示 APM 发送的遥测数据。 一些提示:

? ?

地图上的当前位置只有在锁定 GPS 或使用飞行模拟器时才会显示。 Autopilot 状态中,显示的含义如下:

o \到下一个航点的距离(单位是米)

o \你的 UAV 与到下一个航点的直线偏移了多远 o \你的 UAV 与目标高度偏移了多远 o \下一个到达的航点 o \当前自驾仪模式

? ?

\输出\指自驾仪前四个通道的输出

你可以用任务规划器或其他地面站向空中的飞机发送改变模式和其他命令,但要注意,必须在自动驾驶仪控制下他们才能生效。当你的RC拨动开关在手动位置时,就不在自动驾驶仪控制下,因此命令不会生效。其他位置(稳定,飞线,自动或任何其他的自动驾驶仪控制模式)下MAVlink命令生效。

? ? ?

如果你双击 HUD,它将弹出,可以在第二个屏幕上全屏显示。 如果你双击速度表,你可以设置需要显示的最大量程。

如果你启用了调整复选框,并双击调整,你可以绘制status页上的任意数据的图。这意味着你可以实时显示高度、姿态和很多其他选项。

你可以使用自定义图像代替 Google Maps。按 control-F,这允许你上传自己的图像。Use will require Globalmapper, as this is currently one of the key steps in exporting in the required format for use in the planner.

?

指导模式

高级无人迹的一个最常用的特性就是实时的点击式任务控制。与预先规划的任务或者人工控制飞行不同,操作员在地图上点击,告诉飞机“现在飞到这里”。

现在 APM 也实现了这个功能。你可以在地图上右键单击,选择“飞到这里”。无人机将飞到那里,然后盘旋,直到你给它下一个命令。我们称这种模式为“指导模式”。这种模式更多命令将在最近添加,但是功能已经内置好了。

注:指导模式是一个独立的飞行模式。如果你进入该模式,将一直保持这个模式,直到你改成其他模式。所以如果你告诉它“现在飞到这里”,在到达之后会在航点盘旋,直到你告诉它干点别的事情。这里说的别的事情包括飞到下一个指导的航点(保持在指导模式)或改为其他飞行模式。如果你改到自动模式,你的任务将从停止的地方继续执行。

配置 PID

APM 的基本代码设计和默认设置可以很好地控制小型和中型飞机,例如 EasyStar、SuperStar 和 Skywalker。但如果你的飞机不同,或者使用与众不同的配置,你可能需要调整设定值。其中多数设定是\常数。PID 是指 APM 和大多数自动驾驶仪使用的一系列控制算法(更多关于 PID 控制的说明可参见这里). PID调整有一点类似魔术,这里描述了一些基本窍门。

任务规划器提供了一个修改绝大多数 APM 的 PID 设定的图形界面。修改的方法非常简单(修改你想要的设置,然后单击 \按钮保存到 APM 的 EEPROM 存储器中), 但每个设定的涵义却并不简单。详细说明请参见此文档。 也许有一天自适应控制器将自动配置这些参数,但可惜现在还无法做到。也许在 APM 3.0可以做到!

飞行模式

Ardupilot包含一系列内置飞行模式,并随着开发工作的进行还将增加更多的模式。Ardupilot 即可以是简单的飞行稳定系统,也可以是复杂的自动飞行控制系统。飞行模式可以通过遥控设置,也可以通过根据 events.pde 文件中定义的逻辑控制。

为了配置遥控器来控制 Ardupilot 的飞行模式,使用 CLI 交互界面。

请注意,由于MAVLink通信协议的局限性,在地面站中可能不能准确地显示模式的名称。这些模式的显示方式的映射表如下: APM 模式 地面站显示 Manual Stabilize RTL Auto Loiter FBW-A FBW-B Circle Takeoff Land \ \ \ \ \ \ \ (显示上一个模式) (显示上一个模式) (显示上一个模式) 模式 手动 (MANUAL) 常规遥控,没有稳定功能。 增稳 (STABILIZE) 增稳的遥控,放开摇杆则水平飞行。 线操纵A (FLY BY WIRE_A) 飞控将保持控制杆指定的侧倾和俯仰角度。油门手动控制。飞机不会侧倾超过配置中设定的极限角度。易于新手学习飞行。 线操纵B (FLY BY WIRE_A) 需要空速传感器。飞控将保持控制感指定的侧倾角度。遥控输入的俯仰值被转换为高度差,飞控将尽力修正匹配该高度。油门由飞控自动控制。该模式是测试自动飞控的最佳模式,因为遥控输入被导航控制取代了。 自动 (AUTO) 飞机将沿着指定的 GPS 航点飞行。在此模式中你也可以人工微调。 返航 (RTL)

飞机将返回起飞点并在上空盘旋,直至重新获得人工控制。在此模式中你也可以人工微调。 游荡 (LOITER)

飞机将在当前位置盘旋。在此模式中你也可以人工微调。

高级模式

起飞 (TAKEOFF)

自动起飞只能由飞行控制脚本设置。油门是人工控制的(它反映了自动飞控中设置的极限值。如果你设置65%为最大值,那么它不会超过65%)。当飞机超过一定速度时,它将锁定方向直至达到预定的高度。 降落 (LAND)

自动降落只能由飞行控制脚本设置。油门由自动飞控控制。在接近30m时,飞机将保值当前方向。 Flare, 油门、 襟翼、起落架和其他时间可以根据降落地点的距离进行编辑。

数据记录

有两种方法记录 APM 飞行数据:使用内建16MB的 Flash 存储器,并在地面上下载,和/或用地面站记录在飞行中的XBee遥测数据流。

记录遥测数据

各主要地面站都允许你在飞行过程中记录无线MAVLink遥测流。 任务规划器:

当 MAVLink 连接时遥测数据被自动记录。文件在你的任务规划器文件夹下的“log”子文件夹里,并给定的数据/时间命名(可以重命名)。你可以加载和回放任何一个记录,也可以单击 KMZ 按钮,把记录转换为 Google Earth 可以显示的 KMZ 文件。

HK 地面站:

想要记录任何遥测数据流,按下录制按钮,并给出一个文件名。你可以载入和重放任何已保存的任务。

板上数据记录

APM 板上的 16MB 数据记录存储器会自动录飞行的数据和APM的性能。

当滑块开关是在CLI模式下,用 USB USB 连接 APM,你可用任务规划器的 Terminal 页面的按钮下载这些日志。他们将被保存在你的日志文件夹中。如果你单击“重建KML”,会该文件夹下创建一个可以在 Google Earth 上查看的任务。

在每天的飞行前清空存储器里的记录是个好主意。如果存储器满了,新的纪录会存储内存的头部,覆盖最旧的记录。

下面是板上数据存储器可以记录的数据类型。你可以在 CLI Logs 菜单下输入 {enable [记录名]}}} 打开或关闭它们,如下所述:

记录名 默认 禁用 启用 禁用 启用 禁用 禁功能 ATTITUDE_FAST 记录基本姿态信息,50Hz(使用更多空间) 记录基本姿态信息,10Hz (比 LOG_ATTITUDE_FAST 需要空间少点) 记录发送给电机的 PWM 信号 ATTITUDE_MED MOTORS GPS 记录 GPS 信息,10Hz. PM CTUN 记录 IMU 性能监视信息,每 20 秒. 记录控制循环调整信息,10 Hz。这个信息对调整舵机控制循环感

用 NTUN 禁用 启用 禁用 启用 度有用。 记录导航调整信息,10 Hz. 这个信息对调整导航控制循环感度有用。 记录飞行模式变化。 MODE RAW 记录原始加速度计和陀螺数据,频率 50Hz(使用更多空间)。 CMD 记录执行的新命令。 使用任务规划器读取和分析记录

下载和分析记录文件最方便的方法是使用任务规划器,它可以显示图标数据,生成Google Earch使用的KML文件,灵活管理数据。详细说明请参见这里.

使用CLI读取记录

你也可以用CLI下载记录。 在CLI中输入 {{{logs}}, 并按回车键进入该模式。可用的命令包括:

? ? ? ?

\n\: 显示记录 n_。 \: 清除所有记录。

\name\: 开启记录 name_。 输入 \开始记录所有信息。 \name\: 停止记录 name_。 输入 \停止记录所有信息。

注意如果 APM 启动时,滑动开关的位置推离板子的边缘,那么记录将从Flash存储器的起始位置开始保存,也就是说会覆盖以前的记录内容。

自动起飞和降落

作为飞行任务的一部分,ArduPilot Mega 能够自动起飞和降落。下面说明操作方法:

自动起飞说明

APM 起飞的基本思想是将油门开到最大,爬升到预定高度。要让飞机执行自动起飞,在任务中增加一个 NAV_TAKEOFF 命令(也许是第一个命令)。根据安装的传感器不同,达成目标的方法也有少许不同,但是高度参数总是指定了 APM 完成起飞动作,加载吓一跳命令前应达到的高度。

APM 在起飞开始时将保持机翼水平, 但一旦确定起飞方向,APM 将侧倾以达到该方向。 如果你没有磁力计:

当 GPS 测量的地速超过 3 m/s 时, 起飞方向将设置为 GPS 对地运动方向。这就意味着,当有侧风时, APM 可能会朝下风向偏移。某些时候会过早地设定起飞方向,这将使 APM 在起飞过程中将飞机转向某个非预期的方向。为了减轻这个问题,不要在进入自动模式后移动飞机,除非是将其抛向起飞方向。Try not to \it. 尽可能使用弹射发射架,避免该行为。 如果你有磁力计:

当 GPS 测量的地速超过 3 m/s 时, 起飞方向由磁力计的偏航传感器确定。 如果没有空速传感器:

NAV_TAKEOFF 命令的第一个参数将指定起飞时最大仰角。最小仰角自动设置为正5度。当飞机速度 (由 GPS 测量) 增加时, 仰角也将增加。公式为: 仰角 = (GPS 速度 / 巡航速度) x 最大仰角 / 2 如果有空速传感器:

NAV_TAKEOFF 命令的第一个参数将指定起飞时最小仰角。APM 将调整仰角,达到巡航空速 (空速大于巡航空速时时仰角增大,空速小于巡航空速时时仰角减小),但仰角不会低于 CMD_TAKEOFF 命令设置的最小仰角。

自动降落说明

要降落飞机,在任务结尾增加一个 NAV_LAND 命令,指定降落点的经纬度和高度。多数情况下,高度应该是 0。 在降落过程中,一旦飞机离降落点的水平距离小于 2 秒航程,或者高度低于3米时,APM 将关闭油门并保持当前的航向。

降落过程中,如果有空速传感器,APM 将用普通方式飞行。如果没有的话,APM将保持0度仰角。

例子

这是一个在 Sparkfun 大楼附近飞行的任务例子。飞机首先自动起飞,围绕大楼飞行,然后自动降落。注意当飞机起飞爬升到30m后开始按航线飞行,降落的高度则是0(高度是相对于家/起飞点的相对高度)

ArduPlan 地理围栏

ArduPlane 提供地理围栏的功能允许你设定飞行区域的虚拟「围栏」,即一个封闭的多边形的 GPS 区域,带有最低和最高海拔。

当围栏的功能被开启时,如果飞行器超过设定的范围就会切换到引导(GUIDED)模式,让他飞回预设的返回点,并在那里盘旋,等待你重新接管。然后你可以使用发射器的开关接管控制。

用于 RC 训练

地理围栏的主要用途之一是教自己(或别人)遥控飞机飞行。当你有一个正确配置的地理围栏,想炸机是十分困难的。你可以尝试练习平常可能会导致炸机的动作,相信 APM 可以在灾难之前将飞行“弹”离围栏。

电子围栏可以结合任何APM飞行模式。因此如果是初学者,请结合一种稳定的飞行模式(如 STABILIZE 或 FBWA)。一旦操作员已经取得了一些信心,可以结合手动(MANUAL)模式,直接控制飞机和允许的最有趣的特技飞行练习。这种方式下 APM 平时完全不会干预你,而是直接将控制传递到舵机,只有在超出了围栏区域或者预定高度范围时才会接管操作。

设定地理围栏

要在 ArduPlane 里设置地理围栏,需要设置六个项目:

1. 围栏边界,由一组 GPS 点组成 2. 超出围栏时的动作 3. 返回点的位置

4. 地理围栏最大与最小的高度 5. 开启围栏功能使用的 RC 通道 6. 超出围栏后如何拿回控制

这些都可以使用 Mission Planner 设置。地理围栏功能任然是 Planner 的一个新功能,所以你可能会注意到有些界面会有些变化。

当你在设定地理围栏时有些规则你必须要遵守:

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

2. 围栏边界必须完全封闭。也就是说至少必须要有四个点,最后一个点要与开始点是同一

个点 3. 边界最多可以有18个点

如果你要使用 Mission Planner 设定围栏,Planner 应该会确保遵守这些规则。

请记住设置围栏边界时,你的飞机在击中围栏将有一定的动量,并且需要一段时间回到折返点。对于 SkyWalker 这样的飞机我们建议一个额外的安全边际,大约是你要飞的真实边界内 30米。这个规则同样适用于最低高度——你需要给 APM 回升足够的高度,至于实际要多少取决于你飞机的特性。

除了围栏边界,以下 MAVLink 参数控制电子围栏的特性:

1. FENCE_ACTION - 超出围栏时的动作。默认值为0,关闭电子围栏。设定1则为开启,

当超出围栏时飞行至折返点。

2. FENCE_MINALT - 最小高度(单位米)。如果为0就是没有最低高度。 3. FENCE_MAXALT - 最大高度(单位米),如果为0就是没有最大高度。

4. FENCE_CHANNEL - 开启电子围栏的 RC 频道。默认值为0,关闭电子围栏。 你需

要设置为一个连接到你的发射器上的两段开关上的空闲通道。当此信道的PWM设置为

1750以上,电子围栏就会启动。如果你的发射机支持使用蜂鸣器(每隔几秒响一下)来提醒你,这会是一个不错的主意,你的头就不用一直向下监看围栏。

5. FENCE_TOTAL - 电子围栏中的点数(折返点,加上封闭的边界)。这个应该在建立围栏

的时候Mission Planner就设置好了。

在遥测中也无法获得 GPS 数据。 解决办法:

可能的原因有多种。首先,保证你在配置文件中选择了正确的 MediaTek 版本。如果的模块是在2010年12月以前从 DIY Drones 买的,它的版本应该是1.0: 在配置文件中选择 GPS_PROTOCOL_MTK。如果你在之后买的,就是1.6版的固件: 配置文件中选择 GPS_PROTOCOL_MTK16 。

MediaTek 的启动过程中有一个时钟错误。我们正在解决。现在应该在板子上电之后按一下重置按钮(即热启动)。MediaTek 模块第二次将接受正确的设置字符串,APM 将显示锁定。 最后,如果还不正常,检查连接线是否破损。

GPS 无法锁定, 并且/或者 板子不断重启。

解决办法: 你确定把 GPS 模块插到 APM 板上,而不是 IMU 板上?(写着 \)

还有一个额外的参数在电子围栏中可能会用到。当你超出围栏,飞机会切换至 GUIDED 模式,飞回折返点。一旦回到围栏边境内你就可以拿回控制权,你需要告诉 APM 要取得控制,你可以有3种方式。

1. 使用发射器上 APM 模式开关改变模式

2. 使用 FENCE_CHANNEL 信道关闭及重启电子围栏

3. 设定 RST_SWITCH_CH MAVLink 参数,设定到另一个2段弹簧开关。

RST_SWITCH_CH parameter 默认为0(关闭功能)。如果你设定它至某一个通道,就可

以在超出围栏时使用这个通道开关拿回控制权。

我发现使用 RST_SWITCH_CH 是电子围栏的最佳选择,因为它意味着整个飞行过程中启用了围栏,你透过任何动作改变模式开关。但是它需要另一个通道,有些人可能没有足够的通道来使用它。

设定围栏边界

要设置围栏边界你必须要到 Mission Planner 的 Flight Planner 页面。

首先鼠标移至你想要的位置点击右键设置折返点,并选择「Set return location」。折返点应设置于飞行范围的中间位置,并且在站着飞行时可以很容易看见的范围。

当你设置了折返点,在围栏边界的第一点点击右键,选择「Draw Polygon -> Add polygon point」,然后你就会在多边形模式,点击左键加入围栏的的每一个点,planner 会自动完成最后一个点连接到第一个多边形。

然后,点击右键选择“地理围栏上传发送您的栅栏边界到 APM,上传之前 Planner 会要求您输入栅栏的最低和最高高度(米),还可以保存栅栏的设置档案。

返回点的高度

如果把 FENCE_MINALT 及 FENCE_MAXALT 设置其他大于0的值(FENCE_MAXALT 大于 FENCE_MINALT)返回点的高度又只有 FENCE_MINALT 和 FENCE_MAXALT 的一半。 如果你不设置 FENCE_MINALT 和 FENCE_MAXALT(即他们的距离为0)返回点的高度将由

也就是使用的RTL模式。请注意单位 ALT_HOLD_RTL 是厘米,ALT_HOLD_RTL的参数控制,

而 FENCE_MINALT FENCE_MAXALT 是米。

如果您的飞行俱乐部和当地的飞行规则不设置最高的高度,那么我们建议您最大高度最多122米(约 400英尺)。除此之外高度太高操控会变得相当困难,与您的模型保持良好的视线。 折返点的 FENCE_MINALT 定为30米(保持一些俯冲动能)FENCE_MAXALT 设为122米、76

米,这是一个相当良好的飞行高空。

混控(stick mixing)超过围栏

在自动模式时,APM 默认启动「stick mixing」,这意味着,你可以改变飞行的路径,例如,你可以使用发射器上的遥杆。

当您使用地理围栏时混控会因为超出围栏而被禁用,直到你的飞机又回来了围栏区域内。这是为了确保不良输入控制不会因超出围栏而回不到折返点。

一旦你回到围栏内混控将重新启用,让您控制这架飞机的GUIDED模式。如果你使用混控又超过围栏功能就又会被关闭直到你回到围栏内。

地理围栏飞行的秘诀

电子围栏在地面上起飞时禁用。要小心不要在地面上使用,因为它可能会提示超出了围栏,并尝试飞往折返点。

降落也是禁用,当你在违反高度下将很难降落!

如果您使用的APM1要在手动模式结合地理围栏,记住APM1的APM软件绕过第8信道模式开关和 PWM 1750以上的开关(这就是 APM1 上所谓的「hardware manual」)。所以,你要么需要设置不同的手动开关的位置,或者使用不同的模式开关控制信道(并且设置 FLTMODE_CH 到正在使用的通道)。

之前起飞和飞地理围栏确保所有参数都设置如上所述,也确保你有一个良好的GPS锁定。如果你失去GPS锁定地理围栏也会关闭,直到GPS锁恢复,如果你的GPS信号很微弱请不要使用它。

我也建议你先做轻微的测试。试着慢慢接近围栏边界,并确保它正确的「反弹」虚拟墙和返回到折返点都是 OK 的。然后再次拿回控制,尝试慢慢接近最低高度,并确保它弹回您所设置的 FENCE_MINALT 。

在发展电子围栏时,我发现与手动模式结合是最好玩的。它给你所有的手动飞行的兴奋与急转弯和花式特技,同时当你犯错误时不会毁了一架飞机。

飞行范例

这是我的 SkyWalker 开启电子围栏时的飞行轨道,白线是电子围栏边界,在中间加上可见的折返点,您还可以看到飞机超出地理围栏到北部、西部和南部的点,也有许多点超出高度,我使用这个功能尝试改善我的手动模式飞行技巧,飞机如果没有电子围栏可能已经无法存活。

请注意,在这个例子中的电子围栏沿跑道中间运行。这是符合当地俱乐部的规则。起飞和降落禁用电子围栏。FENCE_CHANNEL设置为 7,RST_SWITCH_CH设置为 6。这允许我起飞后用一个开关启动围栏,超出后使用弹簧教练开关拿回控制权。

支援 MAVLink

APM可透过 MAVLink 回报围栏的状态。关键状态数据包被称为 FENCE_STATUS,并在ardpilotmega.xml中定义。一个典型的FENCE_STATUS数据包看起来像这样:

2011-12-20 16:36:35.60: FENCE_STATUS {breach_status : 1, breach_count : 15, breach_type : 1, breach_time : 1706506}

如果在围栏内 breach_status 为0,如果在外为1。breach_count 是你这次飞行超出几次围栏。breach_type 是最后超出围栏的类型(ardupilotmega.xml FENCE_BREACH 有列举)。breach_time是从 APM 开机到超出围栏的时间以milliseconds为单位。 在未来的 APM Planner 应会支持在飞行过程中宣告地理围栏状态。

进阶功能

ArduPlane 的地理围栏也可使用失效保护(failsafe)系统,为 OutBack 竞赛的挑战。对于这些类型的事件,像往常一样定义您的围栏边界,但可以在 APM_Config.h 增设

FENCE_TRIGGERED_PIN 选项的APM。这个选项让你可以设定当超出围栏时 APM 的数字PIN为High,可以将这个PIN连到飞机上的失效保护(failsafe)设备触发失效保护模式(OBC 的竞争,需要设置飞机俯冲至地面的极端伺服值)

FBWLowALT

en , zh-Hans, zh-Hant

Updated May 21, 2012 by hazy...@gmail.com

线控飞行的最低高度限制

ArduPlane 的这个功能允许你为 FBW-B 模式设置最低海拔高度(即使你没有空速计),你的飞机会尽量留在这个高度。

当开启 FBW 最低高度限制时,如果你的飞机低于预定高度,它将爬升到安全高度。到达预定高度后你将重新获得完全的控制权。

用于 RC 训练

此功能将帮助那些没有那么多的安全飞行技巧的人。它对 FPV 飞行来说特别有用,因为 FBW-B 模式提供了方便的控制和低空飞行限制,将帮助您避免碰撞到地面。

这里有个飞行影片。 APM 处于 FBW-B 模式,我将俯仰遥杆一直处于向下状态,直到影片末尾。 最低高度设在30 米以上,所以你可以看的到地面。

如何设定高度限制

请使用APM Mission Planner,你设定 ALT_HOLD_FBWCM 参数,输入所需的最低高度以厘米为单位! 如果为 0 则是关闭此功能。

选择正确的高度

应当谨慎设置期望的高度。正如我们所知,我们的飞机不能立即做出反应,所以我们选择海拔时要考虑到这一点。如果相当平坦的地形我建议使用3000 (30 米)。

降落

为了要让飞机降落,你必须变更至其他非 FBW-B 的飞行模式来关闭这个功能。

增加屏幕显示 (OSD) 板

APM的有一种廉价(66美元)的伴侣 OSD 板,称为MinimOSD。如果你使用一个板上摄像头和无线视频传输,它会读取 APM 遥测流中所有 MAVLink 数据,并覆盖在视频之上。如果你飞行在第一人称视角(FPV)模式,或不想在外场使用一台笔记本电脑查看遥测数据,这是非常有用的。 连接和使用MinimOSD的板的说明在这里。 下面是一个它工作的例子:

MinimOSD 和 APM 2

MinimOSD 和 APM 1

疑难解答

我的 APM 2 锁死了

原因可能是 DataFlash 卡初始化不正确。为了验证这就是问题所在,把它拿出来,并尝试给 APM 2 供电。你应该能够通过 CLI 中的测试。如果确实是这样,有一个简单的办法。将 DataFlash 放回,在终端屏幕时给板子供电。它会重新格式化卡(这将需要一段时间)。保持插入状态 5-10 分钟。之后,你应该看到一个“ready to fly”的消息。你只需要这样做一次。

飞机在返航模式下迂回前进或徘徊;而不是向我飞来并在头上盘旋

你需要调整飞机的感度。我们假设你已按照飞行测试和这里的调整说明做了。那么飞机应该在稳定模式下飞得不错,并且在返航模式下会试图回来。如果在顶风下飞回来很艰难,或者很容易偏离航线,那么在任务规划器的配置界面执行以下操作,直到解决问题:

1. 将导航侧倾 P 增加 25% 2. 将导航侧倾 P 增加 25% 3. 将偏航矩感度增加 25%

我的油门只在手动模式下工作

作为安全措施,在地面上你的油门只会在手动模式和自动模式的起飞时激活(工作)。在其他自动模式下,它只有在空中才会工作。

除了手动模式,其他模式都没有舵机信号输出

若自驾仪处于稳定模式下,当你倾斜你的飞机或APM板时,舵机应移动来补偿。在该模式下你也应该能够将通过遥控摇杆移动舵机。如果他们不动,检查以下内容:

1. 遥控针脚是否用电调或其他电源供电了?

2. 你在设置过程中设置了遥控吗? 如果没有,现在就设置。如果已经设置过,重新切到 CLI 设置菜

单,输入\,然后输入\,重新设置一次。记住你必须用电调或其他电源给遥控供电。你插上接受的那些通道最低值应该在 1000 左右 ( 900 到 1100 都正常),最高值在 1900 左右( 1800 到 2100 都正常).

我的板子没有遥控读数

1. 你是否用 ESC 或其他5V电源给 RC 引脚供电? (必须)。如果你的遥控接收器的电源指示

灯不亮,这意味着 RC 没有得到电源。

2. 你肯定 RC 连接器正确?信号线在顶上,地线在底下,接近板子。 3. 你的发射机开了没?

4. 把一个舵机插到接收器的空闲通道,并确保它工作。

5. 我们收到一些 Spektrum 接收的问题报告。它需要一个绑定过程。下面是解决办法:要绑定的接

收器和遥测(TM1000+ AR8000 DX8)模块,把他们连接在一起(TM1000 和 AR8000)。发射机关闭(DX8 关闭),按遥测模块(TM1000)侧面的小按钮小按钮,给接收机供电(插LiPo电池,但不插4线连接)。接收器和遥测模块将开始闪烁(如果他们不闪烁,就是 TM1000 没弄好)。当发生这种情况后,按住教练/绑定按钮,开启发射器,就会绑定(离至少10英尺远)。

确保结合时,它说像“binding dsmx ------ receiver with telemetry”的东西。如果第一次没有选上遥测模块,就再做一遍。

APM 板在插到 USB 上时工作,但通过 RC 脚(电调或电池)供电时不工作

APM 允许 RC 电源或用一个独立的电池通过 APM 内置的电源稳压器运行,如这里所述。一个称为 SJ 1 的跳线确定使用哪种方法。工厂默认情况下,该跳线应该是短接的,这意味着将由 RC 引脚供电。 如果由于某种原因,电源连接到 RC 引脚并不给你的板子供电,请检查该跳线是否短接。如果不是,如下图所示,用焊锡来连接它们。

当我编译时,在Arduino IDE底部窗口得到了一系列红色错误,如下所述:

ArduPilotMega.cpp:17:24: error: FastSerial.h: No such file or directory ArduPilotMega.cpp:18:23: error: AP_Common.h: No such file or directory ArduPilotMega.cpp:19:51: error: APM_RC.h: No such file or directory ArduPilotMega.cpp:20:77: error: APM_ADC.h: No such file or directory

解决办法: 你没有将库文件放在正确的目录中,也没有在Arduino IDE的配置菜单中设置正确的目录。参见本说明, 确保所有东西都在正确的位置,重新启动 Arduino 并重新编译。

== 当我编译时,我得到了一些不同的错误 ==:

C:\\Users\\Chris\\Documents\\Arduino\\libraries\\APM_RC\\APM_RC.cpp: In function 'void TIMER4_CAPT_vect()':

C:\\Users\\Chris\\Documents\\Arduino\\libraries\\APM_RC\\APM_RC.cpp:40: error: 'ICR4' was not declared in this scope

C:\\Users\\Chris\\Documents\\Arduino\\libraries\\APM_RC\\APM_RC.cpp: In member function 'void APM_RC_Class::Init()':

C:\\Users\\Chris\\Documents\\Arduino\\libraries\\APM_RC\\APM_RC.cpp:73: error: 'COM1C1' was not declared in this scope

C:\\Users\\Chris\\Documents\\Arduino\\libraries\\APM_RC\\APM_RC.cpp:77: error: 'OCR1C' was not declared in this scope

解决办法: 在编译/上传之前你忘了将开发板类型设为 \。

我的 MUX 灯一直闪烁,而且 RC 的读数很奇怪

舵机可能像疯了一样乱摆。

解决办法: APM 板的 Atmega328 的PPM 编码器固件可能损坏。刷新/升级的说明在这里.

我用 MediaTek GPS,尽管模块的锁定蓝灯常亮, APM 也不显示锁定

在遥测中也无法获得 GPS 数据。 解决办法:

可能的原因有多种。首先,保证你在配置文件中选择了正确的 MediaTek 版本。如果的模块是在2010年12月以前从 DIY Drones 买的,它的版本应该是1.0: 在配置文件中选择 GPS_PROTOCOL_MTK。如果你在之后买的,就是1.6版的固件: 配置文件中选择 GPS_PROTOCOL_MTK16 。

MediaTek 的启动过程中有一个时钟错误。我们正在解决。现在应该在板子上电之后按一下重置按钮(即热启动)。MediaTek 模块第二次将接受正确的设置字符串,APM 将显示锁定。 最后,如果还不正常,检查连接线是否破损。

GPS 无法锁定, 并且/或者 板子不断重启。

解决办法: 你确定把 GPS 模块插到 APM 板上,而不是 IMU 板上?(写着 \)

本文来源:https://www.bwwdw.com/article/1p1v.html

Top