极值寻找控制参考模型不确定系统的跟踪
这个例子显示了设计的反馈和前馈增益系统,一个共同的控制器设计方法。这里,我们使用一个极值寻找控制器跟踪给定参考植物模型改进的反馈和前馈收益不确定的动力系统。
不确定线性系统的自适应增益调优
对于这个示例,考虑下面的一阶线性系统。
在这里, 和 系统的状态和控制输入,分别。常数 和 是未知的。
这个例子的目的是跟踪以下参考植物模型的性能,它定义了所需的瞬态和稳态行为。
在这里, 参考植物和的状态吗 是参考信号。
控制信号的目的 是美国吗 不确定系统的跟踪参考 。
设计的控制器包含一个反馈项, 和一个前馈项, 。
替代控制信号到未知的线性系统动力学。
你可以重写这个表达式所示以下方程。
在理想的情况下,如果系数 和 名义系统动力学是已知的,那么你可以确定控制器增益 利用极点配置技术。这样做产生以下匹配条件。
当你使用一个增益值前馈和反馈增益,这可能不满足匹配条件的所有可能的值 和 。对于更一般的解决方案,您可以调整两个不同的增益值(多参数调优)。
对于这个示例,使用下面的未知动态系统和参考。
在这种情况下,理想的控制增益 。
极值寻求控制自适应增益调优
实现一个极值寻求控制(ESC)方法之前的问题,你定义一个目标函数,ESC控制器然后最大化找到控制器增益 。
对于这个示例,使用以下目标函数。
下图显示了极值寻求设置控制。
成本函数是计算输出的参考系统和实际系统。
极值寻找控制器增益参数更新。
更新控制动作使用新的增益值。
这种控制作用应用于实际系统。
的firstOrderRefTracking_Esc
万博1manbetx仿真软件配置模型实现了这个问题。
mdl =“firstOrderRefTracking_Esc”;open_system (mdl)
在这个模型中,您使用极值寻求控制块优化增益值。
系统动力学和客观子系统包含参考模型、植物(包括实际系统和控制动作),和目标函数计算。这些元素都是使用MATLAB实现的功能模块。
open_system ([mdl/系统动力学和客观的])
指定一个初始猜测获得价值。
IC = 0;
极值寻求控制块扰乱使用调制信号参数值。然后解调得到的目标函数的变化信号之前计算的参数更新。配置这个块的极值寻求控制参数。
第一个指定要调优参数的数量(N
)和学习速率(lr
)。
N = 1;lr = 0.55;
通过指定配置解调和调制信号频率(ω
)、阶段(phi_1
和phi_2
),其振幅(一个
和b
)。
ω= 5;%迫使频率= 1;%解调振幅b = 0.1;%调制振幅phi_1 = 0;%解调相位phi_2 = 0;%调制阶段
对于这个示例,极值寻求控制块被配置为从解调信号去除高频噪声。设置相应的低通滤波器的截止频率。
omega_lpf = 1;
模拟模型。
sim (mdl);
检查参考跟踪性能、视图的状态轨迹模拟。实际轨迹收敛于参考轨迹在不到5秒钟。
open_system ([mdl“系统动力学和客观/状态”])
检查ESC的行为控制器,首先查看目标函数,迅速达到最大值。
open_system ([mdl“系统动力学和客观/成本”])
通过最大化目标函数,ESC控制器优化的控制增益值接近理想值2。获得值的波动是由于调制信号的极值寻求控制块。
open_system ([mdl“系统动力学和客观/增益K”])
bdclose (mdl)