根据响应数据以交互方式估计被控对象参数
此示例说明如何使用 PID 调节器对测得的 SISO 响应数据进行线性模型拟合。
如果您有 System Identification Toolbox™ 软件,您可以使用 PID 调节器根据从系统测得的时域响应数据来估计线性被控对象模型的参数。然后,PID 调节器会为生成的模型调节 PID 控制器。使用 PID 调节器,您可以通过多种方法以图形方式、手动方式或自动方式调整估计的模型,以匹配您的响应数据。此示例说明了其中的一些方法。
在此示例中,您将测得的响应数据从数据文件加载到 MATLAB® 工作区,这里被控对象表示为一个 LTI 模型。有关从 Simulink® 模型生成仿真数据的信息,请参阅Interactively Estimate Plant from Measured or Simulated Response Data (Simulink Control Design)。
导入响应数据以进行辨识
打开 PID 调节器,并将测得的响应数据加载到 MATLAB 工作区中。
pidTuner(tf(1),'PI') load PIDPlantMeasuredIOData
当您导入响应数据时,PID 调节器假设您测得的数据表示的是连接到负反馈回路中 PID 控制器的被控对象。换句话说,PID 调节器假定您的系统具有以下结构。PID 调节器假设您在被控对象输入端
u
注入了一个阶跃信号,并在y
处测量系统响应,如图所示。此示例的采样数据文件包含三个变量,每个变量均为一个 501×1 的数组。
inputu
是为获得响应数据而在u
处注入的单位阶跃函数。outputy
是在y
处测得的系统响应。时间向量t
的运行时间范围从 0 到 50 秒,采样时间为 0.1 秒。对比inputu
和t
的数据可以看出,阶跃发生在t
= 5 秒处。提示
您可以导入存储为数值数组(如此示例中所示)、
timeseries
对象或iddata
(System Identification Toolbox) 对象的响应数据。在 PID 调节器的被控对象菜单中,选择“
辨识新被控对象
”。在被控对象辨识选项卡中,点击
获取 I/O 数据,然后选择阶跃响应。此操作将打开导入阶跃响应对话框。
输入有关响应数据的信息。输出信号是测得的系统响应
outputy
。输入阶跃信号被参数化,如对话框中的图所示。在此处,输入5
作为起始滞后,输入0.1
作为采样时间。然后,点击导入。
被控对象辨识图显示响应数据以及初始估计被控对象的响应。
预处理数据
根据响应数据的质量和特征,您可能希望对数据执行一些预处理以改进估计的被控对象结果。PID 调节器提供了几个预处理响应数据的选项,例如删除偏移量、滤波或提取部分数据。在此示例中,响应数据有偏移量。删除数据偏移量对于获得良好的辨识结果非常重要。使用预处理菜单来执行此操作。(有关其他数据预处理选项的信息,请参阅预处理数据。)
在被控对象辨识选项卡上,点击
预处理,然后选择“
删除偏移量
”。删除偏移量选项卡将打开,显示响应数据和对应输入信号的时间图。选择从信号中删除偏移量并选择响应“
输出 (y)
”。在要删除的偏移量文本框中,指定值–2
。您也可以选择信号初始值或信号均值,或输入一个数值。该图会更新,显示另一条应用了偏移量的信号的轨迹。点击
应用以保存对信号的更改。点击
关闭删除偏移量以返回到被控对象辨识选项卡。
PID 调节器根据预处理的响应信号自动调节被控对象参数,为被控对象创建新的初始估计值。
调整被控对象的结构和参数
PID 调节器允许您指定被控对象的结构,例如一个极点、欠阻尼对组或状态空间模型。在结构菜单中,选择最符合您的响应的被控对象结构体。您还可以向被控对象添加传输延迟、零点或积分器。对于此示例,一个极点的结构给出定性正确的响应。您可以进一步调整被控对象的结构和参数值,以使估计的系统响应与测得的响应数据更好地匹配。
PID 调节器为您提供了几种调整被控对象参数的方法:
通过在图上拖动调整器,以图形方式调整估计的系统的响应。在此示例中,拖动红色
x
以调整估计的被控对象时间常量。PID 调节器在您执行此操作时会重新计算系统参数。当您更改估计的系统响应时,很明显,在t
= 5 秒处应用的阶跃输入与系统对该阶跃输入的响应之间存在一定的时滞。要将传输延迟添加到估计的被控对象模型,请在被控对象结构部分中选中延迟。图上出现一条垂直线,指示延迟的当前值。向左或向右拖移该线以更改延迟,并通过拖移红色
x
来进一步调整系统响应。调整系统参数的数值,如增益、时间常量和时滞。要以数值方式调整系统参数值,请点击
编辑参数。
假设您从独立测量得知系统中的传输延迟为 1.5 秒。在被控对象参数对话框中,为 τ 输入 1.5。选中固定以固定参数值。当您对某个参数选中固定时,对估计的被控对象模型的图形调整或自动调整都不会影响该参数值。
自动优化系统参数以匹配测得的响应数据。点击
自动估计以使用当前值作为初始估计值来更新估计的系统参数。
您可以使用上述任一方法继续迭代来调整被控对象的结构和参数值,直到估计系统的响应与测得的响应充分匹配。
保存被控对象并调节 PID 控制器
如果您对拟合感到满意,请点击 应用。这样做会将估计的被控对象
Plant1
保存到 PID 调节器工作区。PID 调节器自动为 Plant1
设计 PI 控制器,并在阶跃图: 参考跟踪图中显示新的闭环响应。被控对象列表中反映出为当前控制器设计选择了 Plant1
。
提示
要检查存储在 PID 调节器工作区中的变量,请查看被控对象列表。
现在,您可以使用 PID 调节器工具来细化估计的被控对象的控制器设计,并检查调节后的系统响应。
您还可以将已辨识的被控对象从 PID 调节器工作区导出到 MATLAB 工作区以便进一步分析。在 PID 调节器选项卡上,点击 导出。检查要导出到 MATLAB 工作区的被控对象模型。对于此示例,导出
Plant1
,即您根据响应数据辨识的被控对象。您也可以导出调节后的 PID 控制器。点击 确定。您选择的模型将保存到 MATLAB 工作区。
辨识的被控对象模型保存为辨识的 LTI 模型,例如 idproc
(System Identification Toolbox) 或 idss
(System Identification Toolbox)。
提示
或者,在数据浏览器中右键点击被控对象,选择它进行调节或将其导出到 MATLAB 工作区。