一种网络化双模自适应时域模型控制方法及系统
技术领域
本发明涉及控制技术领域,具体涉及一种网络化双模自适应时域模型控制方法及系统。
背景技术
模型预测控制(Model Predictive Control,MPC)是处理多输入多输出系统的强大控制工具,同时明确考虑了状态和输入约束并优化系统的控制性能,因此在化工过程,机械系统以及其他许多领域都具有广泛的应用。但是,模型预测控制器需要在指定的时间间隔内在线求解一个非线性规划问题。这是一个计算密集的过程,尤其是针对高维系统以及预测时域较大的情况。因此,这个要求可能会引发如下两个问题:1)计算过程将消耗大量的计算资源,而本地控制器可能无法承受;2)高计算复杂性使得计算延迟过大,从而恶化控制性能。这两个问题严重阻碍了模型预测控制在实际系统中的应用,因此解决此类问题在理论上和实践上都具有重要意义。
发明内容
本发明提出的一种网络化双模自适应时域模型控制方法及系统,可解决现有模型预测控制器在指定的时间间隔内在线求解非线性规划问题时,计算过程将消耗大量的计算资源,导致本地控制器可能无法承受的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种网络化双模自适应时域模型控制方法,包括基于计算机设备,执行以下步骤:
S100、建立具有有界扰动的约束非线性被控对象的控制模型;
S200、基于步骤S100的控制模型,设计通信网络,并设置网络特性;
S300、设计远程自适应时域模型预测控制器;
S400、依据S300确定辅助控制律设计局部控制器,并选择控制输入;
S500、设计判决器,用以决定采用步骤S400的局部控制器,还是采用S300的远程自适应时域模型预测控制器;
S600、针对真实的控制输入量,基于步骤S500实现双模自适应时域模型预测控制。
进一步的,所述步骤S100建立具有有界扰动的约束非线性被控对象的控制模型;其中控制模型为:
x(k+1)=f(x(k),u(k),w(k))(1)
其中:k是系统运行时刻,k≥0;
进一步的,所述S200基于步骤S100的控制模型,设计通信网络,并设置网络特性;
其中,控制设备传感器,控制器和执行器之间的数据交互是通过通信网络来实现的;
传输层的协议设置为TCP协议,则网络会回传一个确认信号来告知数据包是否传输成功;数据包未成功传输,则认为发生丢包;
丢包过程建模为
两个网络即传感器到控制器网络一和控制器到执行器网络二的最大连续丢包数分别为Ns和Nc,并记
进一步的,所述S300设计远程自适应时域模型预测控制器;包括状态估计器,预测时域估计器,模型预测控制器,控制包生成器以及一个缓冲器;
具体包括以下步骤:
1)状态估计器用来估计系统当前状态,即
其中
2)模型预测控制器用于求解下面的有限时域最优控制问题:
s.t.zi+1=f(zi,vi,0)
其中L(z,v)和F(z)分别为正定的阶段代价和终端代价,v={v0,v1,...,vN(k)}为决策变量;
N(k)为k时刻的预测时域且N(0)=Nmax,Nmax为事先设定的最大预测时域,
F(f(x,k(x),0))-F(x)≤-L(x,k(x))
并且
通过常规的优化求解器求解优化问题(5),得到最优解记为
3)预测时域估计器的算法步骤如下:
输入为估计状态
①初始化M个最新预测状态和控制序列对BM(k)={B(t1),...,B(tM)},其中
②初始化预测时域下界N(k)=N(tM)-(k-tM);
③令i=1,执行④;
④从
⑤令j=1,执行⑥;
⑥判断序列
⑦令
⑧令
⑨令i=i+1,若i≤M,转④;否则,转⑩;
⑩得到
若当前时刻可用的预测状态和控制序列对少于M,则所有序列对均被使用,且M为所有序列对的数目;
4)设计预测控制包生成器,用以补偿可能的丢包,具体过程如下:
若
否则,先用辅助控制律k(x)计算剩余
然后得到
5)设计控制序列的缓冲器,用以存储控制序列
brr(k)=dc(k)Sbrr(k-1)+(1-dc(k))ur(k)
ur(k)=eTbrr(k)(7)
其中,dc(k)在(2)式中定义,brr(k)为k时刻缓冲器的内容且brr(0)=0,上标T表示向量或矩阵的转置,
进一步的,所述S400设计局部控制器;其中,局部控制器包括一个控制序列生成器,两个缓冲器和一个选择器;
具体步骤如下:
1)控制序列生成器;
采用辅助控制律来获得局部的预测控制序列
其中
得到的控制序列记为
2)缓冲器一;用来存储局部预测控制序列,并提供可供选择的局部控制输入ul(k);
bll(k)=(1-dl(k))Sbll(k-1)+dl(k)ul(k)
ul(k)=eTbll(k)(9)
其中,dl(k)=1表示采用局部控制器;dl(k)=0表示当前时刻采用远端控制器;bll(k)表示缓冲器一的在k时刻的内容;
3)缓冲器二;用来存储收到的远端预测控制序列,并提供可供选择的局部控制输入ur(k);
blr(k)=dc(k)Sblr(k-1)+(1-dc(k))ur(k)
ur(k)=eTblr(k)(10)
其中,dc(k)在(2)式中定义,blr(k)为k时刻缓冲器二的内容且blr(0)=0;
4)选择器;从ul(k)和ur(k)中选择一个合适的控制量作为控制输入;
记tr,c(k)为k时刻或之前最后一次成功收到远程控制包的时刻,记tl(k)为k时刻或之前最后一次选择局部控制器的时刻;
那么真实控制输入u(k)为
进一步的,所述S500设计判决器,用以决定采用步骤S400的局部控制器,还是采用S300的远程自适应时域模型预测控制器;
其中判断规则如下:
若
进一步的,所述S600针对真实的控制输入量,基于步骤S500实现双模自适应时域模型预测控制;
具体包括:
初始化:设置初始状态为x0,并计算预测时域为Nmax的有限时域最优控制得到预测控制状态序列对
①获得x(k),判决器判定
②利用(8)式计算局部预测控制序列;
③分别按照(9)式和(10)式更新缓冲器一和缓冲器二的内容;缓冲器一提供ul(k)作为真实控制输入;令k=k+1,并转①;
④根据是否发生丢包,利用(4)式得到当前的估计状态
⑤利用最新的BM(k)估计得到当前的预测时域N(k);
⑥以
⑦根据(6)得到长度为
⑧根据(7),(9)和(10)分别更新各个缓冲器的内容,并提供ul(k)和ur(k);
⑨根据(10)式选择控制量作为真实控制输入;令k=k+1,并转①。
另一方面,本发明还公开一种网络化双模自适应时域模型控制系统,包括控制设备,所述控制设备包括传感器、控制器和执行器,所述传感器,控制器和执行器之间的数据交互是通过通信网络来实现的;
包括以下单元:
控制模型单元,用于建立具有有界扰动的约束非线性被控对象的控制模型;
网络设置单元,基于控制模型,设计通信网络,并设置网络特性;
远端控制器单元,用于设计远程自适应时域模型预测控制器;
局部控制器单元,用于设计局部控制器,并选择控制输入;
判决器单元,用于设计判决器,用以决定采用局部控制器,还是采用远程自适应时域模型预测控制器;
控制单元,用于针对真实的控制输入量,实现双模自适应时域模型预测控制。
进一步的,所述远程自适应时域模型预测控制器包括状态估计器,预测时域估计器,模型预测控制器,控制包生成器以及一个缓冲器。
进一步的,所述局部控制器包括一个控制序列生成器,两个缓冲器和一个选择器
由上述技术方案可知,本发明的网络化双模自适应时域模型控制方法考虑模型预测控制对计算资源的消耗以及对计算效率的要求,设计了网络化双模自适应时域模型预测控制,使得计算消耗时间大幅减少并且维持较好的控制性能。
本发明的有益效果:
本发明考虑计算模型预测控制的计算时延大、消耗计算资源多的问题,设计网络化的双模自适应时域模型预测控制方法,将优化问题的计算从局部控制器转移到的远端,放宽了对计算资源的需求,使得平均计算时间变小,同时基于序列的传输能够补偿可能的网络丢包问题。
附图说明
图1是本发明的方法流程图;
图2是本发明系统的配置图;
图3是本发明的预测时域的变化曲线;
图4是本发明实施例与传统固定时域算法的计算耗时对比曲线。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例考虑计算模型预测控制的计算时延大、消耗计算资源多的问题,设计网络化的双模自适应时域模型预测控制方法。
如图1所示,本实施例所述的一种网络化双模自适应时域模型预测控制方法,包括以下步骤:
S100、建立具有有界扰动的约束非线性被控对象的控制模型;
S200、基于步骤S100的控制模型,设计通信网络,并设置网络特性;
S300、设计远程自适应时域模型预测控制器;
S400、依据S300中的确定的辅助控制律设计局部控制器,并选择控制输入;
S500、设计判决器,用以决定采用步骤S400的局部控制器,还是采用S300的远程自适应时域模型预测控制器;
S600、针对真实的控制输入量,基于步骤S500实现双模自适应时域模型预测控制。
以下结合图2和图3对上述步骤进行具体展开说明:
步骤1:建立具有有界扰动的约束非线性被控对象的控制模型
x(k+1)=f(x(k),u(k),w(k))(1)
其中:k是系统运行时刻,k≥0;
步骤2:设置通信网络,并刻画网络特性;
传感器,控制器和执行器之间的数据交互是通过通信网络来实现的。传输层的协议设置为TCP协议,也就是说网络会回传一个确认信号(Acknowledgement,ACK)来告知数据包是否传输成功。数据包未成功传输,则认为发生丢包。丢包过程建模为
两个网络(传感器到控制器网络和控制器到执行器网络)的最大连续丢包数分别为Ns和Nc,并记
步骤3:设计远程自适应时域模型预测控制器,包括状态估计器,预测时域估计器,模型预测控制器,控制包生成器以及一个缓冲器。
具体地来说,
1)状态估计器用来估计系统当前状态,即
其中
2)模型预测控制器需要求解下面的有限时域最优控制问题:
s.t.zi+1=f(zi,vi,0)
其中L(z,v)和F(z)分别为正定的阶段代价和终端代价,v={v0,v1,...,vN(k)}为决策变量。N(k)为k时刻的预测时域且N(0)=Nmax,Nmax为事先设定的最大预测时域,
F(f(x,k(x),0))-F(x)≤-L(x,k(x))
并且
通过常规的优化求解器求解优化问题(5),如Matlab的fmincon函数,可以得到最优解(最优控制序列)记为
3)预测时域估计器的算法设计如下:
输入为估计状态
①初始化M个最新预测状态和控制序列对BM(k)={B(t1),...,B(tM)},其中
②初始化预测时域下界N(k)=N(tM)-(k-tM);
③令i=1,执行④;
④从
⑤令j=1,执行⑥;
⑥判断序列
⑦令
⑧令
⑨令i=i+1,若i≤M,转④;否则,转⑩;
⑩得到
若当前时刻可用的预测状态和控制序列对少于M,则所有序列对均被使用,且M为所有序列对的数目。
4)设计预测控制包生成器,用以补偿可能的丢包,设计过程如下:
若
否则,先用辅助控制律k(x)计算剩余
然后得到
5)设计控制序列的缓冲器,用以存储控制序列
brr(k)=dc(k)Sbrr(k-1)+(1-dc(k))ur(k)
ur(k)=eTbrr(k)(7)
其中,dc(k)在(2)式中定义,brr(k)为k时刻缓冲器的内容且brr(0)=0,上标T表示向量或矩阵的转置。
步骤4:设计局部控制器,并为被控对象提供合适的控制输入。局部控制器包括一个控制序列生成器,两个缓冲器和一个选择器。
具体如下:
1)控制序列生成器。
采用辅助控制律来获得局部的预测控制序列
其中
2)缓冲器1。用来存储局部预测控制序列,并提供可供选择的局部控制输入ul(k)。
bll(k)=(1-dl(k))Sbll(k-1)+dl(k)ul(k)
ul(k)=eTbll(k)(9)
其中,dl(k)=1表示采用局部控制器;dl(k)=0表示当前时刻采用远端控制器。bll(k)表示缓冲器1的在k时刻的内容。
3)缓冲器2。用来存储收到的远端预测控制序列,并提供可供选择的局部控制输入ur(k)。
blr(k)=dc(k)Sblr(k-1)+(1-dc(k))ur(k)
ur(k)=eTblr(k)(10)
其中,dc(k)在(2)式中定义,blr(k)为k时刻缓冲器2的内容且blr(0)=0。
4)选择器。从ul(k)和ur(k)中选择一个合适的控制量作为控制输入。
记tr,c(k)为k时刻或之前最后一次成功收到远程控制包的时刻,记tl(k)为k时刻或之前最后一次选择局部控制器的时刻。那么真实控制输入u(k)为
步骤5:设计判决器,用以决定采用局部控制器还是远端控制器。
判断规则如下:
若
步骤6:实现双模自适应时域模型预测控制
初始化:设置初始状态为x0,并计算预测时域为Nmax的有限时域最优控制得到预测控制状态序列对
①获得x(k),判决器判定
②利用(8)式计算局部预测控制序列;
③分别按照(9)式和(10)式更新缓冲器1和缓冲器2的内容。缓冲器1提供ul(k)作为真实控制输入;令k=k+1,并转①;
④根据是否发生丢包,利用(4)式得到当前的估计状态
⑤利用最新的BM(k)估计得到当前的预测时域N(k);
⑥以
⑦根据(6)得到长度为
⑧根据(7),(9)和(10)分别更新各个缓冲器的内容,并提供ul(k)和ur(k)。
⑨根据(10)式选择一个合适的控制量作为真实控制输入。令k=k+1,并转①;
下面结合仿真实例谈谈具体的实施方式:
考虑一个双容水箱系统,其系统模型(1)可以建模为
其中,Ts=5秒为采样时间,A1=9cm2,A2=4cm2分别为两个水箱出水管的横截面积,S1=2500cm2,S2=1600cm2分别为两个水箱的横截面积,g=980cm/s2为重力加速度,ρ=0.001kg/cm3为水的密度。
依据实际物理模型得到系统状态约束集为
阶段代价和终端代价分别设置为L(x,u)=xTQx+uTRu,F(x)=xTPx,
其中x=[x1 x2]T,
辅助控制律设计为k(x)=[-0.5218-0.6551],终端约束集为
通过仿真实验表明本发明实施例的网络化双模自适应时域模型预测控制方法能够根据状态自适应地调整预测时域,并且能在状态进入终端约束集
另一方面,本发明实施例公开一种网络化双模自适应时域模型控制系统,基于控制设备,
包括以下单元:
控制模型单元,用于建立具有有界扰动的约束非线性被控对象的控制模型;
网络单元,用于基于控制模型,设计通信网络,并设置网络特性;
远端控制器单元,用于设计远程自适应时域模型预测控制器;
局部控制器单元,用于设计局部控制器,并选择控制输入;
判决器单元,用于设计判决器,用以决定采用局部控制器,还是采用远程自适应时域模型预测控制器;
控制单元,用于针对真实的控制输入量,实现双模自适应时域模型预测控制。
其中,所述远程自适应时域模型预测控制器包括状态估计器,预测时域估计器,模型预测控制器,控制包生成器以及一个缓冲器。
其中,所述局部控制器包括一个控制序列生成器,两个缓冲器和一个选择器。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
综上所述,本发明实施例将优化问题的计算从局部控制器转移到的远端,放宽了对计算资源的需求,使得平均计算时间变小,同时基于序列的传输能够补偿可能的网络丢包问题。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。