图库 网站 源码各大网站收录入口
些算法以Clark提出的广义预测控制(GPC)t4,目最具代表性、影响最大。在结构建模没有误差、且噪声强度不很大的条件下,GPC不但能保证闭环稳定性,而且是一种性能优良的、适用面广的自适应算法。
虽然已有MATLAB环境下专门进行模型预测控制的工具箱(MvcToolbox),但要想很好地应用模型预测控制,必须并不是一件简单的事情。如何利用工具箱去设计好一个所期望的模型预测控制器,也必须很好地将工具箱与模型预测控制理论结合起来,只有对理论融会贯通,同时结合工具箱所具有的子程序,才能发挥工具箱的功效。该文利用MAlrIAB模型预测控制工具箱,就如何进行系统模型的辨识,控制器的设计与系统性能的分析给与详细的解读,其主要目的是根据理论具体分析利用模型预测控制工具箱进行各过程的设计、分析以及求解过程。文章最后给出实例。
2系统模型的辨识
为进行模型预测控制器的设计,首先需要进行系统模型的辨识,即根据系统的输入输出数据建立开环系统的模型。系统模型辩识的主要步骤分为两步:对输入输出数据进行预处理和根据处理后的输入输出数据进行系统模型的辩识。MATLABMPC工具箱中对输入输出数据进行预处理提供的相应函数有:autosc.m,scal.m,rescal.Ill,wrtreg.m。前三个函数用于对输人数据进行有关归一化的处理,wrtreg.m用于将从系统中获得的输入输出数据进行预处理。预处理的目的是:在获得输入输出数据之后,可采用最小二乘或部分最小二乘等线形回归方法计算系统的脉冲响应模型的系数。
MPC工具箱中提供的根据处理后的输入输出数据进行系统模型辩识的函数有:mlr.m与plsr.m。它们分别是利用最小二乘法与部分最/]、--乘法来获得多输入单输出系统(MISO)的脉冲响应系数模型。函数的输出均为脉冲响应模型系数矩阵theta。
在得到辨识结果theta后,MPC工具箱提供了其它的函数将theta转换为其他的模型,如阶跃响应模型,MPCrood模型等。由于在MPC工具箱中,模型预测控制器的设计主要基于系统的阶跃响应模型,因此,在完成脉冲响应辨识以后,往往需要转换为阶跃响应模型。用imp2step.m完成这样的转换。在完成辨识以后,可以用新的数据对辨识所得的模型进行校验,这通过函数validmod.m来完成。
3模型之间的转换
在MPC工具箱中有5种模型:状态空间模型,传递函数模型、阶跃响应模型、MPCmod模型、MPC传函模型。其中,状态空间模型与传递函数模型为MATLAB通用格式。MPC工具箱中提供了各种模型之间的转换函数,它们的转换关系与相应的函数如图1所示。
圈1各种模型之阃的转换函数3.1阶跃响应模型
对于一个渐进稳定的线性系统,它的单位阶跃响应序列{嘶}最终会随着时间趋于常值口Ⅳ(这个常值是阶跃响应的稳态值),即单位阶跃响应可以表示为:
A(g-I)=口#一1+叼’2+…+aszm+a—r‘(肌1’+…
因此,这里可以用序列{口t,a2,…甜来表示渐进稳定线性系统。
在MA-11.AB中,阶跃响应模型是一个包含了系统的单位阶跃响应系数以及系统输出维数‰采样周期delt、输出稳定性nout(i)的矩阵。当系统的第i个输出为稳定输出时,nout(1)=1;否则hour(1)=0。
3.2MPCmod模型
设一个系统如图2所示,它包含有未测量和可测量的扰动信号,以及测量噪声。该系统的离散状态空间描述为:x(k+1)=apx(k)+r。脚(I|})+I-d(七)+r∥(.j}),
y(k)可(.|})切(_j})
=C知(矗)+D皿(后)州(蠡)+占L印(而)+岳(矗)
定义:D=哦,Da,训,r=叽,L,瑚
MPCmod模型是一种特殊的状态空间形式。MPCmod模型是一个包含了矩阵①,r,C,D以及一些其它信息的矩阵,它有(n+n产1)行,max{7,l+叶n一时¨列。其中心和‰分别为测量扰动信号和未测量扰动信号的个数。
圈2MPCmod模型的包含的系统结构圈
4控制器的设计
MPC控制器的设计可以采用两种方法:基于阶跃响应模型进行控制器的设计及仿真与基予mpcrood模型进行控制器的设计及仿真。
4.1基于阶跃响应模型的控制器的设计及仿真这种方法的特点是:采用了工程上易于获取的对象阶跃响应模型,算法较为简单,鲁棒性较强,适用子纯延时、开环渐进稳定的非最小相位系统。
(1)输入输出有约束的模型预测控制器设计与系统仿真
所谓输入输出有约束是指系统的输入输出变量满足一定的上下界要求。MPC工具箱提供了函数cmpc.m来用于对输入输出有约束的系统进行设计与仿真。通过设置cmpc.m中的输入参数ulimt与ylimt,就可以规定你所希望的输入输出变量上下界及变化率。cmpc.m是图3所示系统进行模型预测控制器的设计与闭环系统的仿真。
圈3横型预测控制嚣的设计与系统仿真的结构圈
crapc.m的格式为:
y--cmpc(1,step,model,ywt,ttwt,M,P,tend,r)
计算机工程与应用2005.16197;