滚动、俯仰和偏航控制器飞行稳定调整¶
从 4.1 及更高版本开始,PID 控制器发生了重大变化,用于 自动调整尽管程序与过去几乎完全相同。
除了非常重、非常慢或非常灵活的载具外,自动调整应该能产生非常可接受的结果。手动调整应保留给自动调整后飞行效果不佳的载具。
备注
在自动调整之前,Plane 中滚动和俯仰控制器的默认值对于大多数飞机来说都比较小。这是因为较小的数值会导致 ArduPilot 的导航效果不佳且速度缓慢,但导致飞机坠毁的可能性较小。
备注
如果从以前的版本升级到 4.1 或更高版本的固件,现有的 PID 值将自动转换为新系统。由于新的自动调整系统在大多数情况下都能产生更好的调整效果,因此仍建议重新进行自动调整。如果您希望手动将旧的 PID 值转换为新系统的值,可以使用以下方法 网络转换器
备注
从固件 4.2 版开始,新的 YAW 控制器可用于 ACRO 模式(以前的版本在 ACRO 模式下没有 YAW 速率稳定功能)。在自动调整会话期间,可以使用自动调整模式或开关上的 RCx_OPTION = 107 对该控制器进行自动调整,就像滚动和俯仰一样。
先决条件¶
以下指令假定
地面检查¶
在地面选择 FBWA 模式
将模型机头向上旋转 - 您应该看到升降舵向下偏转
将模型机头向下旋转 - 你应该看到升降舵向上偏转
将模型向右滚动 - 你应该看到左副翼/升降舵上升,右副翼/升降舵下降。
将模型向左滚动 - 你应该看到左副翼/升降舵下降,右副翼/升降舵上升。
调平模型 - 控制面应接近中性。会有一点位移,但如果超过最大投掷量的 10%,则表明(飞行)控制器尚未调平或需要重新进行无线电校准。
在模型处于水平状态时,在发射机上输入左右滚动杆 - 控制杆的偏转方向应与手动模式下的方向相同。
在模型水平状态下,使用发射机上的上下俯仰杆输入,控制杆的偏转方向应与手动模式下的方向相同。
如果您已启用空速传感器,则朝气动导管前方吹气并观察 HUD。您应该会看到空速读数增加
飞行稳定调整概述¶
ArduPilot 通过检测俯仰或横滚所需的姿态角之间的差异,将其中存在的任何误差转化为所需的轴向速率变化,然后使用 PID-FF(比例/积分/微分-前馈)控制环来实现和控制该速率,最终达到所需的姿态,从而保持姿态稳定。
通常情况下,大部分所需的速率是通过 FF(或前馈)项实现的。就像人类飞行员在 MANUAL(手动)模式下直接从发射机偏转控制面,以获得所需的滚转或俯仰速率一样。然后,其他 PID 项作用于要求轴速率中的任何误差,以减少来自外部(湍流)或内部(噪音、微调失误、CG)的误差,从而获得所需的姿态。
P 项作用于任何短期误差,I 项对任何长期误差进行时间积分,而 D 项则起加速/阻尼作用,以更快地达到所需的姿态,同时在获得并保持所需的姿态时消除过冲和振铃。
飞行稳定调整过程¶
对每个轴(俯仰轴和横滚轴)逐一进行。
确定 FF 增益¶
首先,可以通过分析初始飞行后的数据日志来确定 FF 项的数量,在初始飞行中,将操纵杆置于 FBWA 状态下对轴进行操作,以获得在两个方向上几次快速、完全的操纵杆偏转所产生的过渡。使用该飞行的日志(参见 日志),为要调整的坐标轴(以下示例中为滚)创建以下图形:
ATT.Roll(作为硬杆转换发生时间的参考)。
.345*PIDR.Act*AETR.SS(建议使用 0.345(默认值))。 RLL_RATE_FF 项作为起点)。这就是将 PID 控制器的总输出(即下图中的表面偏转)作为前馈。
AETR.Ail*0.01
下面是一个使用 UAV LogViwer 在线.
您可以看到,第二条曲线超过了第三条曲线,这表明 FF 项(第一条曲线中使用的 0.345)过高....re--用第一条曲线乘以较低的 FF 项(0.11)绘制相同的数据:
.11*PIDR.Act*AETR.SS(.11 是稍后自动调整的实际 FF 增益结果)。
可以看出,两条曲线的大小一致,表明 FF 项应该是 0.11。
由于 FF 是一种开环增益,我们只需确定 PID 控制器的输出量会导致多少表面偏转,因此这种技术在所有情况下都有效。这样,FF 增益基本上就能产生基线控制面偏转。
俯仰轴的曲线图如下
ATT.Pitch(作为硬杆转换发生时间的参考)。
(建议的 FF)*PIDP.Act*AETR.SS(建议的 FF 为建议的 PTCH_RATE_FF 项作为起点)。这就是将 PID 控制器的总输出(即下图中的表面偏转)作为前馈。
AETR.Ele*0.01
现在,我们可以调整其他 PID 增益,以应对干扰和微调失误。
I 术语¶
对于 Plane,我们建议设置 I 增益等于 FF 增益。这为起飞时的 CG 或表面微调提供了约 1 秒的控制环响应时间。
P 和 D 项¶
现在载具可以再次飞行,开始调整 P 和 D:
在 FBWA 模式下,以 0.01 的增量增加 P。通过快速要求角度来检查每次变化,保持并释放。在另一个方向做同样的操作。您希望模型快速平稳地移动到新角度,然后再返回,不会出现过冲或任何气泡。
当出现俯仰角振荡或过冲时,需要将 P 降低 25-50%。
以 0.001 为增量增加 D 增益,直到它开始振荡,然后减半。着陆时请务必检查舵机的温度,因为在极端情况下,调高增益可能会导致舵机快速移动,并使舵机过热,从而导致过早失效。
有时,您还可以回头再增加一些 P 增益。
ACRO YAW 速率控制器调整¶
从 4.2 版开始,还提供了用于 ACRO 模式的全 YAW 速率控制器。 YAW_RATE_x
参数,并可在 启用偏航速率 设置为 1。启用后 ACRO_YAW_RATE 参数可用于调整 ACRO 模式下舵杆全偏转时所需的最大偏航率。
手动调整的方法与上述俯仰轴和横滚轴的方法相同。PID 参数也可以按照与俯仰轴和滚动轴相同的方式进行自动调整。
备注
这与为稳定飞行模式提供的 YAW 减震器/侧滑控制器不同。参见 偏航阻尼器/侧滑调校 下图
滚动到俯仰补偿¶
另一个调整参数是 PTCH2SRV_RLL 在转弯时补偿俯仰角,以避免因翻滚造成升力损失而降低高度。设置方法如下
将模型向各个方向滚动到最大倾角。在转弯过程中,机头应保持在相当水平的位置,而不会明显增加或降低高度。在恒定油门下持续转弯时,预计会有一些高度损失,因为转弯时的额外阻力会使模型减速,从而导致轻微下降。如果模型在转弯过程中高度增加,则需要减小 PTCH2SRV_RLL 在默认值 1.0 的基础上以 0.05 的小幅度递增。如果模型在靠岸时立即下降(如前所述,在转弯后期模型减速时轻微下降是正常现象),则默认值为 1.0。如果您需要更改 PTCH2SRV_RLL 如果参数超出 0.7 至 1.4 的范围,则很可能是先前的俯仰环调整、空速校准或(飞行)控制器的倾角估计出了问题。
飞行稳定调整技巧¶
选择任务计划飞行数据页面底部的调整框。地图上方会出现一个滚动的黑色窗口。在黑色窗口中双击,您将看到一个要绘制的参数列表。更改选择,直到绘制出俯仰角和导航俯仰角。Nav_pitch 是需求,而 pitch 是响应。您可以用它来查找过冲和其他从地面观察模型时不那么明显的行为。
虽然(飞行)控制器会在超过最大升降量时阻止积分器升高,但还可以通过以下方式提供额外保护 PTCH_RATE_IMAX 参数。该参数设置了积分器可控制的最大升降量。默认值为 0.666,允许积分器最多修整升降舵总行程的 2/3。对于大多数机型来说,这个值足以满足微调偏移和微调随速度变化的需要。
警告:如果 PTCH_RATE_IMAX 如果设置得太高,那么在 FBWA 中,如果模型已经调平,零俯仰角过高,无法以安全速度滑行,那么积分器就会继续增加升降舵以维持所需的俯仰角,直到模型失速。 PTCH_RATE_IMAX 应设置为一个足够大的值,以允许调整变化,但又要足够小,以免飞机失速。Plane 的默认值是总投掷量的 2/3,可能会产生这个问题。
确保 稳定俯仰 设置为在稳定模式下低油门时增加负螺距。
用于修正俯仰角误差的俯仰速率(以及因此而减少的重力加速度)可通过设置俯仰速率限制来加以限制 ptch2srv_rmax_dn 和 ptch2srv_rmax_up 将这些参数设置为非零值。将这些值设为 560 除以空速(米/秒),可得到约等于 +- 1g 的限制。
时间常数参数 ptch2srv_tconst 也可用于调整螺距角达到要求值的速度。该参数的作用主要体现在对要求螺距小步变化的响应上。对于较大的螺距要求,螺距速率限制 ptch2srv_rmax_dn 和 ptch2srv_rmax_up 往往会掩盖其效果。将该参数设置为较小值会使飞机在较短时间内达到所需的俯仰角,但前提是飞机具备相应的能力。响应速度非常慢的机身可能需要将该参数设置得稍大一些。
在飞行稳定调整窗口中绘制 pitch_speed 图。这显示了以弧度/秒为单位的音高速率。1 弧度/秒的值约等于 60 度/秒(更精确地说是 57 度/秒),因此,如果您有 ptch2srv_rmax_dn/UP 设置为 30 时,响应大俯仰角需求(例如从单向全俯仰到反向全俯仰)时的最大俯仰速度应略高于 0.5。
过滤¶
Plane 中的新 PID-FF 控制器还具有多个低通滤波器,其频率可以调整。默认值应该是令人满意的,不过,在某些情况下,或者在视频拍摄等特殊要求下,通过试验可能会提高对外部干扰的响应速度,从而降低响应速度,以换取更高的平稳性。这些默认值是
PTCH_RATE_FLTT:对目标要求的节拍率进行过滤
PTCH_RATE_FLTE:俯仰速率误差滤波器
PTCH_RATE_FLTD:对 D 项进行过滤(往往会产生噪声)
RLL_RATE_FLTT:对目标要求的滚动率进行过滤
RLL_RATE_FLTE:滚动率误差过滤器
RLL_RATE_FLTD:对 D 项进行过滤(往往会产生噪声)
PID 控制器流程图¶
偏航阻尼器/侧滑调校¶
偏航控制回路既可以配置为简单的偏航阻尼器(适用于鳍面积不足的模型),也可以配置为偏航阻尼器和侧滑控制器的组合。由于侧滑控制使用的是测得的侧向加速度,因此它只适用于那些机身侧面积足够大的模型,以便在侧滑时产生可测得的侧向加速度(一个极端的例子是特技飞行模型做刀锋动作时,所有的升力都由机身产生)。机身细长、机翼会飞的滑翔机无法使用这一功能,但只要有偏航控制装置(方向舵、差动气闸等),仍可从偏航阻尼器中获益。
调整偏航阻尼器¶
验证 YAW2SRV_SLIP 和 YAW2SRV_INT 增益项设为零,则
YAW2SRV_RLL
增益项设置为 1.0,而 YAW2SRV_DAMP 增益项设为零现在迅速将模型从一个方向的最大倾角滚动到相反方向的最大倾角。在每个方向上各做几次,观察模型的偏航运动。如果当机翼通过水平面时,机头的偏航方向与翻滚方向相反(例如,当从左侧倾角翻滚到右侧倾角时,机头指向左侧),那么就增大 KFF_RDDRMIX 直到偏航消失。请勿使用大于 1 的值。
增加 YAW2SRV_DAMP 0.05 的小增量,直到偏航角开始摆动。出现这种情况时,尾翼会出现 "摇摆"。将增益从导致摆动的值减半。
现在,将模型向两个方向滚动入弯和出弯。如果模型在转弯时有向外侧偏转机头的趋势,则增大 YAW2SRV_RLL 增益项的默认值为 1.0,增量为 0.05。反之,如果模型在进入转弯时有向转弯内侧偏转机头的趋势,则应减小 YAW2SRV_RLL 增益项的默认值为 1.0,增量为 0.01。如果您必须超出 0.7 至 1.4 的范围,则说明有其他问题需要解决,您应该检查是否正确执行了步骤 2),如果使用了空速,则检查空速校准。
调整侧滑控制器¶
先调整偏航阻尼器
在Mission Planner地面站中调出调整图窗口,绘制横向加速度曲线。
将模型从全倾角向各个方向快速滚动,并观察横向加速度。如果侧向加速度为零,并且在滚入或滚出弯道时没有变化,则无需进行侧滑控制。此时即可结束。
设置 YAW2SRV_INT 增益项为 1.0。如果这会导致偏航角摆动,则将增益从导致摆动的最小值减半。
如果发现 y 加速度偏移或在转弯时出现尖峰,则应逐步增大 YAW2SRV_SLIP 以 0.5 为增益步长,直至误差消失或偏航角开始振荡。如果出现偏航摆动,则将增益从引起摆动的值减半。