MFAPC称为无模型自适应预测控制,就是在无模型自适应控制MFAC的基础上加入预测机制,即利用到未来时刻的目标输出值。
同样的结合代码与公式简述一下MFAPC的基本原理和实现。
数据驱动的基本思想就是指下一时刻的输入可以由前几个时刻的控制输入和实际输出来获得,即
而引入紧格式动态线性化理论,即可以将上式简写成,当然,线性化需要满足几个基本的假设,一个是函数f要是连续可导,一个是系统要满足Lipschitz条件,显然,这些都不重要,如果想要具体了解这些假设的证明,可以去看论文,满足假设后,可以改写成
也就是所谓的CFDL模型,这个式子告诉我们,只要能找到时变矩阵
就可以直接从输入端映射到输出端。,所以接下的工作就是要找到这个时变矩阵。
将上式展开,同样向前预测N步,可以写出,
再用将上述方程组改写成矩阵形式,
当然可以假设,控制输入信号在Nu时刻之后趋于平稳。所以,
定义好系统之后,就要说明我们控制器的终极目标,引入准则函数,即所有的控制效果除了要使实际输出值逼近目标输出,还要京可能的让控制器的功耗要小,即控制信号的变化要小,这也是可以做上述假设的原因。所以,准则函数就是,
于是就要算出在J足够小的前提下,
的值。
即对矩阵相乘求导,
为避免矩阵求逆运算,
于是回到我们最终的目的,计算时变矩阵,同样的,我们的时变矩阵是为了直接用输入端表征到输出端,所以,
同样的矩阵求导,找最小值,
但是我们,之前的计算中发现,要计算需要计算A(k),而
所以,下一步就是要计算出,未来几个时刻的时变矩阵。
用前几个时刻的时变矩阵,计算当前时刻时变矩阵,即设计所谓的自回归模型
最终,计算成功。结束枯燥的公式推导阶段,进入代码分享。
模型使用经典的两输入两输出模型,
系统输入信号,或者目标输出由经典的阶跃和连续曲线函数。
结果还是很可以的。