【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代码)

相关文章
|
2月前
|
SQL 开发框架 算法
【MFAC】基于偏格式动态线性化的无模型自适应控制
【MFAC】基于偏格式动态线性化的无模型自适应控制
|
2月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
2月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制
|
11月前
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
|
2月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应控制
【MFAC】基于紧格式动态线性化的无模型自适应控制
|
2月前
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
|
10月前
|
机器学习/深度学习 传感器 算法
使用应用于环境振动数据的 SSI-COV 算法自动识别线状结构的模态参数附matlab代码
使用应用于环境振动数据的 SSI-COV 算法自动识别线状结构的模态参数附matlab代码
|
11月前
|
JSON 算法 数据格式
优化cv2.findContours()函数提取的目标边界点,使语义分割进行远监督辅助标注
可以看到cv2.findContours()函数可以将目标的所有边界点都进行导出来,但是他的点存在一个问题,太过密集,如果我们想将语义分割的结果重新导出成labelme格式的json文件进行修正时,这就会存在点太密集没有办法进行修改,这里展示一个示例:没有对导出的结果进行修正,在labelme中的效果图。
118 0
|
机器学习/深度学习 人工智能 编解码
CVPR 2022 | 逆渲染中的⾼效间接光照建模
CVPR 2022 | 逆渲染中的⾼效间接光照建模
512 0
CVPR 2022 | 逆渲染中的⾼效间接光照建模
|
JSON 算法 数据格式
【变化检测】多时相影像变化检测精度评价(附有完整代码)
【变化检测】多时相影像变化检测精度评价(附有完整代码)