多旋翼飞行器 PID 调整指南

本教程将介绍如何调整 PX4 上的 PID 循环,使其适用于以下所有情况 多旋翼飞行器设置 (四边形、六边形、八边形等)。

一般来说,如果您使用的是 支持的特定配置 (例如,在以下情况下使用机身 QGroundControl > 机身默认的调整应该足以让飞行器安全飞行。要获得最佳性能,通常最好对新飞行器进行调整。例如,不同的电调或发动机需要不同的调整增益才能获得最佳飞行效果。

本指南适用于高级用户。未经调试或部分调试的载具很可能不稳定,容易撞车。请务必指定一个关闭开关。

导言

PX4 的用途 P比例、 Integral、 DPID)控制器(这是最普遍的控制技术)。

控制器是分层的,这意味着较高层次的控制器将其结果传递给较低层次的控制器。最低级的控制器是 速率控制器然后是 态度控制员然后 速度放大器;位置控制器.PID 调整需要按照相同的顺序进行,从速率控制器开始,因为这将影响所有其他控制器。

先决条件

  • 您选择了最匹配的 默认机身配置 您的载具。这样,您就可以拥有一辆会飞的汽车了。
  • 你应该 电调校准.
  • PWM_MIN 设置正确。它需要设置得低一些,但要使 电机永不停歇 当载具处于上膛状态时。

    这可以在 Acro 模式 或在 手动/稳定模式:

    • 拆除螺旋桨
    • 启动载具并将油门降至最低
    • 将载具向各个方向倾斜约 60 度
    • 检查电机是否关闭
  • 可选择使用 SDLOG_PROFILE 参数,这样就可以使用日志来评估速率和姿态跟踪性能(之后可以禁用该选项)。

始终禁用 MC_AIRMODE 在调试载具时。

调整参数步骤

出于安全考虑,默认增益设置为较低值。必须先提高增益,才能获得良好的控制响应。

下面是一些调试时需要遵循的一般要点:

  • 所有增益的增加都应该非常缓慢,因为过大的增益可能会导致危险的振荡!通常每次迭代增益增加 20-30%,最后微调时减至 5-10%。
  • 在更改参数前降落。缓慢加大油门,检查是否有摆动。
  • 围绕悬停推力点调整飞行器,并使用 推力曲线参数 以考虑推力非线性或高推力振荡。

费率控制器

速率控制器是最内环,由三个独立的 PID 控制器控制车身速率(偏航、俯仰、滚动)。

调整良好的速率控制器非常重要,因为它会影响 一应俱全 飞行模式。调整参数不良的速率控制器在以下情况下会显现出来 位置模式例如,"抽搐"(载具在空中不会完全静止)。

速率控制器结构/形式

PX4 支持在单个混合实施中使用两种(数学上等效的)PID 速率控制器: 平行标准.

用户可以通过将另一种形式的比例增益设置为 1 来选择所使用的形式(如下图所示)。 K 为 1 表示平行形式,或 P 如果是标准格式,则将 K 或 P 块替换为一行)。

PID_Mixed

  • G(s) 表示载具的角速率动力学特性
  • r 是速率设定点
  • y 是机身角速率(由陀螺仪测量)
  • e 是速率设定值与测量速率之间的误差
  • u 是 PID 控制器的输出

下面介绍这两种形式。

导数项 (D)位于反馈路径上,以避免一种称为 衍生踢.

欲了解更多信息,请参阅

平行形式

平行形式 是最简单的形式,因此也是教科书中常用的形式。在这种情况下,控制器的输出只是比例、积分和导数动作的总和。

PID_Parallel

标准形式

这种形式在数学上等同于并联形式,但其主要优势在于(即使看起来有悖直觉)它将比例增益调整与积分和导数增益分离开来。这就意味着,只需利用大小/惯性相似的无人机的增益,并简单调整 K 增益,就能轻松调整新平台,使其飞行正常。

PID_Standard

速率 PID 调节

用于调整 PID 速率控制器的相关参数为

速率控制器可在以下情况下调整 Acro 模式手动/稳定模式:

  • Acro 模式 是首选,但较难飞行。如果选择这种模式,请禁用所有操纵杆展开功能:
    • MC_ACRO_EXPO = 0, MC_ACRO_EXPO_Y = 0, 亚洲超级博览会 = 0, 麦克超商 = 0
    • MC_ACRO_P_MAX = 200, MC_ACRO_R_MAX = 200
    • MC_ACRO_Y_MAX = 100
  • 手动/稳定模式 飞行更简单,但也更难发现姿态或速率控制器是否需要进一步调整。

如果载具根本不会飞:

  • 如果在第一次尝试起飞时出现强烈摆动(以至于无法飞行),则减少所有 PD 直到起飞。
  • 如果对 RC 运动的反应微乎其微,则增加 P 收益。

在以下情况下,实际调整大致相同 手动模式Acro 模式:您可以反复调整 PD 滚动和俯仰增益,然后 I 增益。起初,您可以对横滚和俯仰使用相同的值,一旦有了好的值,您就可以通过分别查看横滚和俯仰响应对其进行微调(如果载具是对称的,则不需要这样做)。对于偏航,情况非常相似,只是 D 可以保持为 0。

比例增益 (P/K)

比例增益用于最小化跟踪误差(下面我们使用 P 既指 PK).它的作用是快速响应,因此应尽可能设置得高一些,但不要产生振荡。

  • 如果 P 增益过高:会出现高频振荡。
  • 如果 P 增益过低:
    • 载具会对输入变化反应缓慢。
    • Acro 模式 载具就会漂移,您需要不断纠正以保持水平。
衍生收益 (D)

