时域指标

本示例展示了使用 systunelooptune 进行控制系统调优时可用的时域指标。

systunelooptune 函数用于调优固定结构控制系统的参数,以满足各种时域和频域指标。要指定这些指标,请使用调优目标对象。

阶跃指令跟踪

TuningGoal.StepTracking 指标规定了调优后的闭环系统应如何响应阶跃输入。您可以根据一阶或二阶特性,或使用显式的参考模型来指定期望的响应。当实际响应与期望响应之间的相对差距在最小二乘意义上足够小时,即满足此指标。例如,

R1 = TuningGoal.StepTracking(‘r’,‘y’,0.5);

规定从 ry 的闭环响应应表现为时间常数为 0.5 的一阶系统,而

R2 = TuningGoal.StepTracking(‘r’,‘y’,zpk(2,[-1 -2],-1));

指定了一个二阶、非最小相位行为。使用 viewGoal 可视化期望的响应。

viewGoal(R2)

Figure contains an axes object. The axes object contains an object of type line. This object represents Desired.

此指标可用于调优 SISO 和 MIMO 阶跃响应。在 MIMO 情况下,该指标确保每个输出以最小的交叉耦合跟踪相应的输入。

阶跃扰动抑制

TuningGoal.StepRejection 指标规定了调优后的闭环系统应如何响应阶跃扰动。您可以指定响应幅度、稳定时间和振荡阻尼的最坏情况值。例如,

R1 = TuningGoal.StepRejection(‘d’,‘y’,0.3,2,0.5);

y ( t ) y(t) y(t) 的幅度限制为 0.3,稳定时间限制为 2 个时间单位,阻尼比限制为最小值 0.5。使用 viewGoal 查看相应的时域响应。

viewGoal(R1)

Figure contains an axes object. The axes object contains an object of type line. This object represents Reference.

您也可以使用“参考模型”来指定期望的响应。请注意,当可以实现更好的扰动抑制时,实际响应与指定响应可能会有显著差异。当需要紧密匹配时,请使用 TuningGoal.Transient 指标。为获得最佳结果,请调整参考模型的增益,使实际响应与指定响应具有相似的峰值幅度(详见 TuningGoal.StepRejection 文档)。

瞬态响应匹配

TuningGoal.Transient 指标为特定输入信号指定瞬态响应。这是 TuningGoal.StepTracking 指标的推广。例如,

R1 = TuningGoal.Transient(‘r’,‘y’,tf(1,[1 1 1]),‘impulse’);

要求从 r r r y y y 的调优响应看起来像参考模型 1 / ( s 2 + s + 1 ) 1/(s^2 + s + 1) 1/(s2+s+1) 的脉冲响应。

viewGoal(R1)

Figure contains an axes object. The axes object contains an object of type line. This object represents Desired.

输入信号可以是脉冲、阶跃、斜坡,或更一般的信号,其建模为某个输入整形滤波器的脉冲响应。例如,频率为 ω 0 \omega_0 ω0 的正弦波可以建模为 ω 0 2 / ( s 2 + ω 0 2 ) \omega_0^2/(s^2 + \omega_0^2) ω02/(s2+ω02) 的脉冲响应。

w0 = 2;
F = tf(w0^2,[1 0 w0^2]); % 输入整形滤波器
R2 = TuningGoal.Transient(‘r’,‘y’,tf(1,[1 1 1]),F);
viewGoal(R2)

Figure contains an axes object. The axes object contains an object of type line. This object represents Desired.

LQG 设计

使用 TuningGoal.LQG 指标为调优控制系统参数创建线性二次高斯目标。此目标适用于任何控制结构,而不仅仅是 LQG 控制的经典观测器结构。例如,考虑图 2 中的简单 PID 回路,其中 d d d n n n 是单位方差扰动和噪声输入, S d S_d Sd S n S_n Sn 是低通和高通滤波器,用于对扰动和噪声的频谱内容进行建模。

Figure contains an axes object. The axes object contains an object of type line. This object represents Desired.

图 2: 调节回路。

为了将 y y y 调节在零附近,您可以使用以下 LQG 准则:

J = lim ⁡ T → ∞ E ( 1 T ∫ 0 T ( y 2 ( t ) + 0.05 u 2 ) d t ) J = \lim_{T \to \infty} E \left( \frac{1}{T} \int_0^T (y^2(t) + 0.05 u^2) dt \right) J=TlimE(T10T(y2(t)+0.05u2)dt)

积分中的第一项惩罚 y ( t ) y(t) y(t) 偏离零的程度,第二项惩罚控制作用。使用 systune,您可以调优 PID 控制器以最小化成本 J J J。为此,请使用 LQG 指标

Qyu = diag([1 0.05]); % y^2 和 u^2 的权重
R4 = TuningGoal.LQG({‘d’,‘n’},{‘y’,‘u’},1,Qyu);

另请参阅

TuningGoal.StepTracking | TuningGoal.StepRejection | TuningGoal.Transient | TuningGoal.LQG

相关主题

  • 频域指标

版权标注与来源说明

本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。

译文系基于原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。

建议使用者优先查阅官方原文。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