1.一种具有时延和丢包网络化系统的动态矩阵控制方法,其特征在于:所述方法包括以下步骤:
1)根据时延序列选取最新控制量
从传感器到控制器的时延记为τsc,从控制器到执行器的时延记为τca,传感器和执行器采用时间驱动的方式,控制器采用事件驱动的方式,故将时延τsc和τca合并,即k时刻的总时延τk为:τk=τsc+τca
k时刻的总时延τk满足τk∈N1={0,1,...,d}T,其中d为最大时延周期数,T为系统采样周期,则k时刻需要用于计算实际使用控制量的时延序列为:τ(k)=[τk-d+1,...,τk-1,τk]则k时刻选取最新控制量的参数σ(k)为:σ(k)=r+θk-r,r=min{i|τk-i-(i+θk-i)T≤0,i=0,1,...,d},其中,θk-r为(k-r)时刻的连续丢包数,且θk-r∈[0,s],s≤d,s为最大连续丢包数;
2)获得不同时延情况下的阶跃响应系数
被控对象的连续时间状态空间方程为:
则其离散化后的状态空间方程为:
其中, T为采样周期,则若系统在无时延情况下的阶跃响T
应系数向量为a=[a1,a2,…,aN],则在k时刻时延为τk=jT情况下的阶跃响应系数向* * * * T量为:a=[a1,a2,…,aN],且:
3)基于动态矩阵控制算法设计控制器,步骤如下:步骤3.1:初始化(k=0),控制时域M,预测时域P,模型时域N,且M≤P≤N;给定初始时刻对未来N个时刻的预测输出yN(0),控制量u(0);针对时延为τk∈{0,1,...,d}T的(d+1)种情况,得到(d+1)组阶跃响应系数,构成动态矩阵控制中的控制矩阵{A0,A1,…,Ad};
步骤3.2:计算σ(k)
σ(k)=r+θk-r,r=min{i|τk-i-(i+θk-i)T≤0,i=0,1,...,d}步骤3.3:通信:传感器以周期T对系统的输出进行采样,获得系统k时刻的输出值为y(k);
步骤3.4:更新(k-1)时刻的预测值,施加控制量u(k)步骤3.5:计算输出误差,取y'N(k-1)的第一项 与y(k)相比较,构成输出误差步骤3.6:启发式校正,并计算k时刻对未来N个时刻的预测输出yN(k):T
其中,校正向量h=[h1 h2 … hN]由校正权系数{h1,h2,…,hN}构成;
步骤3.7:计算应用于(k+1)时刻的控制量u(k+1),获取yN(k),Aj根据τk=jT确定,T T -1 Tu(k+1)=u(k-σ(k))+c·(AjQAj+R) AjQ[ωP(k)-yP(k)]T
其中,c=[1 0 … 0]M×1;Q=diag(q1,…,qP),{q1,…,qP}为表示对跟踪误差抑制程度的权系数;R=diag(r1,…,rM),{r1,…,rM}为表示对控制量变化抑制程度的权系数;
T
ωP(k)=[ωk+1 ωk+2 … ωk+P],{ωk+1,ωk+2,…,ωk+P}为k时刻对未来P个时刻的期望输出;yP(k)为yN(k)的前P项,即yP(k)=[IP×P 0P×(N-P)]P×N·yN(k);
步骤3.8:滚动时域,令k=k+1,进入下一时域迭代运算,回到步骤3.2。