D (导数)增益用于速率阻尼。它是必需的,但应根据需要设置,以避免过冲。

  • 如果 D 增益过高:电机会变得抽搐(可能还会发热),这是因为 D 术语会放大噪音。
  • 如果 D 增益过低:阶跃输入后会出现过冲。

典型值为

  • 标准格式P = 1):介于 0.01(4"赛手)和 0.04(500 尺寸)之间,对于任何值的 K
  • 平行形式(K = 1):介于 0.0004 和 0.005 之间,具体数值取决于 P
积分增益 (I)

I (积分)增益对误差进行记忆。增益 I 如果在一段时间内未达到所需的速率,期限就会增加。重要的是(特别是在飞行时 Acro 模式),但不宜设置过高。

  • 如果 I 增益过高:您将看到缓慢的振荡。
  • 如果 I 增益过低:最好在以下情况下进行测试 Acro 模式将载具向一侧倾斜约 45 度,并保持这个角度。应该保持相同的角度。如果它向后偏移,请增加 I 增益。低 I 当预期速率与实际速率在较长时间内出现偏移时,日志中也会显示增益。

典型值为

  • 标准格式P = 1):介于 0.5(VTOL 飞机)、1(500 型)和 8(4"竞赛)之间,对于任何数值的 K
  • 平行形式(K = 1):在 0.3 和 0.5 之间,如果 P 俯仰增益通常需要比滚动增益高一些。

测试程序

要测试电流增益,请提供快速 步进输入 悬停时,观察飞行器的反应。它应立即执行命令,既不会摆动,也不会过冲(感觉被锁定')。

例如,您可以通过快速将滚动杆推向一侧,然后让它快速回转来创建一个阶跃输入(请注意,如果您只是松开滚动杆,它也会摆动,因为它是由弹簧加载的—;经过良好调试的载具会跟随这些摆动)。

经过精心调试的载具在 Acro 模式 不会随意向一侧倾斜,而是在没有任何校正的情况下保持姿态数十秒。

日志

查看日志也有助于评估跟踪性能。下面是一个良好的滚动和偏航率跟踪示例:

滚动跟踪 偏航率跟踪

这里有一个很好的例子,说明在几次翻转后的滚动率跟踪情况,翻转产生了极大的步进输入。可以看到,载具的过冲量非常小: 滚动率跟踪翻转

姿态控制仪

它通过以下调整参数控制方向并输出所需的机身速率:

姿态控制器更容易调整。事实上,大多数情况下根本不需要更改默认值。

要调整姿态控制仪,请在 手动/稳定模式 并增加 P 逐渐增益。如果开始出现振荡或超调,说明增益过高。

还可以调整以下参数。这些参数决定了围绕所有三个轴的最大旋转速率:

推力曲线

上述调整优化了悬停油门附近的性能。但是,在接近全油门时,您可能会开始看到振荡。

为了抵消这种情况,调整 推力曲线THR_MDL_FAC 参数。

如果更改该参数,可能需要重新调整速率控制器。

默认情况下,电机控制信号(如 PWM)与预期推力之间的映射是线性的—。 THR_MDL_FAC 为 1 则为二次方。介于二者之间的值则采用线性插值。典型值介于 0.3 和 0.5 之间。

如果您有 推力架 (或能 衡量 推力),可以确定 PWM 控制信号与电机实际推力之间的关系,并对数据进行函数拟合。 本笔记本 说明推力模型系数 THR_MDL_FAC 可根据之前测得的推力数据计算得出。

推力曲线补偿

PWM 和静态推力之间的映射在很大程度上取决于电池电压。

如果没有推力架,也可以根据经验调整建模系数。从 0.3 开始,每次增加 0.1。如果过高,您将开始注意到在较低油门值下的振荡。如果过低,则会在油门值较高时出现振荡。

气模 & 混频器饱和度

速率控制器输出所有三个轴(滚动、俯仰和偏航)的扭矩指令和一个标量推力值,需要将其转换为单个电机的推力指令。这一步骤称为混合。

例如,在低推力和大滚转指令的情况下,可能会出现其中一个电机指令变为负值的情况(同样,也可能超过 100%)。这就是混合器饱和。实际上,飞行器不可能执行这些指令(可逆电机除外)。PX4 有两种模式可以解决这个问题:

  • 要么降低滚转的指令扭矩,使电机指令都不低于零(禁用气动模式)。在指令推力为零的极端情况下,这意味着不再可能进行姿态修正,这也是该模式始终需要最小推力的原因。
  • 或者通过增加(提升)指令推力,使电机指令都不是负的(启用 Airmode)。这样做的最大好处是,即使在低油门或零油门时也能正确跟踪姿态/速率。一般来说,它能改善飞行性能。

    然而,它增加了总推力,可能导致即使油门减小到零,飞行器仍继续上升的情况。对于调校良好、功能正常的载具来说,这种情况并不存在,但例如,由于 P 调校增益过高而导致载具强烈摆动时,就会出现这种情况。

下图显示了这两种模式,并附有两个电机的二维图示和滚动扭矩指令 r.左侧电机 r 的推力与指令推力相加,而右侧电机的推力则与指令推力相减。电机推力以 绿化.启用气动模式后,指令推力将增加 b.禁用时 r 减少。

Airmode

如果混合饱和度接近上限,则会降低指令推力,以确保不会指令任何电机提供超过 100% 的推力。这种行为与 Airmode 逻辑类似,无论启用或禁用 Airmode 都会应用。

载具飞行正常后,您可以通过 MC_AIRMODE 参数。

© PX4 开发团队。许可证 CC BY 4.0            已更新:2024-02-13 22:49:01

与" "匹配的结果"

    没有与""匹配的结果"