广义预测控制1广义预测控制算法及实例分析一.广义预测控制算法1.广义预测控制的提出广义预测控制是预测控制中三种常见算法之一。预测控制的提出并不是某一种统一理论的产物,而是源于工业实践,并在工业实践过程中发展和完善起来的一类新型计算机控制算法。预测控制不会过分依赖被控对象的精确数学模型,能很好的应对工业对象的结构、参数的不确定性,且用工业计算机较容易实现。2.广义预测控制的基本原理广义预测控制是预测控制中最具代表性的算法,他有三方面的特点:基于传统的参数模型,模型参数少;是在自适应发展过称中发展起来的,保留了自适应发展的优点且更具鲁棒性;采用多步预测、滚动优化、反馈校正更适于工业应用。广义预测控制基本原理:预测模型、滚动优化、反馈校正预测模型:预测控制的模型称为预测模型。预测控制对模型的要求只强调其功能而非结构,只要模型可利用过去己知数据信息预测系统未来的输出行为,就可以作为预测模型。在DMC、MAC等预测控制策略中,采用了阶跃响应、脉冲响应等非参数模型,而GPC预测控制策略则多选择CARIMA参数模型。滚动优化:预测控制是一种优化控制算法,通过某一性能指标的最优来确定未来的控制作用。预测控制的优化标准不是采用一成不变的全局最优化目标,而是采用滚动式的有限时域优化策略。优化不是一次离线进行,而是反复在线进行。在每一采样时刻,优化性能指标只涉及到未来有限的时域,而到下一采样时刻,这一优化时域同时向前推移。因此,预测控制在每一时刻有一个相对于该时刻的优化性能指标,即实现滚动优化。反馈校正:预测控制算法在进行滚动优化时,优化的基点应与系统实际一致。但作为基础的预测模型,只是对象动态特性的粗略描述,可能与实时状态不慎符合。这就需要用附加的预测手段补充模型预测的不足,或对基础模型进行在线修正。预测控制算法在通过优化确定了一系列未来的控制作用后,每次只是实施当前时刻的控制作用。到下一采样时刻,则首先检测对象的实际输出,并利用这一实时信息对基于模型的预测进行修正,然后再进行新的优化。3.广义预测控制的算法广义预测控制23.1预测模型及参考轨迹在GPC中,采用最小方差控制中所用的受控自回归积分滑动平均模型(CARIMA)来描述受到随机干扰的对象:)()()()()()(111kqCkuqqBkyqAd)1.1.3.1(其中:aannqaqaqA1111)(bbnnqbqbbqB1101)(ccnnqcqccqC1101)(1q是后移算子;)1()(1kyqky;11q为差分算子;)(k是一个独立的随机噪声序列,为研究方便,如若假设1d,则模型可简化为:)()()1()()()(111kqCkuqBkyqA)2.1.3.1(则jk时刻系统模型为:)()()1()()()(111jkqCjkuqBjkyqA)3.1.3.1(因为)(jky中含有未知信息,因此引入Diophantine方程获得系统在jk时刻的输出预测值。Diophantine方程:)()()(1111qFqqEqAjjj)4.1.3.1(其中:)1(1,11,0,1)(jjjjjjqeqeeqEaannjjjjqfqffqF,11,0,1)(jE和jF由)(1qA和预测长度j唯一确定,由)3.1.3.1(、)4.1.3.1(可化简得到如下方程:)()()1()(jkEkyFjkuBEjkyjjj,从而得到GPC预测模型为:)()1()(kyFjkuGjkyjjM)5.1.3.1(其中)1(1,11,0,)1(jnjnjjjjjjjbbqgqggAFqBBEG)6.1.3.1(因此,对于未来jk时刻的输出估计只使用k时刻之前的输出以及我们根据最优性能指标确定的输入来确定即可。广义预测控制3式)2.1.3.1(可简化为:)()()1()()()(111kqCkuqBkyqA)7.1.3.1(其中aannqaqaqqAqA111111)1)(()(aiiinnaaniaaaaaannaa1,,,1,110,则k时刻对jk时刻的误差可记为:1),()()(~jkjkyjkykjky)8.1.3.1(使预测误差的方差:})(~{2kjkyEJ)9.1.3.1(最小的j步最优预测)(*kjky由下列差分方程给出:)1()()()()()(11*1jkuqGkyqFkjkyqCjj)10.1.3.1(此时最优预测误差表示为:)()()(~1*jkqEkjkyj)11.1.3.1(假设1)(1qC此时式)10.1.3.1(可简化为:21101*),1()()()(NjNjkuqgjkykjkyjiii)12.1.3.1(其中,)]1()()([)()()(10111jkuqgqGkyqFjkyjiiijj式)12.1.3.1(中的)(1jky由过去的控制输入和输出决定,而)1()(10jkuqgjiii由现在和未来的控制输入决定。式)12.1.3.1(用向量和矩阵的形式表示是:uGyy1*)13.1.3.1(其中,TkNkykNkykNkyy)](),1(),([2*1*1**TNkyNkyNkyy)](),1(),([2111111TuNkukukuu)]1(),1(),([uuNNNNNNNNNNNgggggggggg)1(21001021122111111000G其中21,NN分别称为最小和最大预测步长,uN为控制步程)(2NNu,G中参数均广义预测控制4为被控对象开环阶跃响应系数。根据最优预报可知:)()()()(1*jkqEkjkyjky)14.1.3.1()()}({*kjkyjkyE)15.1.3.1(在GPC中,为了将输出值)(ky按一定响应速度平滑地过渡到由参数轨迹确定的期望值w,参考轨迹通常可取为如下的一阶滞后(一阶平滑)模型:)()(kykyr)16.1.3.1(2,,2,1)1()1()(Njwjkyjkyrr)17.1.3.1(其中,]1,0[为输出柔化系数。3.2滚动优化GPC采用的是对输出误差和控制增量加权的二次型性能指标:})(){(uuyyyyEJTrTr)1.2.3.1(其中,TrrrrNkyNkyNkyy)](),1(),([211)2.2.3.1(TNkyNkyNkyy)](),1(),([211)3.2.3.1(为控制增量加权系数将式)1.2.3.1(对u求极值,可得最优控制律为:)()(11yyGIGGurTT)4.2.3.1(则当前的控制作用为:)()](0,,0,1[)1()(11yyGIGGkukurTT)5.2.3.1(3.3在线辨识与反馈校正GPC控制算法只使用一个控制模型,通过在线反馈校正来保证其准确的预测。将对象)7.1.3.1(改写为:)()1()()()(~)(111kkuqBkyqAky)1.3.3.1(其中,1)()(111qAqA则有,)()()(kkkyT)2.3.3.1(广义预测控制5其中,Tbankukunkykyk)]1()1()()1([)(Tnnbabbaa][01可用带遗忘因子的递推最小二乘法(RLS)来估计模型参数值:)]1(ˆ)()()[()1(ˆ)(ˆkkkykKkk)3.3.3.1(1])()()()[()1()(kkPkkkPkK)4.3.3.1()1()]()([1)(kPkkKIkP)5.3.3.1(其中,10是遗忘因子,一般可取195.0;)(kK是权因子,)(kP为正定协方差阵。控制启动时需要设置参数向量和协方差阵P的初值,通常设定方法为:为充分小的实向量,为充分大的实数)0(ˆ,)0(2IP)6.3.3.1(总结GPC算法计算机实现步骤如下:1)根据被控对象及其控制要求给出和,,,,,21ubaNNNnn;2)设置初值)(和0ˆ)0(P,输入初始数据;3)读取)(ky,用带遗忘因子的RLS递推估计ˆ;4)用辨识得到的参数代替式)7.1.3.1(中的BA和,递推求解Diophantine方程得到jGFj和;5)构造向量Gyyr和矩阵1,,并计算1)(IGGT;6)计算TTGIGG1)(的第一行;7)按式)5.2.3.1(计算并施加控制)(ku;8)返回3)继续循环。二.广义预测控制仿真分析取被控对象为:/)]1(5.2)([)5(2)4()3(1.1)2(1.3)1(3)(kkkukukykykyky广义预测控制6其中,11N,控制步程82uNN,柔化系数7.0,控制增量加权系数j动态变化不为常值,通过仿真可得到系统的辨识参数,期望参考输出)(kw,实际输出)(ky以及所需控制作用)(ku。0100200300400500600-4-3-2-101234k辨识参数a、b、ca1a2a3b0b1c1图1系统的辨识参数模型参数的求取,实际上利用的是递推最小二乘的方法实现的,这也正是广义预测控制起源于自适应控制的体现。广义预测控制中加入了反馈校正可对控制模型进行在线闭环校正,但此仿真实例给出了被控对象精确模型,他不同于实际系统中被控对象的模型存在不确定性,因而在线辨识参数可能存在变化。因模型确定,我们图像中ba,很短时间后即可准确估计,但通过噪声c的轻微变化我们仍可以感受到广义预测控制中在线反馈校正的作用,当确定出系统参数后,即可利用最优性能指标来确定系统控制率)(ku了。广义预测控制70100200300400500600-20-1001020kw(k)、y(k)w(k)y(k)0100200300400500600-4-2024ku(k)图2期望参考输出w(k)、实际输出y(k)、控制作用u(k)从图2中可以看到,当我们给定期望参考输出)(kw为方波信号时,实际输出)(ky可以跟随期望参考输出的变化而变化,而且其跟随效果除突变点处还是相对较好的。我们所需知道的控制作用)(ku可以实时在线给出,利用这一控制律就可以得到我们期望的输出。当给出不同的期望输出时,如)(kw并非方波信号,广义预测控制同样可以得到控制律)(ku,达到跟踪期望输出的目的。广义预测控制不需要知道被控对象准确的模型,而能达到系统期望的结果或性能指标,他是工业控制中较常采用的先进控制策略。