当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于收敛深度控制的嵌入式MPC控制方法技术

技术编号:11759139 阅读:103 留言:0更新日期:2015-07-22 12:38
本发明专利技术公开了一种基于收敛深度控制的嵌入式MPC控制方法,该方法分为离线计算和在线计算两部分,离线计算包括参数的计算和内存的分配,在线计算包括状态更新、约束检查、热启动、QP迭代求解和收敛深度控制。本发明专利技术通过收敛深度控制使得在线计算的迭代求解过程可以在给定的收敛深度阈值下提前结束,大幅提高了MPC在线计算的速度,保证控制的实时性。同时,本方法引入的约束检查和热启动也可以进一步减少在线求解的时间。相对于已有技术,本发明专利技术较好地解决了嵌入式平台上MPC控制器求解速度慢,实时性差的问题。

【技术实现步骤摘要】
一种基于收敛深度控制的嵌入式MPC控制方法
本专利技术涉及嵌入式控制领域,特别是涉及一种基于DSP的预测控制(MPC)框架,其特点是带有收敛深度控制,求解精度较高且求解速度较快。
技术介绍
近几十年来,模型预测控制(MPC)已经在很多流程工业得以成功应用。MPC的优越之处在于它能显式地处理约束,并能很好地处理多变量的对象。但MPC现在的主要应用还局限于流程工业等控制周期较长的慢速系统或是非常简单的动态系统上。导致这一现象的根本原因在于MPC算法的实现平台必须能在采样周期内求解一个约束优化问题,这对MPC控制器的控制周期和计算资源都是一个很大的挑战,尤其是在一些MPC控制器受限的嵌入式系统中。随着MPC应用场合的多样化发展,人们对MPC的特性也提出了新的要求。工业过程控制往往使用工控机,虽然能实现MPC中数十甚至数百个变量的在线优化,但成本较高。而在很多领域和行业内,广泛存在具有快速动态特性的系统或设备,例如精密机电系统、汽车运动控制、微型医疗设备等等。相比动态特性缓慢变化的化工、石化生产过程,这些快速动态过程在实时性方面有非常高的要求(控制动作频率需要在10-100Hz以上),并且往往在MPC控制器的实现方面有更为苛刻的限制(体积、功耗、计算资源等)。要求MPC控制器能在很短的时间内优化少数几个变量,采用成本高,功能强的工控机显然不是最好的选择,这时嵌入式MPC控制器因其独有的低成本、体积小巧、实时性等优点,逐渐成为新的研究热点之一。现有的关于嵌入式平台上的研究主要集中在对于MPC中每周期的二次规划命题(QP命题)求解的研究,因为QP命题求解的时间占据了每周期MPC求解的绝大部分时间。而且QP命题求解的方法主要分为离线方法和在线方法两种。离线方法主要是显式预测控制(EMPC),即通过离线处理可以使得在线的计算量仅限于线性函数的计算。在线的QP命题求解方法主要包括内点法和积极集法,有很多研究着眼于对经典的QP命题求解方法进行裁剪并结合MPC的一些特点进行改进。在硬件平台方面,之前很多研究都着眼于FPGA,因为FPGA的计算能力更强,但同时其成本也相对更高。近年来随着嵌入式硬件发展,DSP、ARM等计算平台的计算能力也得到了很大提高,同时这些硬件平台也能维持相对低廉的价格。在MPC算法的实际应用中,优化算法的初始点的设计以及迭代终止条件的设计对于优化求解的速度和精度都有着很大的影响。一些关注初始点设计的研究采用一种热启动的方法,即对上一次求解得到的解进行保存作为本次求解的初始值,这一方面在实际中有着不错的效果。与此同时,关于在嵌入式MPC的研究中却几乎没有对于迭代终止准则的研究。
技术实现思路
基于上面所述的一些研究热点和问题,本专利技术提出一种基于收敛深度控制的嵌入式MPC控制方法,可以在保证控制器求解精度的情况下,大幅度加快求解速度。本专利技术通过以下技术方案予以实现:(1)根据被控对象的模型和设定值曲线,对MPC控制器的参数进行离线计算,离线计算出在线求解中要用的参数即:被控变量加权阵Q,控制增量加权矩阵R,控制时域M,预测时域P,预测方程中的系数F和Φ,以及以QP命题中的系数G,c,Ω,ω,把离线计算得到的参数加载到DSP的内存中。上述参数的具体计算方法将在具体实施方式中予以详细说明。(2)根据步骤(1)所得的参数,在每个控制周期调用一次MPC_online的函数,完成DSP上MPC在线求解的计算,并在求解结束后将控制变量u输出;所述的MPC_online的函数的计算依次包括状态更新,约束检查,热启动,QP迭代求解,收敛深度控制:(2.1)状态更新:采用直接测量可测状态的方法或者引入状态观测器对不可测的状态进行估计。对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态进行更新;对于不可测的状态,引入状态观测器利用被控对象的输入输出数据对状态进行观测,然后采用观测值对当前时刻的状态进行更新。所述的状态观测器优选为Kalman滤波器。(2.2)约束检查:在对被控对象的QP命题进行迭代求解前,求解当前QP命题的一个无约束命题,并检查该解是否满足当前QP命题的约束条件,如果满足约束就可以跳过热启动与迭代求解的过程直接将该解输出,如果不满足约束就进入热启动与迭代求解的过程。因为无约束命题的求解可以通过解析的表达式直接求得,因此在满足约束的情况下直接输出解可以节省大量时间。(2.3)热启动:采用上一周期QP命题的解作为当前QP命题的初始点。如果无约束的解不满足当前QP命题的约束,就要进行迭代求解来得到QP命题的解。而用于迭代求解的内点法需要一组初始点,这里采用一种热启动的方法确定初始点,因为MPC采用的是滚动优化的策略,即在每个控制周期都要求解一个类似的QP命题,因此可以将上一周期的QP命题的解作为初始点。这种热启动的方法可以在一定程度上加快求解的进程。(2.4)QP迭代求解应用内点法进行迭代求解,计算当前QP命题的解。MPC中QP命题求解的核心内容是迭代求解,即通过内点法将当前QP命题的最优性条件(即为KKT条件)转化为对一系列线性方程组的迭代求解。在每次迭代中求解一次线性方程组,求得的解即为当前的迭代点。(2.5)收敛深度控制计算步骤(2.4)所述迭代点的收敛深度,判断当前迭代点是否满足收敛深度阈值的要求,如果满足则终止迭代,输出结果;如果不满足则进入下一次迭代,即重复步骤(2.4)。传统的收敛准则只能给出收敛或者未收敛这样刚性的结论,而不能对当前迭代点的收敛程度给出估计,因此往往会使得迭代过程进入一种求解的成本远大于解的改进程度的状况。本专利技术引入收敛深度控制作为优化算法的迭代终止准则,可以估计出当前迭代点的收敛程度,在迭代过程陷入迭代次数过多而解的改进不明显的情况下提前结束迭代,保证MPC控制器的实时性。(3)从步骤(2)控制器输出的QP命题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量u(k),将该控制量u(k)输出到被控对象上,可以得到被控对象的输出值y(k);若被控对象的状态为可测,还可以得到被控对象的状态变量x(k),则将y(k)和x(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算;若被控对象的状态为不可测,则直接根据y(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算,从而实现嵌入式平台上对快速对象的MPC控制过程。本专利技术的有益效果是:本专利技术引入收敛深度控制作为QP迭代求解中的迭代终止准则,可以在QP迭代的进展不明显时提前终止迭代,减少QP命题求解所需要的时间。当QP命题的无约束解恰好是QP命题的解时,通过引入约束检查直接输出QP命题的解,可以在控制器实际应用中提高计算速度。本专利技术引入热启动,将前一周期QP命题的解作为本周期求解的初始值,可以在实际求解时进一步减少迭代次数,提高求解速度。从整体而言,这种方法可以提高MPC控制器的求解速度,提高MPC的控制频率,使得MPC控制器可以在嵌入式平台上应用到动态过程较快的对象上,而不是仅限在慢速对象上。附图说明图1是基于收敛深度控制的嵌入式MPC控制方法流程图;图2是传统的迭代终止准则中所采用的刚性判断方法结果图;图3是通过Sigmoid函数把传统的刚性的迭代终止准则柔本文档来自技高网
...
一种基于收敛深度控制的嵌入式MPC控制方法

【技术保护点】
一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于该方法包括以下步骤:步骤(1)、根据被控对象的模型和设定值曲线,对MPC控制器的参数进行离线计算,以减少在线计算的计算量;然后将离线计算后的参数加载到DSP的内存中;所述的离线计算后的参数为MPC控制器的被控变量加权阵、控制增量加权矩阵、控制时域、预测时域、预测方程中的系数以及MPC每周期的QP命题中的系数;步骤(2)、根据步骤(1)离线计算后的参数,在每个控制周期调用一次MPC_online的函数,完成DSP上MPC在线求解的计算,并在求解结束后将控制变量u输出,其中MPC_online的函数的计算依次包括状态更新、约束检查、热启动、QP迭代求解、收敛深度控制,具体是:2.1状态更新:采用直接测量可测状态的方法或者引入状态观测器对不可测的状态进行状态估计:对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态变量进行更新;对于不可测的状态,引入状态观测器利用被控对象的输入输出数据对状态进行观测,然后采用观测值对当前时刻的状态变量进行更新;2.2约束检查:在对被控对象的QP命题进行迭代求解前,先求解当前QP命题的一个无约束命题,并检查该解是否满足当前QP命题的约束条件,如果满足约束则跳过热启动与迭代求解的过程直接将该解输出,如果不满足约束则进入热启动与迭代求解的过程;2.3热启动:采用上一周期QP命题的解作为当前QP命题的初始点,该初始点即为决策变量的初值;2.4QP迭代求解:利用内点法进行迭代求解,计算当前QP命题的解,具体是首先通过内点法将当前QP命题的KKT条件转化为对一系列线性方程组的迭代求解;在每次迭代中求解一次线性方程组,求得的解即为当前的迭代点;2.5收敛深度控制:用收敛深度控制准则判断步骤(2.4)得到的迭代点是否满足收敛深度阈值要求,如果满足则终止迭代,输出结果;如果不满足则进入下一次迭代;步骤(3)、从步骤(2)控制器输出的QP命题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量u(k),将该控制量u(k)输出到被控对象上,可以得到被控对象的输出值y(k);若被控对象的状态为可测,还可以得到被控对象的状态变量x(k),则将y(k)和x(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算;若被控对象的状态为不可测,则直接根据y(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算,从而实现嵌入式平台上对快速对象的MPC控制过程。...

【技术特征摘要】
1.一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于该方法包括以下步骤:步骤(1)、根据被控对象的模型和设定值曲线,对MPC控制器的参数进行离线计算,以减少在线计算的计算量;然后将离线计算后的参数加载到DSP的内存中;所述的离线计算后的参数为MPC控制器的被控变量加权阵、控制增量加权矩阵、控制时域、预测时域、预测方程中的系数以及MPC每周期的QP命题中的系数;步骤(2)、根据步骤(1)离线计算后的参数,在每个控制周期调用一次MPC_online的函数,完成DSP上MPC在线求解的计算,并在求解结束后将控制变量u输出,其中MPC_online的函数的计算依次包括状态更新、约束检查、热启动、QP迭代求解、收敛深度控制,具体是:2.1状态更新:采用直接测量可测状态的方法或者引入状态观测器对不可测的状态进行状态估计:对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态变量进行更新;对于不可测的状态,引入状态观测器利用被控对象的输入输出数据对状态进行观测,然后采用观测值对当前时刻的状态变量进行更新;2.2约束检查:在对被控对象的QP命题进行迭代求解前,先对当前QP命题的一个无约束命题求解,并检查该解是否满足当前QP命题的约束条件,如果满足约束则跳过热启动与迭代求解的过程直接将该解输出,如果不满足约束则进入热启动与迭代求解的过程;2.3热启动:采用上一周期QP命题的解作为当前QP命题的初始点,该初始点即为决策变量的初值;2.4QP迭代求解:利用内点法进行迭代求解,计算当前QP命题的解,具体是首先通过内点法将当前QP命题的KKT条件转化为对一系列线性方程组的迭代求解;在每次迭代中求解一次线性方程组,求得的解即为当前的迭代点;2.5收敛深度控制:用收敛深度控制准则判断步骤(2.4)得到的迭代点是否满足收敛深度阈值要求,如果满足则终止迭代,输出结果;如果不满足则进入下一次迭代;步骤(3)、从步骤(2)控制器输出的QP命题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量u(k),将该控制量u(k)输出到被控对象上,得到被控对象的输出值y(k);若被控对象的状态为可测,得到被控对象的状态变量x(k),则将y(k)和x(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算;若被控对象的状态为不可测,则直接根据y(k)构造下一个控制周期的QP命题,从而进入下一个控制周期的计算,从而实现嵌入式平台上对快速对象的MPC控制过程。2.如权利要求1所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(1)具体是首先给定MPC控制器的预测时域P,控制时域M,误差系数加权矩阵Q,控制增量加权系数矩阵R;然后根据被控对象的模型,对MPC控制器内的控制变量个数nu,被控变量个数ny,状态变量个数nx参数进行初始化;考虑一个采用状态空间模型描述被控对象的模型,即:x(k+1)=Ax(k)+Bu(k)y(k+1)=Cx(k+1)其中u为被控对象的输入变量,x为被控对象的状态变量,y为被控对象的输出变量,A为被控对象模型输入的状态矩阵,B为输入矩阵,C为输出矩阵;并在被控对象的模型中加入对象的约束条件,包括控制变量的约束、控制增量的约束、被控变量的约束;MPC控制器在每个周期要求解的QP命题如下:s.t.YP(k)=Fx(k|k)+ΦΔUM(k)Ymin≤YP(k)≤YmaxΔUmin≤ΔUM(k)≤ΔUmaxUmin≤UM(k)≤Umax其中R(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即YP(k)=[y(k+1|k)Ty(k+2|k)T…y(k+P|k)T]TΔUM(k)=[Δu(k)TΔu(k+1)T…Δu(k+M-1)T]T其中Ymin≤YP(k)≤Ymax是对被控变量的约束,ΔUmin≤ΔUM(k)≤ΔUmax是对控制增量的约束,Umin≤UM(k)≤Umax是对控制变量的约束,Y(k)=Fx(k|k)+ΦΔU(k)是基于被控对象模型对被控变量进行预测的预测方程;将公式(1)中的QP命题转换成如下的标准形式:subjeCtto:Ωz≥ω,其中,z是决策变量,G是对称正定的系数矩阵,c是列向量,IΩz≥ω是QP命题的约束,G=ΦTQΦ+R,c=ΦTQT(Fx(k|k)-R(k)),z=ΔUM,然后将离线计算后的参数,即误差系数加权矩阵Q、控制增量加权系数矩阵R、控制时域M、预测时域P、预测方程中的系数以及MPC每周期的...

【专利技术属性】
技术研发人员:徐祖华丁一赵均邵之江
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1