【MFAC】基于全格式动态线性化的无模型自适应控制

简介: 【MFAC】基于全格式动态线性化的无模型自适应控制

来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。

👉对应书本 3.4 单输入单输出系统(SISO)全格式动态线性化(FFDL) 和 4.4 单输入单输出系统(SISO)全格式动态线性化(FFDL)的无模型自适应控制(MFAC)

PFDL仅考虑了在下一时刻的系统输出变化量与当前时刻的一个固定长度滑动时间窗口内的输入变化量之间的动态时变关系,而FFDL还考虑了当前时刻的具有某个长度的滑动时间窗口内的所有控制输入变化量和系统输出变化量对下一时刻的系统输出变化量的影响。

FFDL

全格式动态线性化

(full form dynamic linearization)

数据模型:

Δ y ( k + 1 ) = ϕ f , L y , L u T ( k ) Δ H L y , L u ( k ) \Delta y\left( {k + 1} \right) = \phi_{f,L_{y},L_{u}}^{T}(k)\Delta H_{L_{y},L_{u}}(k)Δy(k+1)=ϕf,Ly,LuT(k)ΔHLy,Lu(k)

伪偏导(PPD) ϕ f , L y , L u ( k ) \phi_{f,L_{y},L_{u}}(k)ϕf,Ly,Lu(k) 的下标 f 表示full

L y L_yLyL u L_uLu 为伪阶数,0 ≤ L y ≤ n y 0≤L_y≤n_y0Lyny1 ≤ L u ≤ n u 1≤L_u≤n_u1Lunu.

L y = 0 L_y=0Ly=0L u = L L_u=LLu=L 时,FFDL数据模型可变为PFDL数据模型;

L y = 0 L_y=0Ly=0L u = 1 L_u=1Lu=1 时,FFDL数据模型可变为CFDL数据模型。

ϕ f , L y , L u ( k ) = [ ϕ 1 ( k ) , ϕ 2 ( k ) , … , ϕ L y ( k ) , ϕ L y + 1 ( k ) , … , ϕ L y + L u ( k ) ] T \phi_{f,L_{y},L_{u}}(k) = \left\lbrack {\phi_{1}(k),\phi_{2}(k),\ldots{,\phi}_{L_{y}}(k),\phi_{L_{y} + 1}(k),\ldots,\phi_{L_{y} + L_{u}}(k)} \right\rbrack^{T}ϕf,Ly,Lu(k)=[ϕ1(k),ϕ2(k),,ϕLy(k),ϕLy+1(k),,ϕLy+Lu(k)]T

Δ H L y , L u ( k ) = [ Δ y ( k ) , … , Δ y ( k − L y + 1 ) , Δ u ( k ) , … , Δ u ( k − L u + 1 ) ] T \Delta H_{L_{y},L_{u}}(k) = \left\lbrack {\Delta y(k),\ldots,\Delta y\left( {k - L_{y} + 1} \right),\Delta u(k),\ldots,\Delta u\left( {k - L_{u} + 1} \right)} \right\rbrack^{T}ΔHLy,Lu(k)=[Δy(k),,Δy(kLy+1),Δu(k),,Δu(kLu+1)]T

SISO-FFDL-MFAC

学习控制律

u ( k ) = u ( k − 1 ) + ρ L y + 1 ϕ L y + 1 ( k ) [ y ∗ ( k + 1 ) − y ( k ) ] ∣ ϕ L y + 1 ( k ) ∣ 2 + λ − ϕ L y + 1 ( k ) ∑ i = 1 L y ρ i ϕ i ( k ) Δ u ( k − i + 1 ) ∣ ϕ L y + 1 ( k ) ∣ 2 + λ − ϕ L y + 1 ( k ) ∑ i = L y + 2 L u + L y ρ i ϕ i ( k ) Δ u ( k − L y − i + 1 ) ∣ ϕ L y + 1 ( k ) ∣ 2 + λ u(k) = u\left( {k - 1} \right) + \frac{\rho_{L_{y} + 1}\phi_{L_{y} + 1}(k)\left\lbrack {y^{*}\left( {k + 1} \right) - y(k)} \right\rbrack}{\left| \phi_{L_{y} + 1}(k) \right|^{2} + \lambda} - \frac{\phi_{L_{y} + 1}(k){\sum\limits_{i = 1}^{L_{y}}\rho_{i}}\phi_{i}(k)\Delta u(k - i + 1)}{\left| \phi_{L_{y} + 1}(k) \right|^{2} + \lambda} - \frac{\phi_{L_{y} + 1}(k){\sum\limits_{i = L_{y} + 2}^{L_{u} + L_{y}}\rho_{i}}\phi_{i}(k)\Delta u\left( k - L_{y} - i + 1 \right)}{\left| \phi_{L_{y} + 1}(k) \right|^{2} + \lambda}u(k)=u(k1)+ϕLy+1(k)2+λρLy+1ϕLy+1(k)[y(k+1)y(k)]ϕLy+1(k)2+λϕLy+1(k)i=1Lyρiϕi(k)Δu(ki+1)ϕLy+1(k)2+λϕLy+1(k)i=Ly+2Lu+Lyρiϕi(k)Δu(kLyi+1)

