CN104793489B - 一种基于收敛深度控制的嵌入式mpc控制方法 - Google Patents
一种基于收敛深度控制的嵌入式mpc控制方法 Download PDFInfo
- Publication number
- CN104793489B CN104793489B CN201510073102.0A CN201510073102A CN104793489B CN 104793489 B CN104793489 B CN 104793489B CN 201510073102 A CN201510073102 A CN 201510073102A CN 104793489 B CN104793489 B CN 104793489B
- Authority
- CN
- China
- Prior art keywords
- mrow
- mtd
- msub
- mtr
- msup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000012804 iterative process Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims description 2
- 230000000452 restraining effect Effects 0.000 abstract description 4
- 238000011160 research Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- OZJCQBUSEOVJOW-UHFFFAOYSA-N (4-ethylsulfanylphenyl) n-methylcarbamate Chemical compound CCSC1=CC=C(OC(=O)NC)C=C1 OZJCQBUSEOVJOW-UHFFFAOYSA-N 0.000 description 1
- 241000208340 Araliaceae Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Landscapes
- Feedback Control In General (AREA)
- Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
Abstract
本发明公开了一种基于收敛深度控制的嵌入式MPC控制方法,该方法分为离线计算和在线计算两部分,离线计算包括参数的计算和内存的分配,在线计算包括状态更新、约束检查、热启动、QP迭代求解和收敛深度控制。本发明通过收敛深度控制使得在线计算的迭代求解过程可以在给定的收敛深度阈值下提前结束,大幅提高了MPC在线计算的速度,保证控制的实时性。同时,本方法引入的约束检查和热启动也可以进一步减少在线求解的时间。相对于已有技术,本发明较好地解决了嵌入式平台上MPC控制器求解速度慢,实时性差的问题。
Description
技术领域
本发明涉及嵌入式控制领域,特别是涉及一种基于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函数把传统的刚性的迭代终止准则柔化为弹性的可控收敛深度的准则结果图;
图4是采用收敛深度控制判断迭代点收敛情况的流程图;
图5是硬件在环(HIL)的说明图;
图6是基于传统迭代终止准则的控制效果和求解时间的示意图;
图7是基于收敛深度控制的控制效果和求解时间的示意图。
具体实施方式
如图1所示,一种基于收敛深度控制的嵌入式MPC控制方法,实施步骤如下:
(1)离线计算和设定MPC控制器的参数
给定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)≤ΔUmax
Umin≤UM(k)≤Umax
其中R(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即
YP(k)=[y(k+1|k)T y(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
其中上标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是列向量,Ωz≥ω是QP命题的约束。其中G=ΦTQΦ+R,c=ΦTQT(Fx(k|k)-R(k)),z=ΔUM。且有:
然后将离线计算后的参数,即被控变量加权阵Q、控制增量加权矩阵R、控制时域M、预测时域P、预测方程中的系数以及MPC每周期的QP命题中的系数加载到DSP的内存中。
(2)在每个控制周期调用用于在线MPC控制求解的函数MPC_online。
MPC_online函数的传入参数包括当前时刻被控对象的输出的测量值y,如果对象的状态可测,还应包括对象状态的测量值;函数内部保存的数据包括控制变量和被控变量的历史记录(用于对不可测的状态进行估计);函数的输出为该时刻的控制增量Δu。
如图1所示,MPC_online函数内部进行的流程依次包括:状态更新、约束检查、热启动、QP迭代求解以及收敛深度控制。
(3)在对预测时域内的被控变量进行预测的过程中,需要用到当前时刻的状态变量x(k)的值。对于状态可测的对象,如机械系统的位置、速度等,可以直接进行测量并传入MPC_online函数中对状态进行更新;对于状态不可测的对象,可以通过设计Kalman观测器的方法,由控制变量和被控变量对状态变量进行更新。
(4)约束检查
对于(2)中的标准QP命题,当不存在Ωz≥ω的约束时,QP命题的解可以通过解析的方法直接求出:
z*=-G-1c (3)
如图1所示,当(3)式求得的解满足Ωz≥ω的约束时,可以不进行迭代而直接输出QP命题的解z*,由于在实际的求解中,迭代求解的过程往往占据大量的时间,因此直接输出QP命题的解将会节省大量的时间开销。
(5)热启动。
在k-1时刻,通过求解可以得到的控制增量记为:
因此可以在k时刻将当前QP命题的初始点设为:
即对上一周期的解进行一步移位得到该周期的初始值。
(6)QP迭代求解。
对于(2)式中的标准QP命题,其最优性条件(KKT条件)如下:
Gz-ΩTλ+c=0, (4a)
Ωz-s-ω=0, (4b)
siλi=0,i=1,2,...,mc, (4c)
(s,λ)≥0 (4d)
这里的s是松弛变量,λ是对偶变量。这样一个KKT条件可以通过迭代地求解如下的线性方程组来求解:
其中:
rd=Ωz-ΩTλ+c,rp=Ωz-s-ω
为了改进每次迭代的效果,使得迭代点在各个方向上的下降速度趋于平均,这里引入centering parameterσ,即(5)中的线性方程组改写为:
其中是对QP命题对偶性的衡量,可以用来表征迭代的收敛情况。由公式(6)求解得到的Δz,Δs,Δλ即为所述的迭代点zk。
基于上面的分析,我们可以得到一个内点法的算法,QP的迭代求解的过程就是重复下面for循环中步骤的过程。
(7)收敛深度控制
针对(2)式中的QP命题,传统的迭代终止准则如下:
C1.||zk+1-zk||<ε, (7a)
C2.||Jk+1-Jk||<ε, (7b)
C3.(ω-Ωz)<0, (7c)
其中ε是容差,Matlab中的QP求解函数的默认容差值为10-8。在上述准则中,(7a)和(7b)用来检查迭代点和目标函数的收敛性,(7c)用来检查约束违反的情况。这种迭代终止的准则是非常僵硬的,只能给出迭代点是“已收敛”或是“未收敛”这样的答案,而不能反映出当前迭代点的收敛程度和可能的改进情况,如图2所示。因此,采用这样这样的迭代终止准则往往使迭代陷入计算成本很高(迭代次数过多)而解的改进并不明显的情况。
收敛深度控制就是被设计来针对这种情况。当发现当前迭代点陷入计算成本远高于求解精度的改进时,收敛深度控制可以使得迭代提前终止。或者可以通过对上述僵硬的迭代终止准则进行柔化,使得迭代过程可以在几乎不影响求解精度的前提下提前终止,以节省求解时间。
在收敛深度控制中,我们通过以下指标反映当前迭代点的状态。首先,迭代点zk的可行性和目标函数的预期改进程度定义如下:
然后,在当前迭代的优化求解的进展情况可以定义如下:
通过把(10)和(11)作为对误差的度量,迭代点的收敛深度和进展程度可以定义如下:
其中ε0是给定的容差(这里取作10-8),S是变形的Sigmoid函数,其定义如下:
其中ξ是影响Sigmoid曲线形状的参数。通过这个函数,(7)式中僵硬的准则就可以被柔化成可以作弹性调整的准则,即可以通过制定迭代的收敛深度来控制迭代求解的精度和时间,如图3所示。
图4给出了收敛深度控制实现的流程图。如果当前迭代点的收敛深度达到了给定的阈值θ0,那么当前的迭代过程就被判定为已收敛。否则,如果反应当前迭代进展情况的指标已经累计η次达到给定的阈值θ1(即已经有超过η次的迭代被认为“进展不大”),那么整个迭代过程就会被认为“没有改进的空间”,然后输出一个“未完全收敛”的结果。通常情况下,θ0可以根据用户对求解精度和求解时间的权衡自定义调整,而θ1一般要取一个较大的值(如0.9),保证迭代不会在仍有前进空间的时候退出。
具体实施过程:
用ANSI C代码实现图1中的在线计算的流程,经过编译后下装到DSP的内存中。通过串口通信或者其他数模模数转换接口建立DSP与被控对象的通信,也可以用硬件在环技术(HIL)对MPC控制器的参数进行仿真和调试。在运用HIL进行仿真调试的过程中,建立起PC端与DSP端的串口通信,如图5。在PC端建立被控对象的模型,接受DSP的控制信号,将被控对象的输出反馈给DSP上的MPC控制器。可以在这样的仿真框架下对MPC控制器的参数进行调整,改进控制效果。
本发明进行实施和仿真的硬件平台包括装有Windows7系统的PC机,DSP采用的是TI公司的TMDSEVM6678LE开发板,采用HIL方法对MPC控制器进行调试和设计。用PC上的Matlab对被控对象的模型进行仿真。
本发明实施例应用于一个旋转天线的对象,对象的状态空间模型为:
y(k)=[1 0]x(k)
该对象用输入电压作为控制变量u,天线的旋转角度作为被控变量y。对象的约束包括|Δu(k)|≤1V以及|u(k)|≤2V。控制参数为预测时域P=20,控制时域M=3。因此,待求解的QP命题有3个决策变量,12调约束。通过测试表名,当收敛深度的阈值θ0=0.4时,收敛深度控制的引入可以在不影响控制效果的前提下大幅降低求解时间。如图6和图7所示,图6为基于传统迭代终止准则的控制效果,求解时间和迭代次数,图7是基于收敛深度控制的控制效果,求解时间和迭代次数。可以从两幅图的对比明显看出,收敛深度控制可以在几乎不影响控制效果的前提下,大幅度减少QP求解的计算时间,以提高DSP上MPC控制器的实时性。
上述实施例并非是对于本发明的限制,本发明并非仅限于上述实施例,只要符合本发明要求,均属于本发明的保护范围。
Claims (8)
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命题如下:
<mrow>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<msub>
<mi>&Delta;U</mi>
<mi>M</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<mi>J</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mrow>
<mo>&lsqb;</mo>
<mi>R</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>Y</mi>
<mi>P</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mi>T</mi>
</msup>
<mi>Q</mi>
<mo>&lsqb;</mo>
<mi>R</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>Y</mi>
<mi>P</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>+</mo>
<msub>
<mi>&Delta;U</mi>
<mi>M</mi>
</msub>
<msup>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
<msub>
<mi>R&Delta;U</mi>
<mi>M</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
s.t.YP(k)=Fx(k|k)+ΦΔUM(k)
Ymin≤YP(k)≤Ymax
ΔUmin≤ΔUM(k)≤ΔUmax
Umin≤UM(k)≤Umax
其中
<mrow>
<mi>&Phi;</mi>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>C</mi>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>C</mi>
<mi>A</mi>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>C</mi>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<mi>CA</mi>
<mn>2</mn>
</msup>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>C</mi>
<mi>A</mi>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>C</mi>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<mi>CA</mi>
<mrow>
<mi>P</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<msup>
<mi>CA</mi>
<mrow>
<mi>P</mi>
<mo>-</mo>
<mn>2</mn>
</mrow>
</msup>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<msup>
<mi>CA</mi>
<mrow>
<mi>P</mi>
<mo>-</mo>
<mn>3</mn>
</mrow>
</msup>
<mi>B</mi>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<msup>
<mi>CA</mi>
<mrow>
<mi>P</mi>
<mo>-</mo>
<mi>M</mi>
</mrow>
</msup>
<mi>B</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
R(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即
YP(k)=[y(k+1|k)T y(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命题转换成如下的标准形式:
<mrow>
<munder>
<mi>min</mi>
<mi>z</mi>
</munder>
<mi>J</mi>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<msup>
<mi>z</mi>
<mi>T</mi>
</msup>
<mi>G</mi>
<mi>z</mi>
<mo>+</mo>
<msup>
<mi>c</mi>
<mi>T</mi>
</msup>
<mi>z</mi>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
subjeCt to:Ωz≥ω,
其中,z是决策变量,G是对称正定的系数矩阵,c是列向量,IΩz≥ω是QP命题的约束,G=ΦTQΦ+R,c=ΦTQT(Fx(k|k)-R(k)),z=ΔUM,
然后将离线计算后的参数,即误差系数加权矩阵Q、控制增量加权系数矩阵R、控制时域M、预测时域P、预测方程中的系数以及MPC每周期的QP命题中的系数加载到DSP的内存中。
3.如权利要求2所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2)中所述的MPC_online函数的传入参数包括当前时刻被控对象的输出变量y,若被控对象的状态可测,还包括被控对象状态的状态值;函数内部保存的数据包括控制变量和被控变量的历史记录;函数的输出为当前时刻的控制增量Δu。
4.如权利要求3所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2.1)中所述的状态观测器为Kalman滤波器。
5.如权利要求4所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2.2)具体是
针对如下公式(2)的QP命题进行求解:
<mrow>
<munder>
<mi>min</mi>
<mi>z</mi>
</munder>
<mi>J</mi>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<msup>
<mi>z</mi>
<mi>T</mi>
</msup>
<mi>G</mi>
<mi>z</mi>
<mo>+</mo>
<msup>
<mi>c</mi>
<mi>T</mi>
</msup>
<mi>z</mi>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
当QP命题不存在Ωz≥ω的约束时,QP命题的解z*通过解析的方法直接求出:
z*=-G-1c (3)
当(3)式求得的解满足Ωz≥ω的约束时,不进行迭代而直接输出QP命题的解z*;当(3)式求得的解不满足Ωz≥ω的约束时,直接进入热启动与迭代求解过程。
6.如权利要求5所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2.3)具体是
在k-1时刻,通过求解得到的控制增量记为:
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>U</mi>
<mo>~</mo>
</mover>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>M</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
因此在k时刻将当前QP命题的初始点设为:
<mrow>
<msub>
<mi>Z</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mover>
<mi>u</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>M</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
即对上一周期的解进行一步移位得到该周期QP命题决策变量的初始值。
7.如权利要求6所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2.4)具体是
对于(2)式中的QP命题,其KKT条件如下:
Gz-ΩTλ+c=0 (4a)
Ωz-s-ω=0 (4b)
siλi=0,i=1,2,...,mc, (4c)
(s,λ)≥0 (4d)
其中s是松弛变量,λ是对偶变量,该条件通过迭代求解如下线性方程组:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>G</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<msup>
<mi>&Omega;</mi>
<mi>T</mi>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>&Omega;</mi>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>I</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mi>&Lambda;</mi>
</mtd>
<mtd>
<mi>S</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>z</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>s</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>&lambda;</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>d</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>p</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>S</mi>
<mi>&Lambda;</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中
rd=Ωz-ΩTλ+c,rp=Ωz-s-ω
<mrow>
<mi>S</mi>
<mo>=</mo>
<mi>d</mi>
<mi>i</mi>
<mi>a</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>s</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>s</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>s</mi>
<msub>
<mi>m</mi>
<mi>c</mi>
</msub>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>&Lambda;</mi>
<mo>=</mo>
<mi>d</mi>
<mi>i</mi>
<mi>a</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&lambda;</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>&lambda;</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>&lambda;</mi>
<msub>
<mi>m</mi>
<mi>c</mi>
</msub>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>e</mi>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>,</mo>
<mn>1</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
<mo>;</mo>
</mrow>
为了改进每次迭代的效果,使得迭代点在各个方向上的下降速度趋于平均,这里引入centering parameterσ,即(5)中的线性方程组改写为:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>G</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<msup>
<mi>&Omega;</mi>
<mi>T</mi>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>&Omega;</mi>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>I</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mi>&Lambda;</mi>
</mtd>
<mtd>
<mi>S</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>z</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>s</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&Delta;</mi>
<mi>&lambda;</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>d</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<msub>
<mi>r</mi>
<mi>p</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>S</mi>
<mi>&Lambda;</mi>
<mi>e</mi>
<mo>+</mo>
<mi>&sigma;</mi>
<mi>&mu;</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
其中是一种迭代点最优程度的衡量;
由公式(6)求解得到的Δz,Δs,Δλ即为所述的迭代点zk。
8.如权利要求7所述的一种基于收敛深度控制的嵌入式MPC控制方法,其特征在于步骤(2.5)具体是
首先将步骤2.4得到的迭代点zk的可行性和目标函数的预期改进程度定义如下:
<mrow>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mo>{</mo>
<mi>&omega;</mi>
<mo>-</mo>
<msub>
<mi>&Omega;z</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>o</mi>
<mi>b</mi>
<mi>j</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mo>|</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>Gz</mi>
<mi>k</mi>
</msub>
<mo>+</mo>
<mi>c</mi>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
<msub>
<mi>&Delta;z</mi>
<mi>k</mi>
</msub>
<mo>|</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
然后将当前迭代的优化求解的进展情况定义如下:
<mrow>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>C</mi>
<mi>h</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mo>|</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>|</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>o</mi>
<mi>b</mi>
<mi>j</mi>
<mi>C</mi>
<mi>h</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mo>|</mo>
<msub>
<mi>J</mi>
<mi>k</mi>
</msub>
<mo>-</mo>
<msub>
<mi>J</mi>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>11</mn>
<mo>)</mo>
</mrow>
</mrow>
通过把(10)和(11)作为对误差的度量,迭代点的收敛深度和进展程度定义如下:
<mrow>
<msubsup>
<mi>&theta;</mi>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>v</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mi>S</mi>
<mrow>
<mo>(</mo>
<mi>max</mi>
<mo>{</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>o</mi>
<mi>b</mi>
<mi>j</mi>
<mi>E</mi>
<mi>r</mi>
<mi>r</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msup>
<mi>&mu;</mi>
<mi>k</mi>
</msup>
<mo>}</mo>
<mo>,</mo>
<msub>
<mi>&epsiv;</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>12</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>&theta;</mi>
<mrow>
<mi>p</mi>
<mi>r</mi>
<mi>o</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>=</mo>
<mi>S</mi>
<mrow>
<mo>(</mo>
<mi>max</mi>
<mo>{</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>f</mi>
<mi>e</mi>
<mi>a</mi>
<mi>s</mi>
<mi>C</mi>
<mi>h</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>&delta;</mi>
<mrow>
<mi>o</mi>
<mi>b</mi>
<mi>j</mi>
<mi>C</mi>
<mi>h</mi>
<mi>g</mi>
</mrow>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msup>
<mi>&mu;</mi>
<mi>k</mi>
</msup>
<mo>}</mo>
<mo>,</mo>
<msub>
<mi>&epsiv;</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>13</mn>
<mo>)</mo>
</mrow>
</mrow>
其中ε0是给定的容差,s是变形的Sigmoid函数,其定义如下:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&delta;</mi>
<mi>k</mi>
</msub>
<mo>,</mo>
<msub>
<mi>&epsiv;</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>tanh</mi>
<mo>&lsqb;</mo>
<mi>&xi;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>log&delta;</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<msub>
<mi>log&epsiv;</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mi>tanh</mi>
<mi>&xi;</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>15</mn>
<mo>)</mo>
</mrow>
</mrow>
其中ξ是影响Sigmoid曲线形状的参数;
如果当前迭代点的收敛深度大于于给定的收敛深度阈值θ0,那么当前的迭代过程就被判定为已收敛;若小于给定的收敛深度阈值θ0,那么当前的迭代过程就被判定为未收敛,则进入以下一次迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073102.0A CN104793489B (zh) | 2015-02-12 | 2015-02-12 | 一种基于收敛深度控制的嵌入式mpc控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073102.0A CN104793489B (zh) | 2015-02-12 | 2015-02-12 | 一种基于收敛深度控制的嵌入式mpc控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793489A CN104793489A (zh) | 2015-07-22 |
CN104793489B true CN104793489B (zh) | 2017-09-29 |
Family
ID=53558392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510073102.0A Expired - Fee Related CN104793489B (zh) | 2015-02-12 | 2015-02-12 | 一种基于收敛深度控制的嵌入式mpc控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793489B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020010629A1 (zh) * | 2018-07-13 | 2020-01-16 | 西门子股份公司 | 过程控制预测模型调整方法、装置和过程控制器 |
CN108873701B (zh) * | 2018-07-17 | 2019-11-22 | 浙江大学 | 一种基于fpaa模拟神经网络的空分装置快速模型预测控制方法 |
FR3087387B1 (fr) * | 2018-10-19 | 2021-10-08 | Michelin & Cie | Procede de simulation de l'evolution temporelle d'un systeme physique en temps reel |
CN111158349B (zh) * | 2020-01-15 | 2021-01-08 | 浙江大学 | 基于多步线性化策略的无人驾驶车辆模型预测控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6809837B1 (en) * | 1999-11-29 | 2004-10-26 | Xerox Corporation | On-line model prediction and calibration system for a dynamically varying color reproduction device |
CN101750964B (zh) * | 2009-12-14 | 2012-09-19 | 浙江大学 | 烧成系统基于脉冲响应模型的多变量预测控制方法 |
CN102156407A (zh) * | 2011-04-08 | 2011-08-17 | 南京师范大学 | 基于arm的嵌入式模型预测控制方法和装置 |
US9517306B2 (en) * | 2013-03-15 | 2016-12-13 | Animas Corporation | Method and system for closed-loop control of an artificial pancreas |
CN104317300B (zh) * | 2014-09-22 | 2017-04-05 | 北京航空航天大学 | 一种基于模型预测控制的平流层飞艇平面路径跟踪控制方法 |
-
2015
- 2015-02-12 CN CN201510073102.0A patent/CN104793489B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104793489A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Neuroadaptive robotic control under time-varying asymmetric motion constraints: A feasibility-condition-free approach | |
CN104793489B (zh) | 一种基于收敛深度控制的嵌入式mpc控制方法 | |
Liu et al. | Robust distributed MPC for load frequency control of uncertain power systems | |
Wang et al. | Fuzzy adaptive compensation control of uncertain stochastic nonlinear systems with actuator failures and input hysteresis | |
CA2718911C (en) | Method of multi-dimensional nonlinear control | |
KR101933964B1 (ko) | 임의로 스위치 된 불확실한 비아핀 비선형 시스템의 적응 관측기 기반 출력 제약 추종을 이용한 제어 장치 | |
CN110908351B (zh) | 一种融合支持向量机的scr脱硝系统扰动抑制预测控制方法 | |
CN114839880B (zh) | 一种基于柔性关节机械臂的自适应控制方法 | |
CN105867138A (zh) | 一种基于pid控制器的稳定平台控制方法及装置 | |
Iacob et al. | Real-time hardware-in-the-loop test platform for thermal power plant control systems | |
Hespe et al. | Convergence properties of fast quasi-LPV model predictive control | |
CN111413938A (zh) | 一种基于折算喷氨量的scr脱硝系统扰动抑制预测控制方法 | |
CN117335414B (zh) | 一种电力系统交流最优潮流决策方法、装置、设备及介质 | |
Li et al. | Backstepping-based fuzzy adaptive stabilization of reaction-diffusion equation with state constraints | |
Lopez-Echeverria et al. | Variable sampling approach to mitigate instability in networked control systems with delays | |
Hassan et al. | Adopting setpoint weighting strategy for WirelessHART networked control systems characterised by stochastic delay | |
Gonzalez et al. | Fast hybrid dual mode NMPC for a parallel double inverted pendulum with experimental validation | |
Huang | Analysis and synthesis of semi-Markov jump linear systems and networked dynamic systems | |
Tanemura et al. | Closed-loop data-driven estimation on passivity property | |
Liu et al. | Data-Driven $ H_ {\infty} $ Output Consensus for Heterogeneous Multiagent Systems Under Switching Topology via Reinforcement Learning | |
Ma et al. | Integral-Based Event-Triggered Fault Estimation and Accommodation for Aeroengine Sensor | |
Chaber et al. | Implementation of analytical generalized predictive controller for very fast applications using microcontrollers: Preliminary results | |
Liu et al. | Two-dimensional iterative learning control with deep reinforcement learning compensation for the non-repetitive uncertain batch processes | |
Wakitani et al. | Design of a CMAC-Based PID Controller Using FRIT for Nonlinear Systems | |
Wang et al. | Model Predictive Control Based on Multivariable Disturbance Observer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170929 |