新型固定翼PID系统及自动调参

ArduPilot的带头人Tridge带来关于新型固定翼PID系统及自动调参,以下是他带来的分享内容:

上个月,我们终于合并了ArduPilot飞机4.1版本预定的最新固定翼控制代码。

这在几个方面取得了重大改进:

1、更好的手动PID调整,更清晰的参数和更好的滤波。

2、最新固定翼自动调参系统,为更大范围的飞机提供更好的调参功能。

PID的关键变化在于,我们改用了ArduPilot中用于垂直起降机的相同PID代码。这充分利用了@Leonardthall 为改进4.1版本的PID系统所做的伟大工作,并为我们提供了一个通用框架。

旧版PID系统

旧版固定翼PID系统有些许不寻常的特性,这些特性是早期ArduPilot遗留下来的。具体来说,前馈增益是使用P,I,D和时间常数的组合来计算的。这最初是为了让运行早期版本的ArduPilot用户能够保护参数值行为。虽然这种奇怪的前馈计算方式确实有效,但对于那些真正了解PID工作原理的人来说,很难对飞机进行正确的调整。

例如,如果您在旧代码中增加RLL2SRV_D已获得更多的阻尼,那么也会出现减少前馈增益的副作用。这可能并非是用户真正希望的。

新版PID系统

新的PID系统使用新的速率增益名称。例如,现在的全套滚转控制器增益为:

RLL2SRV_RMAX

RLL2SRV_TCONST

RLL_RATE_FF

RLL_RATE_P

RLL_RATE_I

RLL_RATE_D

RLL_RATE_FLTD

RLL_RATE_FLTE

RLL_RATE_FLTT

RLL_RATE_IMAX

相同的参数可用于俯仰,但需要使用PTCH前缀而不是RLL。

RMAX和TCONST参数与前面相同,是确定调参的关键参数。如果您想得到一个剧烈的反馈,那么你需要一个高RMAX和低TCONST。对于相对平缓的调参(如滑翔机),则使用低RMAX和高TCNST。

速率PID本身现有4个增益参数:FF, P, I, D。几乎在所有的固定翼中,FF(前馈)占领导地位,是最重要的参数。幸运的是,您可以从任何日志中读取正确的FF值,其中飞行员已经在FF轴上要求了一个持续的速率(例如命令完全向右侧翻滚,或俯仰向上)。

P和D是修正项,如果你把这两项推得太高它们很可能会引起震荡。这就是为什么我们有一个新的旋转限制器功能。这个功能可以检测此类震荡,并自动回退PID的P和D部分,以减少震荡。

最新固定翼自动调参模式

伴随新的PID系统,我们也有一个最新的自动调参模式。相较于老版的自动调参模式来说,这是一个非常大的进步。新版自动调参模式能够正确地设置你的FF参数以及P, I, D。它应该在比旧版自动调参模式更大范围的飞机上工作。

一如既往,请您报告您所发现新代码的任何问题!如果您想尝试它,只需要加载“最新固件”即可。请在ArduPilot论坛及时更新您的问题。当您更新时,它将自动将旧版PID转换为最新的系统。