步长因子 ρ ∈ ( 0 , 1 ] ( i = 1 , 2 , . … , L y + L u ) ρ∈(0,1] (i= 1,2, .… , L_y+L_u)ρ(0,1](i=1,2,.,Ly+Lu)

PPD参数估计算法

{ ϕ ^ f , L y , L u ( k ) = ϕ ^ f , L y , L u ( k − 1 ) + η Δ H L y , L u ( k − 1 ) μ + ∣ | Δ H L y , L u ( k − 1 ) | ∣ 2 [ Δ y ( k ) − ϕ ^ f , L y , L u T ( k − 1 ) Δ H L y , L u ( k − 1 ) ] \{\hat{\phi}_{f,L_{y},L_{u}}(k) = {\hat{\phi}}_{f,L_{y},L_{u}}\left( {k - 1} \right) + \frac{\eta\Delta H_{L_{y},L_{u}}\left( {k - 1} \right)}{\mu + \left| \middle| \Delta H_{L_{y},L_{u}}\left( {k - 1} \right) \middle| \right|^{2}}\left\lbrack \Delta y(k) - {\hat{\phi}}_{f,L_{y},L_{u}}^{T}(k - 1)\Delta H_{L_{y},L_{u}}\left( {k - 1} \right) \right\rbrack{ϕ^f,Ly,Lu(k)=ϕ^f,Ly,Lu(k1)+μ+ΔHLy,Lu(k1)2ηΔHLy,Lu(k1)[Δy(k)ϕ^f,Ly,LuT(k1)ΔHLy,Lu(k1)]

其中,μ>0为权重因子,为了让控制算法更具一般性,引入步长因子 η∈(0,2] .

PPD参数重置算法

如果

∥ ϕ f , L y , L u ^ ( k ) ∥ ≤ ε \left \| {\hat{\phi_{f,L_{y},L_{u}}}(k)} \right \| \leq \varepsilonϕf,Ly,Lu^(k)ε

∥ Δ H L y , L u ∥ ≤ ε \left \| {\Delta H_{L_{y},L_{u}}} \right \| \leq \varepsilonΔHLy,Luε

s i g n ( ϕ f , L y , L u ^ ( k ) ) ≠ s i g n ( ϕ f , L y , L u ^ ( 1 ) ) sign\left( {\hat{\phi_{f,L_{y},L_{u}}}(k)} \right) \neq sign\left( {\hat{\phi_{f,L_{y},L_{u}}}(1)} \right)sign(ϕf,Ly,Lu^(k))=sign(ϕf,Ly,Lu^(1))

ϕ f , L y , L u ^ ( k ) = ϕ f , L y , L u ^ ( 1 ) \hat{\phi_{f,L_{y},L_{u}}}(k) = \hat{\phi_{f,L_{y},L_{u}}}(1)ϕf,Ly,Lu^(k)=ϕf,Ly,Lu^(1)

算法重置机制的引入是为了使PPD估计算法具有更强的对时变参数的跟踪能力。

仿真实验

【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)

相关文章
|
7月前
|
SQL 开发框架 算法
【MFAC】基于偏格式动态线性化的无模型自适应控制
【MFAC】基于偏格式动态线性化的无模型自适应控制
|
7月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
通过利用Transformer中间层的隐藏状态,研究提出了层增强分类(LEC)技术,该技术能够以极少的训练样本和参数实现高效的内容安全和提示注入攻击分类,显著提升了模型的性能,并验证了其跨架构和领域的泛化能力。
23 10
LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
|
6月前
|
机器学习/深度学习 决策智能
**批量归一化(BN)**是2015年提出的深度学习优化技术,旨在解决**内部协变量偏移**和**梯度问题**。
【6月更文挑战第28天】**批量归一化(BN)**是2015年提出的深度学习优化技术,旨在解决**内部协变量偏移**和**梯度问题**。BN通过在每个小批量上执行**标准化**,然后应用学习到的γ和β参数,确保层间输入稳定性,加速训练,减少对超参数的敏感性,并作为隐含的正则化手段对抗过拟合。这提升了模型训练速度和性能,简化了初始化。
61 0
|
7月前
|
数据可视化 测试技术
R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例
R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例
|
7月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
|
7月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应控制
【MFAC】基于紧格式动态线性化的无模型自适应控制
|
7月前
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
|
机器学习/深度学习 算法
SCA算法优化脉冲耦合神经网络的图像自动分割(Matlab代码实现)
SCA算法优化脉冲耦合神经网络的图像自动分割(Matlab代码实现)
116 0
SCA算法优化脉冲耦合神经网络的图像自动分割(Matlab代码实现)