本发明工业控制技术领域,特别涉及一种工业数据驱动预测控制方法,可以应用于工业过程控制,如造纸、食品加工、石油、化工、电力等行业。
背景技术:
预测控制是20世纪70年代产生于工业过程控制领域的一类算法,具有深刻的工程背景和理论意义,并且在系统控制中得到了广泛的应用。传统的工业预测控制都是采用输入输出模型,包括参数模型和非参数模型。但是为了进一步提高控制性能和控制精度,学术界和工业界普遍认为应该采用状态空间模型,这样近些年所发展起来的现代滤波理论和控制器设计方法就可以发挥作用,而且实际工业过程中往往只有可测输入输出数据已知,模型结构先验知识较少,很难得到输入输出模型。子空间模型辨识方法自从20世纪90年代初提出以来就获得了广泛的关注并得到了迅速发展,在理论和应用上都取得了很多成果。子空间辨识方法利用过程输入输出数据可以直接得到状态空间形式的模型,辨识过程的中间结果直接用于预测模型输出,所以这种方法可以和预测控制结合,组成直接数据驱动的预测控制策略,简称数据驱动预测控制。
目前在工业过程控制领域,pid控制仍广泛应用,这是因为pid控制算法是对人的简单而有效操作方式的总结与模仿,足以维护一般工业过程的平稳操作与运行。但被控过程具有很强的非线性时变特性及存在约束的情况时,就会使得控制效果不太理想,这都是pid控制难以解决的问题。
技术实现要素:
本发明的目的是提供一种控制精度高、简化计算、实用性好的基于子空间辨识的工业数据驱动预测控制方法,以克服在存在非线性时变、约束情况下的工业过程控制中,传统的pid控制方法存在控制精度不高、产品产率低、消耗大等不足的问题。
本发明基于子空间辨识的工业数据驱动预测控制方法,其特征在于:包括以下步骤:
(1)、预测模型输出的求取,根据子空间模型辨识的方法来获得用预测增量所表示的预测输出,具体如下:
在子空间辨识法中根据已测得的输入uk∈rm,输出yk∈rl的数据建立hankel矩阵up和uf,yp和yf;预测输出的最优预测值由下式表示:
其中r为上三角阵,q为正交矩阵,lw和lu由r阵计算求得;为了消除稳态误差,把积分作用引入预测控制器中,得到用预测增量表示的预测输出:
其中yk=[ykyk…yk]t,
其中
(2)、针对非线性时变特性,采用在线递推辨识模型的自适应预测控制方法,并通过比较更新前后预测输出与过程输出的预测误差来决定是否更新预测模型,具体如下:
假设k+1时刻一组新的输入输出数据向量为:
将新得到的数据添加到r阵的最后一列,通过一系列givens变换求得如下的下三角阵:
其中p=p1,p2,…,p3l为一系列givens变换阵,λ为遗忘因子;通过数值计算可得到更新后的预测模型参数矩阵l′w和l′u,加入积分作用后可直接求出
采用未更新模型计算如下数值:
其中yk+1为k+1时刻的过程输出,
采用更新后的模型计算如下数值:
其中
当ess1≤ess2时,预测模型不变;当ess1>ess2时,预测模型更新;
(3)、约束的处理,针对系统中存在的物理约束,采取标准二次规划问题求解,并采用拉格郎日函数形式来降低求解的计算量,具体如下:
针对预测控制过程的如下约束:
其中uk/m=cuk-1+sδuk/m,式中的c和s分别为
将约束合并为一个矩阵不等式的形式:
其中
在每一时刻在线求解目标函数j时采取标准二次规划形式,每一时刻求解的二次规划为:
其中
其中
用如下的qp问题来求解:
约束条件为:
为了降低qp问题求解的计算量,采用拉格郎日函数形式把求解变量δuf变为拉格郎日变量η,以减少qp优化问题中变量的大小;采用如下的拉格郎日加权系数:
其中n为拉格郎日多项式的阶次;将δuf转换为如下的拉格郎日多项式形式:
δuf=φη(18)
其中
将式(18)代入目标函数j中,得到:
其中
约束条件为:
求解得出η,控制增量序列δuf=φη,将控制增量序列的第一个值作为过程的输入增量,经过计算得到k时刻的输入uk/m;在线测量新的输入输出数据,并将数据代入步骤(2)的在线递推方法中,在线更新r阵,得出新的预测模型参数矩阵l′w和l′u,通过判断预测误差来决定是否更新预测模型;最后再进行约束的qp问题求解,求出下一时刻的控制输入。
本发明的有益效果:
本发明基于子空间辨识的工业数据驱动预测控制方法,其针对实际工业过程中的输入输出数据,利用子空间辨识的方法直接得到预测输出,不采用任何传统模型,无需事先假设模型阶次和结构,实用性好;其采用在线递推辨识算法来解决实际工业过程中的非线性时变问题,采取二次规划(qp)优化来处理约束,具有控制精度高、简化了计算等优点。
附图说明
图1为基于子空间辨识的工业数据驱动预测控制方法的流程图。
具体实施方式
下面结合实施例对本发明作进一步描述。
本实施例基于子空间辨识的工业数据驱动预测控制方法,包括以下步骤:
1)、预测模型输出的求取;考虑如下的离散线性时不变系统:
其中输入uk∈rm,输出yk∈rl,状态xk∈rn。噪声序列{ek}为零均值高斯白噪声,其方差矩阵为
根据输入uk(k=1,2,…,2i+j-1)的数据建立i行j列hankel矩阵up和uf:
其中,p和f分别代表“过去”和“未来”;类似地,可以根据输出yk的数据建立hankel矩阵yp和yf、根据测量噪声ek的数据建立hankel矩阵ep和ef。
由式(1)迭代可以得到预测输出:
yf=γxf+huf+hsef(4)
其中,γ为广义可观测矩阵,h和hs为下三角矩阵,xf=[xixi+1…xi+j-1]为未来的状态序列,在这里i取为预测时域l。
根据式(4)得到线性最优预测输出
其中wp为过去的输入输出数据矩阵,即
问题(5)-(6)的解是从列空间yf到wp和uf的列空间的正交投影:
通过如下的qr分解:
其中r为上三角阵,q为正交矩阵,可实施正交投影(7)。令
其中上角标
按照matlab的书写习惯,a(:,c:d)表示a的第c列到第d列上的元素组成的矩阵。
为了消除稳态误差,把积分作用引入预测控制器中,可以得到用预测增量表示的预测输出:
其中yk=[ykyk…yk]t,
其中
2)、针对非线性时变特性,采用在线递推辨识模型的自适应预测控制策略,假设k+1时刻一组新的输入输出数据向量为:
将新得到的数据添加到r阵的最后一列,通过一系列givens变换求得如下的下三角阵:
其中p=p1,p2,…,p3l为一系列givens变换阵,λ为遗忘因子。通过数值计算可得到更新后的预测模型参数矩阵l′w和l′u,加入积分作用后可直接求出
采用未更新模型计算如下数值:
其中yk+1为k+1时刻的过程输出,
采用更新后的模型计算如下数值:
其中
当ess1≤ess2时,预测模型不变。当ess1>ess2时,预测模型更新。
3)、约束的处理;预测控制的一个重要特色就是它的处理物理约束的能力。在石油、化工等实际的工业过程中,为了满足产品的纯度及操作的可行性等要求,普遍存在着带约束的情形。一般的预测控制过程约束如下:
其中uk=cuk-1+sδuk,式中的c和s分别为
这些约束可以合并为一个矩阵不等式的形式:
其中
在每一时刻在线求解预测控制目标函数j时采取标准二次规划(qp)形式,每一时刻求解的二次规划为:
其中
其中
这个问题可以用如下的qp问题来求解:
约束条件为:
为了降低qp问题求解的计算量,采用拉格郎日函数形式把求解变量δuf变为拉格郎日变量η,以减少qp优化问题中变量的大小。采用如下的拉格郎日加权系数:
其中n为拉格郎日多项式的阶次。将δuf转换为如下的拉格郎日多项式形式:
δuf=φη(27)
其中
将式(27)代入目标函数j中,得到:
其中
约束条件为:
对于qp优化问题求解,如不采用拉格郎日多项式,需要求解δuf∈r(im)×1(i为模型的矩阵形式的阶次),采用拉格郎日多项式,则只需优化η∈r(nm)×1(n为拉格郎日多项式的阶次)。n<i,系统的计算量因此而显著减小。
求解得出η,控制增量序列δuf=φη,将控制增量序列的第一个值作为过程的输入增量,经过计算得到k时刻的输入uk。在线测量新的输入输出数据,将这些数据代入前面所述的在线递推方法中,在线更新r阵,得出新的预测模型参数矩阵l′w和l′u,通过判断预测误差来决定是否更新预测模型。最后再进行约束的qp问题求解,即可求出下一时刻的控制输入。
本实施例基于子空间辨识的工业数据驱动预测控制方法,其针对实际工业过程中的输入输出数据,利用子空间辨识的方法直接得到预测输出,不采用任何传统模型,无需事先假设模型阶次和结构,实用性好;其采用在线递推辨识算法来解决实际工业过程中的非线性时变问题,采取二次规划(qp)优化来处理约束,具有控制精度高、简化了计算等优点。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。