【MFAC】基于紧格式动态线性化的无模型自适应迭代学习控制

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

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

👉对应书本 7.2 单输入单输出系统(SISO)紧格式动态线性化(CFDL) 和 4.4 单输入单输出系统(SISO)紧格式动态线性化(CFDL)的无模型自适应迭代学习控制(MFAILC)

学习控制律

数据模型:

y ( k + 1 , i ) = y ( k + 1 , i − 1 ) + ϕ c ( k , i ) Δ u ( k , i ) y\left( {k + 1,i} \right) = y\left( {k + 1,i - 1} \right) + \phi_{c}(k,i)\Delta u(k,i)y(k+1,i)=y(k+1,i1)+ϕc(k,i)Δu(k,i)

给定期望轨迹 y d ( k ) , k = 0 , 1 , … T y_d (k),k={0,1,…T}yd(k),k=0,1,T,控制目标是寻找合适的控制输入,使得跟踪误差 e ( k + 1 , i ) = y d ( k + 1 ) − y ( k + 1 , i ) e(k+1,i)=y_d (k+1)-y(k+1,i)e(k+1,i)=yd(k+1)y(k+1,i) 在迭代次数i趋于无穷时收敛为0.

控制律:

u ( k , i ) = u ( k , i − 1 ) + ρ ϕ c ( k , i ) ∣ ϕ c ( k , i ) ∣ 2 + λ e ( k + 1 , i − 1 ) u\left( {k,i} \right) = u\left( {k,i - 1} \right) + \frac{\rho\phi_{c}\left( {k,i} \right)}{\left| \phi_{c}\left( {k,i} \right) \right|^{2} + \lambda}e\left( {k + 1,i - 1} \right)u(k,i)=u(k,i1)+ϕc(k,i)2+λρϕc(k,i)e(k+1,i1)

PPD参数估计算法

ϕ c ^ ( k ) = ϕ c ^ ( k − 1 ) + η Δ u ( k − 1 ) μ + Δ u ( k − 1 ) 2 [ Δ y ( k ) − ϕ c ^ ( k − 1 ) Δ u ( k − 1 ) ] \hat{\phi_{c}}(k) = \hat{\phi_{c}}\left( {k - 1} \right) + \frac{\eta\Delta u\left( {k - 1} \right)}{\mu + {\Delta u\left( {k - 1} \right)}^{2}}\left\lbrack \Delta y(k) - \hat{\phi_{c}}(k - 1)\Delta u\left( {k - 1} \right) \right\rbrackϕc^(k)=ϕc^(k1)+μ+Δu(k1)2ηΔu(k1)[Δy(k)ϕc^(k1)Δu(k1)]

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

PPD参数重置算法

如果

∣ ϕ c ^ ( k , i ) ∣ ≤ ε \left| {\hat{\phi_{c}}(k,i)} \right| \leq \varepsilonϕc^(k,i)ε

∣ Δ u ( k , i − 1 ) ∣ ≤ ε \left| {\Delta u\left( {k ,i- 1} \right)} \right| \leq \varepsilonΔu(k,i1)ε

s i g n ( ϕ c ^ ( k , i ) ) ≠ s i g n ( ϕ c ^ ( k , 1 ) ) sign\left( {\hat{\phi_{c}}(k,i)} \right) \neq sign\left( {\hat{\phi_{c}}(k,1)} \right)sign(ϕc^(k,i))=sign(ϕc^(k,1))

ϕ c ^ ( k , i ) = ϕ c ^ ( k , 1 ) \hat{\phi_{c}}(k,i) = \hat{\phi_{c}}(k,1)ϕc^(k,i)=ϕc^(k,1)

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

相关文章
|
1月前
|
算法
【MFAC】基于全格式动态线性化的无模型自适应控制
【MFAC】基于全格式动态线性化的无模型自适应控制
|
1月前
|
SQL 开发框架 算法
【MFAC】基于偏格式动态线性化的无模型自适应控制
【MFAC】基于偏格式动态线性化的无模型自适应控制
|
1月前
|
Python
三点映射变换
【5月更文挑战第15天】三点映射变换。
9 1
|
1月前
|
调度
知识分享|分段函数线性化及matlab测试
知识分享|分段函数线性化及matlab测试
VHDL编写8-3线优先编码器
VHDL编写8-3线优先编码器
|
1月前
|
算法
【MFAC】基于紧格式动态线性化的无模型自适应控制
【MFAC】基于紧格式动态线性化的无模型自适应控制
|
10月前
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
|
1月前
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
|
机器学习/深度学习 传感器 资源调度
【优化控制】基于策略迭代算法求解重构机械臂容错跟踪控制优化问题含Matlab代码
【优化控制】基于策略迭代算法求解重构机械臂容错跟踪控制优化问题含Matlab代码
|
编解码
失真的概念和定义
失真的概念和定义
147 0