logo资料库

APMPID调试.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
调整导航的特别建议
关于 PID 循环的更多知识
一点理论知识
配置 PID APM 的基本代码设计和默认设置可以很好地控制小型和中型飞机,例如 EasyStar、SuperStar 和 Skywalker。但如果你的飞机不同,或者使用与众不同的配置,你可能需要调整设定值。其 中多数设定是"Propotional Integral Derivative" (PID) 常数。PID 是指 APM 和大多数自动驾驶 仪使用的一系列控制算法(更多关于 PID 控制的说明可参见这里). PID 调整有一点类似魔术,这里描述了一些基本窍门。 任务规划器提供了一个修改绝大多数 APM 的 PID 设定的图形界面。修改的方法非常简单(修 改你想要的设置,然后单击 "Write PIDs" 按钮保存到 APM 的 EEPROM 存储器中), 但每个 设定的涵义却并不简单。详细说明请参见此文档。 也许有一天自适应控制器将自动配置这些参 数,但可惜现在还无法做到。也许在 APM 3.0 可以做到!
根据飞机进行调整 使用默认的 PID 设置,APM 就可以直接飞大多数飞机。但是要想飞得很好,导航 准确,风中也有可靠的性能,你还是需要调整一下自家仪。 调整 PID 的最简单的方法是用任务规划器中的 PID 设置界面: 在这个界面你可以加载和保存配置文件。在这里我们已经提供了一些常用的飞机的配置文件。但 是如果你用的飞机没有在列表中,下面是推荐的调整过程的简要说明: 下面是我们推荐的调整步骤: 1. 用手动模式飞行,确保所有部件连接无误。 2. 在地面上检查增稳模式。如果你左右倾斜飞机,你可以看到副翼(或 3 通机的方向舵) 相应转动,以使机器恢复水平。如果你前后倾斜飞机,你可以看到升降舵相应转动进行 修正。如果你用的是 4 通飞机,那么方向舵将与副翼同方向反应。如果不正确的话,改 变 REVERSE_ROLL, REVERSE_PITCH 和 REVERSE_RUDDER 进行相应调整。 3. 以增稳模式飞行,检查在飞机倾斜时,飞控是否真的将飞机恢复到水平飞行状态。如果 飞机前后或左右摇摆,减少 P 增益 (见下文)。 4. 以线控模式 (A 或 B)飞行, 检查俯仰和侧倾。飞机应当保持设置的高度。发射器摇杆位 置直接设置倾斜角度。以水平直线飞行开始,然后将摇杆移到一端,飞机应该侧倾 45 度,完成这次转弯。 如果不稳定,减小 5-1 ("#define SERVO_ROLL_P .006"); 如果 太慢,则增加该值。在俯仰方向(上和下)重复以上操作。如果还不太正常,查看设置 中的 HEAD_MAX, PITCH_MAX 和 PITCH_MIN。如果你将操纵杆移到最右边,飞机 应该侧倾(并保持) HEAD_MAX 角度。飞机是否如此?如果确实如此,慢慢增加侧
倾舵机 P 增益。如果它左右摇晃则减小该增益。类似的调整俯仰。调整的目的是让飞 机干脆地响应俯仰和侧倾的输入。一直如此调整,不要担心其他增益,直至你轻弹摇杆 并保持,飞机像手动飞行模式一样快速响应。通常只需要调整 P 增益,但有些飞机需 要 I 增益来保持倾斜角度。 5. 现在, 仍然在线操纵模式,放开操纵杆,观察飞机是否保持高度。 如果飞机下降,增加 6-5 ("#define PITCH_COMP .10")。 你应该能够以 HEAD_MAX 角度倾斜转弯,而不 增加也不降低高度。 6. 现在尝试返航模式。飞机应该飞回到你这里。如果它飞走了,将 7-1 ("#define NAV_ROLL_P .6") 增加 25%。如果它还不回来,增加 7-2 ("#define NAV_ROLL_I .0")。 反之,如果飞机回来了,但一直摇摆,减少 7-1。如果还不够,增 加 4-4 ("#define XTRACK_GAIN 00"). 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 度侧倾角。第二个控制循环控 制舵机减小预期的侧倾角和实际的侧倾角之间的误差。我之所以推荐在线控飞行模式下调整这些 增益,是因为在该模式下,你可以通过操纵杆的位置直接输入预期的倾角,而与不受底层的导航 控制循环影响。 由于串联控制循环的性质,增益和最终结果之间存在一个数学关系。但是使用这个串联控制的目 的是让它更加直观和易于理解。先调整正确的舵机增益,使系统能够得到期望的侧倾角和俯仰角, 然后再调整导航增益,使系统的导航性能最优化。以这个顺序调整更简单也更有效。
分享到:
收藏