产学研创新服务平台(全国)
专利申请类型:发明专利;专利名称:基于动态滑动窗口辨识的机动目标轨迹在线预测方法
专利类型:发明专利
专利申请号:CN202111650655.X
专利申请(专利权)人:河南大学
权利人地址:河南省开封市明伦街85号
专利发明(设计)人:魏倩,苏朋,轩亚珂
专利摘要:本发明提供了一种基于动态滑动窗口辨识的机动目标轨迹在线预测方法。该方法包含以下步骤:首先建立自适应调整长度的动态滑动窗口,在线框选实时采集的机动目标轨迹数据,同时对窗内数据赋予自适应权值;然后在每次滑动窗口更新时调用粒子群算法辨识Volterra级数预测模型的核参数,首次调用采取均分网格法初始化种群位置,之后使用上次保存的最优位置初始化粒子群;最后对机动目标轨迹进行在线预测,同时使用残差补偿法校正预测值。本发明与传统轨迹预测方法相比,通过动态滑动窗口选取最新的轨迹数据作为训练集,实现模型参数的在线更新,增加预测的准确性,同时通过改进粒子群算法的初始化方法,提高预测模型的辨识精度,减少计算消耗时间。
主权利要求:
1.基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:包括以下步骤:步骤1:实时探测机动目标的轨迹数据,具体的:
设定无线传感器网络可以实时观测到机动目标的位置坐标信息,对于已采集的历史轨迹数据表现为时间序列的形式,记为x(n),n=1,2,…,N;采用改进的C‑C方法确定重构相空间的嵌入维数m和延迟时间τ,将所述历史轨迹数据重构到m维相空间,重构后多维时间序列记为Xl,l=1,2,…,M;
步骤2:建立预测模型,具体的:
根据步骤1中所述重构相空间的嵌入维数m和延迟时间τ,建立下述基于相空间的p阶Volterra级数预测模型:其中, 为预测值;h0为常数项参数;hd(i1,i2,…,id)为d阶Volterra核参数,id=0,
1,…,m‑1,d=1,2,…,p;p为模型阶数;m为嵌入维数;x(n‑ijτ)为历史轨迹数据序列,n=1,
2,…,N,j=1,2,…,d;τ为延迟时间;
步骤3:建立动态滑动窗口,具体的:
根据步骤1所述已采集的历史轨迹数据确定动态滑动窗口的固定部分长度,记为w;根据机动目标的轨迹特征以及算法的预测误差确定滑动窗口的动态调节部分长度,记为Δw;
动态滑动窗口的长度由所述固定部分和动态调节部分构成,记为W;对于实时移动的机动目标,从t=t1时刻开始,每个时刻都采样一个轨迹数据进入滑动窗口,并且窗口中最早的一个数据将被移除;每个时刻都进行一次轨迹预测;在t=tk时刻,动态滑动窗口内的机动目标轨迹坐标数据记为x(s),s=k,k+1,…,k+W‑1;
步骤4:动态调节滑动窗口的长度,具体的:
根据步骤3所述滑动窗口的动态调节部分长度由机动目标的轨迹特征以及算法的预测误差确定;从所述t=t1时刻开始预测,设定预测时间周期,记为T,在每次周期开始前对滑动窗口的长度进行动态调整;定义第r个时间周期内的轨迹数据均值波动为Vr,第r个时间周期内的平均绝对预测误差为Er;由所述轨迹数据均值波动和平均绝对预测误差计算动态调节部分的长度Δw;
步骤5:对滑动窗口内数据赋权值,具体的:
根据步骤3和步骤4所构建的动态滑动窗口在线选取最新的机动目标轨迹数据,使用所述嵌入维数m和延迟时间τ对窗口内的数据进行相空间重构,并改为Volterra级数预测模型的输入数据形式,记为U(l),l=1,2,…,M;结合sigmoid函数,对动态滑动窗口内的各个数据按照递增的原则赋予权重,记为αl,l=1,2,…,M;
步骤6:调用粒子群算法并设置初始参数,具体的:
根据步骤5得到具有权重的动态滑动窗口数据,将其作为粒子群算法的训练数据;设定粒子群算法迭代次数从ite=1开始,最大迭代次数为itemax,种群规模为NP,搜索空间维数为D,搜索上限为 搜索下限为x;
步骤7:种群初始位置设置,具体的:
根据步骤5和步骤6得到动态滑动窗口以及粒子群算法初始参数,判断是否首次调用粒子群算法;
若是,采用均分网格法初始化种群位置:首先将所述搜索上限 和搜索下限x平均划分为q+1个间隔值Ik;将每个间隔值Ik扩充为D维的网格向量 对于所述D维网格向量 从第
1维开始,将值I1依次替换为Ik,k=2,3,…q+1,其余D‑1维仍为I1,直到第D维,记录每次更改所生成的网格向量;以此类推,将所有网格向量 重复上述过程;使用所述方法共生成(q+
1)×((D×q)+1)组D维网格向量;将所述网格向量代入适应度函数中,选取适应度值最小的NP组网格向量作为粒子群算法的种群初始位置,记为否则,使用上次保存的粒子最优位置作为本次调用粒子群算法的种群初始位置,记为步骤8:粒子群辨识寻优,具体的:根据步骤7得到粒子群初始位置 同时随机初始化粒子群速度 开始循环迭代,在第ite=j轮迭代:将种群位置向量 依次代入加权适应度函数 中,i=1,
2,…,NP,计算出全体粒子的适应度值;由所述适应度值得到第i个粒子的历史最优位置pbesti,以及第j轮迭代的种群历史最优位置gbest;由速度和位置进化规则对种群位置进行进化;重复上述过程直至到达所述最大迭代次数itemax,保存种群最优位置;
步骤9:轨迹预测,具体的:
根据步骤8所得最优粒子位置作为所述Volterra级数预测模型的参数,将所述动态滑动窗口内的数据作为预测模型的输入数据,计算得到机动目标的在t=tk时刻的单步轨迹预测值步骤10:残差补偿法校正预测值,具体的:
根据步骤9所得单步外推预测值 计算其与真实值x(k)的偏差,记为Δe(k),保存最大长度为所述动态滑动窗口长度W的偏差向量,记为ΔE;使用递推最小二乘算法,输入项为所述动态滑动窗口内的轨迹坐标数据,期望输出项为所述偏差向量ΔE,求解下一时刻的预测残差补偿值res(k+1);将所述下一时刻预测残差补偿值res(k+1)与所述预测模型的下一时刻单步预测值相加得到校正后的轨迹预测值,记为步骤11:重复步骤3至步骤10,直到停止预测机动目标轨迹。
2.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤1所述重构后多维时间序列记为Xl,具体形式如下:T
Xl=[x(l),x(l+τ),…,x(l+(m‑1)τ)] ,l=1,2,…,M其中,M=N‑(m‑1)τ为历史轨迹数据序列重构后的多维空间相点数。
3.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤3中所述动态滑动窗口的长度W采用如下方法计算:W=w+Δw
其中,w为固定部分长度,其大小由已收集到历史轨迹数据量决定;Δw为动态调节部分长度,其大小由轨迹数据特征和预测误差波动决定。
4.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤4中所述滑动窗口的动态调节部分的长度Δw采用如下方法计算:式中,
其中,λ和μ为平滑因子,用以调节Δw的大小;δ和ε为设定的调节阈值,其中,0≤δ≤1,0≤ε≤1;Zr为第r个时间周期内的轨迹数据;var表示求方差;max和min分别表示求最大值和最小值;Δej为第r个时间周期内的轨迹预测误差。
5.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤5中所述Volterra级数预测模型的输入数据记为U(l),l=1,2,…,M,具体形式如下:
2 2 p T
U(l)=[1,x(l+(m‑1)τ),…,x(l),x(l+(m‑1)τ),…,x(l),…,x(l)]其中,M=W‑(m‑1)τ为动态滑动窗口内数据重构后的多维空间相点数;m为嵌入维数;τ为延迟时间;p为Volterra级数预测模型阶数;
步骤5中所述滑动窗口内各个数据的自适应权重αl采用如下方法计算:式中,
(‑10*l+5)
al=1/(1+e )
其中,动态滑动窗口中越靠后的轨迹数据所拥有的权重越大。
6.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤6中所述搜索空间维数D采用如下方法计算:其中,p为Volterra级数预测模型的阶数;m为嵌入维数;C为组合数公式。
7.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤7中所述间隔值Ik和网格向量 分别采用如下方法计算:其中, 和x分别为粒子搜索上限和搜索下限;q为搜索空间均分值;D为搜索空间维数。
8.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤8中所述第i个粒子的适应度值 采用如下方法计算:其中,αl为第l组数据的权重;y(l)为第l组数据的期望输出项;U(l)为第l组输入数据;
T
U(l)为U(l)的转置形式; 为第i个粒子的位置向量;
步骤8中所述粒子群第i个粒子的速度和位置进化规则采用如下方法计算:其中,vi为第i个粒子的速度;ω为粒子的惯性权重;c1和c2为学习因子;r1和r2为[0,1]区间内的随机数;pbesti(j)为第i个粒子在第j轮迭代的历史最优位置; 为第i个粒子在第j轮迭代的位置;gbest(j)为第j轮迭代的种群历史最优位置。
9.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤10中所述最大长度为动态滑动窗口长度W的偏差向量ΔE,具体形式如下:ΔE=[Δe(k‑W+1),Δe(k‑W+2),…,Δe(k)]其中, W为动态滑动窗口的长度。
10.根据权利要求1所述的基于动态滑动窗口辨识的机动目标轨迹在线预测方法,其特征在于:步骤10中所述校正后的轨迹预测值 采用如下方法计算:其中, 为校正后的预测值; 为Volterra预测模型求出的预测值;res(k+
1)为t=tk+1时刻预测值的残差补偿值。 说明书 : 基于动态滑动窗口辨识的机动目标轨迹在线预测方法技术领域[0001] 本发明涉及机动目标轨迹在线预测领域,尤其涉及一种基于动态滑动窗口辨识的机动目标轨迹在线预测方法。背景技术[0002] 轨迹预测是指根据各种传感器所测得的目标当前轨迹点,结合历史轨迹坐标数据,通过机动模型或预测算法对目标未来的运动趋势进行合理预测的过程,在空空对抗、自动驾驶、行人跟踪等领域广泛应用。近年来,随着传感器网络对目标跟踪的准确性和精准度的提高,实际系统中目标的轨迹数据可以实现在线更新,而传统的离线预测算法无法有效利用实时接收到的轨迹数据,随着目标的运动其预测结果将不再可靠。在线预测算法可以实时学习机动目标的运动规律,在线调整预测模型参数,对目标轨迹的预测更加快速和准确,因此研究机动目标轨迹在线预测具有重要意义。[0003] 通常对于轨迹预测的方法研究主要分为两大类。一类是基于空气动力学或运动学模型的预测算法,此类算法需要根据目标的运动规律提前设定预测模型的参数,使用递推的方式对目标的实时状态进行估计与预测,适用于运动方式多样的目标轨迹预测。然而此类算法对于具有高度机动能力的运动目标,预测模型将难以学习其运动特性,将会面临建模复杂度高或算法适应性差等问题,预测精度也随之下降。另一类是基于目标历史轨迹数据的人工智能算法,此类算法主要利用大数据学习机动目标的运动特性,从而训练模型参数,构建轨迹预测模型,可以对复杂度较高的目标轨迹进行预测。文献[1]结合卷积网络和长短期网络,提出了一种四维飞行轨迹预测模型,可以实现航空器的短期轨迹预测。文献[2]提出了一种基于GRU循环网络的短期在线轨迹预测方法,通过批处理训练网络参数,并根据实时轨迹在线更新参数,实现短期飞行轨迹的在线预测。然而上述方法训练准确的预测模型需要足够大的数据量支撑,往往难以实现长期的在线预测。[0004] 由于复杂的机动目标轨迹具有高度的非线性和时变特性,因此可以在第二类方法的基础上结合混沌理论实现机动目标的轨迹预测。文献[3]提出了一种基于改进粒子群算法辨识Volterra核系数的机动目标轨迹预测算法,对于三维飞行轨迹的预测精度较高,但是该算法没有考虑实时预测的情况。文献[4]提出了一种混合动态预测算法,引入滑动窗口方法,使用最小二乘法训练预测模型参数,实现复杂系统的在线预测,但是由于最小二乘法进行搜索时容易陷入局部极值,且辨识精度较低。针对现有算法在实时轨迹预测方面存在预测精度低、消耗时间久等问题,本发明提出了动态滑动窗口策略,可以实时学习机动目标的轨迹特征并实现在线预测,同时针对现有算法在辨识模型参数时计算复杂、收敛较慢等缺陷,本发明提出了网格初始化种群位置的方法,增加预测模型的辨识精度。[0005] 上述提到的参考文献如下:[0006] [1]L.Ma and S.Tian.Hybrid CNN‑LSTM model for aircraft 4D trajectory prediction.IEEE Access,vol.8,pp.134668–134680,2020.[0007] [2]P.Han,W.Wang,Q.Shi and J.Yang.Real‑time Short‑Term Trajectory Prediction Based on GRU Neural Network.2019IEEE/AIAA 38th Digital Avionics Systems Conference(DASC),2019,pp.1‑8.[0008] [3]奚之飞,徐安,寇英信,李战武,杨爱武.基于改进粒子群算法辨识Volterra 级数的机动目标轨迹预测[J].航空学报,2020,41(12):355‑374.[0009] [4]M.Lv,X.Zhang,H.Chen,C.Ling and J.Li.An Accurate Online Prediction Model for Kiln Head Temperature Chaotic Time Series.IEEE Access,vol.8,pp.44288‑44299,2020.发明内容[0010] 本发明公开了一种基于动态滑动窗口辨识的机动目标轨迹在线预测方法,通过提出动态滑动窗口的方法,同时对滑窗内的数据进行赋权值处理,增加轨迹数据的可靠性,然后使用改进初始化方法的粒子群算法在线辨识Volterra级数预测模型的参数,减少计算消耗时间,最后结合残差补偿法对预测值进行校正,提高轨迹预测精度,实现机动目标轨迹的在线精准预测。[0011] 为了实现上述目的,本发明采用以下技术方案:[0012] 基于动态滑动窗口辨识的机动目标轨迹在线预测方法,包括以下步骤:步骤 1:实时探测机动目标的轨迹数据,具体的:[0013] 设定无线传感器网络可以实时观测到机动目标的位置坐标信息,对于已采集的历史轨迹数据表现为时间序列的形式,记为x(n),n=1,2,…,N;采用改进的 C‑C方法确定重构相空间的嵌入维数m和延迟时间τ,将所述历史轨迹数据重构到m维相空间,重构后多维时间序列记为Xl,l=1,2,…,M;[0014] 步骤2:建立预测模型,具体的:[0015] 根据步骤1中所述重构相空间的嵌入维数m和延迟时间τ,建立下述基于相空间的p阶Volterra级数预测模型:[0016][0017] 其中, 为预测值;h0为常数项参数;hd(i1,i2,…,id)为d阶Volterra核参数,id=0,1,…,m‑1,d=1,2,…,p;p为模型阶数;m为嵌入维数;x(n‑ijτ)为历史轨迹数据序列,n=1,2,…,N,j=1,2,…,d;τ为延迟时间。[0018] 步骤3:建立动态滑动窗口,具体的:[0019] 根据步骤1所述已采集的历史轨迹数据确定动态滑动窗口的固定部分长度,记为w;根据机动目标的轨迹特征以及算法的预测误差确定滑动窗口的动态调节部分长度,记为Δw;动态滑动窗口的长度由所述固定部分和动态调节部分构成,记为W;对于实时移动的机动目标,从t=t1时刻开始,每个时刻都采样一个轨迹数据进入滑动窗口,并且窗口中最早的一个数据将被移除;每个时刻都进行一次轨迹预测;在t=tk时刻,动态滑动窗口内的机动目标轨迹坐标数据记为x(j), j=k,k+1,…,k+W‑1;[0020] 步骤4:动态调节滑动窗口的长度,具体的:[0021] 根据步骤3所述滑动窗口的动态调节部分长度由机动目标的轨迹特征以及算法的预测误差确定;从所述t=t1时刻开始预测,设定预测时间周期,记为T,在每次周期开始前对滑动窗口的长度进行动态调整;定义第r个时间周期内的轨迹数据均值波动为Vr,第r个时间周期内的平均绝对预测误差为Er;由所述轨迹数据均值波动和平均绝对预测误差计算动态调节部分的长度Δw;[0022] 步骤5:对滑动窗口内数据赋权值,具体的:[0023] 根据步骤3和步骤4所构建的动态滑动窗口在线选取最新的机动目标轨迹数据,使用所述嵌入维数m和延迟时间τ对窗口内的数据进行相空间重构,并改为Volterra级数预测模型的输入数据形式,记为U(l),l=1,2,…,M;结合sigmoid函数,对动态滑动窗口内的各个数据按照递增的原则赋予权重,记为αl,l=1,2,…,M;[0024] 步骤6:调用粒子群算法并设置初始参数,具体的:[0025] 根据步骤5得到具有权重的动态滑动窗口数据,将其作为粒子群算法的训练数据;设定粒子群算法迭代次数从ite=1开始,最大迭代次数为itemax,种群规模为NP,搜索空间维数为D,搜索上限为 搜索下限为x。[0026] 步骤7:种群初始位置设置,具体的:[0027] 根据步骤5和步骤6得到动态滑动窗口以及粒子群算法初始参数,判断是否首次调用粒子群算法;[0028] 若是,采用均分网格法初始化种群位置:首先将所述搜索上限 和搜索下限x平均划分为q+1个间隔值Ik;将每个间隔值Ik扩充为D维的网格向量 对于所述D维网格向量从第1维开始,将值I1依次替换为Ik,k=2,3,…q+1,其余D‑1维仍为I1,直到第D维,记录每次更改所生成的网格向量;以此类推,将所有网格向量 重复上述过程;使用所述方法共生成(q+1)×((D×q)+1)组D维网格向量;将所述网格向量代入适应度函数中,选取适应度值最小的NP组网格向量作为粒子群算法的种群初始位置,记为[0029] 否则,使用上次保存的粒子最优位置作为本次调用粒子群算法的种群初始位置,记为[0030] 步骤8:粒子群辨识寻优,具体的:[0031] 根据步骤7得到粒子群初始位置 同时随机初始化粒子群速度 开始循环迭代,在第ite=j轮迭代:将种群位置向量 依次代入加权适应度函数 中,i=1,2,…,NP,计算出全体粒子的适应度值;由所述适应度值得到第i个粒子的历史最优位置pbesti,以及第j轮迭代的种群历史最优位置gbest;由速度和位置进化规则对种群位置进行进化;重复上述过程直至到达所述最大迭代次数itemax,保存种群最优位置。[0032] 步骤9:轨迹预测,具体的:[0033] 根据步骤8所得最优粒子位置作为所述Volterra级数预测模型的参数,将所述动态滑动窗口内的数据作为预测模型的输入数据,计算得到机动目标的在t=tk时刻的单步轨迹预测值[0034] 步骤10:残差补偿法校正预测值,具体的:[0035] 根据步骤9所得单步外推预测值 计算其与真实值x(k)的偏差,记为Δe(k),保存最大长度为所述动态滑动窗口长度W的偏差向量,记为ΔE;使用递推最小二乘算法,输入项为所述动态滑动窗口内的轨迹坐标数据,期望输出项为所述偏差向量ΔE,求解下一时刻的预测残差补偿值res(k+1);将所述下一时刻预测残差补偿值res(k+1)与所述预测模型的下一时刻单步预测值相加得到校正后的轨迹预测值,记为[0036] 步骤11:重复步骤3至步骤10,直到停止预测机动目标轨迹。[0037] 步骤1所述重构后多维时间序列记为Xl,具体形式如下:[0038] Xl=[x(l),x(l+τ),…,x(l+(m‑1)τ)]T,l=1,2,…,M[0039] 其中,M=N‑(m‑1)τ为历史轨迹数据序列重构后的多维空间相点数。[0040] 步骤3中所述动态滑动窗口的长度W采用如下方法计算:[0041] W=w+Δw[0042] 其中,w为固定部分长度,其大小由已收集到历史轨迹数据量决定;Δw为动态调节部分长度,其大小由轨迹数据特征和预测误差波动决定。[0043] 步骤4中所述滑动窗口的动态调节部分的长度Δw采用如下方法计算:[0044][0045] 式中,[0046][0047][0048][0049][0050] 其中,λ和μ为平滑因子,用以调节Δw的大小;δ(0≤δ≤1)和ε(0≤ε≤1)为设定的调节阈值;Zr为第r个时间周期内的轨迹数据;var表示求方差;max和min分别表示求最大值和最小值;Δej为第r个时间周期内的轨迹预测误差。[0051] 步骤5中所述Volterra级数预测模型的输入数据记为U(l),l=1,2,…,M,具体形式如下:[0052] U(l)=[1,x(l+(m‑1)τ),…,x(l),x2(l+(m‑1)τ),…,x2(l),…,xp(l)]T[0053] 其中,M=W‑(m‑1)τ为动态滑动窗口内数据重构后的多维空间相点数;m为嵌入维数;τ为延迟时间;p为Volterra级数预测模型阶数。[0054] 步骤5中所述滑动窗口内各个数据的自适应权重αl采用如下方法计算:[0055][0056] 式中,[0057] al=1/(1+e(‑10*l+5))[0058] 其中,动态滑动窗口中越靠后的轨迹数据所拥有的权重越大;[0059] 步骤6中所述搜索空间维数D采用如下方法计算:[0060][0061] 其中,p为Volterra级数预测模型的阶数;m为嵌入维数;C为组合数公式。[0062] 步骤7中所述间隔值Ik和网格向量 分别采用如下方法计算:[0063][0064][0065] 其中,和x分别为粒子搜索上限和搜索下限;q为搜索空间均分值;D为搜索空间维数。[0066] 步骤8中所述第i个粒子的适应度值 采用如下方法计算:[0067][0068] 其中,αl为所述第l组数据的权重;y(l)为所述第l组数据的期望输出项;U(l)为T所述第l组输入数据;U(l)为U(l)的转置形式; 为第i个粒子的位置向量。[0069] 步骤8中所述粒子群第i个粒子的速度和位置进化规则采用如下方法计算:[0070][0071][0072] 其中,vi为第i个粒子的速度;ω为粒子的惯性权重;c1和c2为学习因子;r1和r2为[0,1]区间内的随机数;pbesti(j)为第i个粒子在第j轮迭代的历史最优位置; 为第i个粒子在第j轮迭代的位置;gbest(j)为第j轮迭代的种群历史最优位置。[0073] 步骤10中所述最大长度为动态滑动窗口长度W的偏差向量ΔE,具体形式如下:[0074] ΔE=[Δe(k‑W+1),Δe(k‑W+2),…,Δe(k)][0075] 其中, W为动态滑动窗口的长度。[0076] 步骤10中所述校正后的轨迹预测值 采用如下方法计算:[0077][0078] 其中, 为校正后的预测值; 为Volterra预测模型求出的预测值;res(k+1)为t=tk+1时刻预测值的残差补偿值。[0079] 本发明的有益效果:[0080] 通过上述技术方案,本发明针对现有的机动目标轨迹在线预测算法预测精度低、消耗时间久等问题,提出了基于动态滑动窗口辨识的机动目标轨迹在线预测方法。[0081] 首先,在数据处理上,由于难以获取目标的所有机动方式,仅能通过传感器网络观测获得机动目标的轨迹坐标数据,为了增加数据的可靠性,本发明提出具有权重的动态滑动窗口策略,在线获取实时轨迹数据,同时在每次预测前更新预测模型参数,提高预测精度,实现在线轨迹预测;[0082] 其次,在模型辨识上,由于标准粒子群算法在辨识预测模型参数时很难得到最优解,并且辨识过程往往无法复现,为了改善模型的辨识效果,本发明提出了空间网格初始化方法,用于首次辨识预测模型的参数,同时在更新模型参数时调用保存的粒子最优位置初始化粒子群,减少辨识时间;[0083] 最后,在轨迹预测上,由于采用结合动态滑动窗口的在线辨识方法辨识预测模型的参数,长期积累会导致预测误差逐渐增大,为了避免这种情况,本发明提出残差补偿法对每次预测值进行修正,修正后的值作为最终的预测结果,增加轨迹预测精度。附图说明[0084] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0085] 图1为本发明的方法流程图。[0086] 图2为本发明的动态滑动窗口模型图。[0087] 图3为本发明的滑动窗口加权过程图。[0088] 图4为本发明的残差补偿方法示意图[0089] 图5为无人机飞行机动轨迹图[0090] 图6为本发明方法对无人机轨迹的预测偏差图具体实施方式[0091] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0092] 如图1所示:基于动态滑动窗口辨识的机动目标轨迹在线预测方法,包括以下步骤:[0093] 步骤1:实时探测机动目标的轨迹数据,具体的:[0094] 设定无线传感器网络可以实时观测到机动目标的位置坐标信息,对于已采集的历史轨迹数据表现为时间序列的形式,记为x(n),n=1,2,…,N;采用改进的C‑C法确定重构相空间的嵌入维数m和延迟时间τ,将所述历史轨迹数据重构到m维相空间,重构后多维时间序列记为Xl,具体形式如下:[0095] Xl=[x(l),x(l+τ),…,x(l+(m‑1)τ)]T,l=1,2,…,M[0096] 其中,M=N‑(m‑1)τ为历史轨迹数据序列重构后的多维空间相点数。[0097] 步骤2:建立预测模型,具体的:[0098] 根据步骤1中所述重构相空间的嵌入维数m和延迟时间τ,建立下述基于相空间的p阶Volterra级数预测模型:[0099][0100] 其中, 为预测值;h0为常数项参数;hd(i1,i2,…,id)为d阶Volterra核参数,id=0,1,…,m‑1,d=1,2,…,p;p为模型阶数;m为嵌入维数;x(n‑ijτ)为历史轨迹数据序列,n=1,2,…,N,j=1,2,…,d;τ为延迟时间。[0101] 步骤3:建立动态滑动窗口,具体的:[0102] 根据步骤1所述已采集的历史轨迹数据确定动态滑动窗口的固定部分长度,记为w;根据机动目标的轨迹特征以及算法的预测误差确定滑动窗口的动态调节部分长度,记为Δw;动态滑动窗口的长度由所述固定部分和动态调节部分构成,记为W;对于实时移动的机动目标,从t=t1时刻开始,每个时刻都采样一个轨迹数据进入滑动窗口,并且窗口中最早的一个数据将被移除;每个时刻都进行一次轨迹预测;在t=tk时刻,动态滑动窗口内的机动目标轨迹坐标数据记为x(j),j=k,k+1,…,k+W‑1;动态滑动窗口模型如图2所示;[0103] 其中,步骤3中所述动态滑动窗口的长度W采用如下方法计算:[0104] W=w+Δw[0105] 其中,w为固定部分长度,其大小由已收集到历史轨迹数据量决定;Δw为动态调节部分长度,其大小由轨迹数据特征和预测误差波动决定。[0106] 步骤4:动态调节滑动窗口的长度,具体的:[0107] 根据步骤3所述滑动窗口的动态调节部分长度由机动目标的轨迹特征以及算法的预测误差确定;从所述t=t1时刻开始预测,设定预测时间周期,记为T,在每次周期开始前对滑动窗口的长度进行动态调整;定义第r个时间周期内的轨迹数据均值波动为Vr,第r个时间周期内的平均绝对预测误差为Er;由所述轨迹数据均值波动和平均绝对预测误差计算动态调节部分的长度Δw;[0108] 其中,步骤4中所述滑动窗口的动态调节部分的长度Δw采用如下方法计算:[0109][0110] 式中,[0111][0112][0113][0114][0115] 其中,λ和μ为平滑因子,用以调节Δw的大小;δ(0≤δ≤1)和ε(0≤ε≤1)为设定的调节阈值;Zr为第r个时间周期内的轨迹数据;var表示求方差;max和min分别表示求最大值和最小值;Δej为第r个时间周期内的轨迹预测误差。[0116] 步骤5:对滑动窗口内数据赋权值,具体的:[0117] 根据步骤3和步骤4所构建的动态滑动窗口在线选取最新的机动目标轨迹数据,使用所述嵌入维数m和延迟时间τ对窗口内的数据进行相空间重构,并改为Volterra级数预测模型的输入数据形式,记为U(l),l=1,2,…,M;结合sigmoid函数,对动态滑动窗口内的各个数据按照递增的原则赋予权重,记为αl,l=1,2,…,M;滑动窗口加权过程如图3所示;[0118] 其中,步骤5中所述Volterra级数预测模型的输入数据记为U(l),l=1,2,…,M,具体形式如下:[0119] U(l)=[1,x(l+(m‑1)τ),…,x(l),x2(l+(m‑1)τ),…,x2(l),…,xp(l)]T[0120] 其中,M=W‑(m‑1)τ为动态滑动窗口内数据重构后的多维空间相点数;m为嵌入维数;τ为延迟时间;p为Volterra级数预测模型阶数。[0121] 步骤5中所述滑动窗口内的各个数据权重αl采用如下方法计算:[0122][0123] 式中,[0124] al=1/(1+e(‑10*l+5))[0125] 其中,动态滑动窗口中越靠后的轨迹数据所拥有的权重越大;[0126] 步骤6:调用粒子群算法并设置初始参数,具体的:[0127] 根据步骤5得到具有权重的动态滑动窗口数据,将其作为粒子群算法的训练数据;设定粒子群算法迭代次数从ite=1开始,最大迭代次数为itemax,种群规模为NP,搜索空间维数为D,搜索上限为 搜索下限为x。[0128] 其中,步骤6中所述搜索空间维数D采用如下方法计算:[0129][0130] 其中,p为Volterra级数预测模型的阶数;m为嵌入维数;C为组合数公式。[0131] 步骤7:种群初始位置设置,具体的:[0132] 根据步骤5和步骤6得到动态滑动窗口以及粒子群算法初始参数,判断是否首次调用粒子群算法;[0133] 若是,采用均分网格法初始化种群位置:首先将所述搜索上限 和搜索下限x平均划分为q+1个间隔值Ik;将每个间隔值Ik扩充为D维的网格向量 对于所述D维网格向量从第1维开始,将值I1依次替换为Ik,k=2,3,…q+1,其余D‑1维仍为I1,直到第D维,记录每次更改所生成的网格向量;以此类推,将所有网格向量 重复上述过程;使用所述方法共生成(q+1)×((D×q)+1)组D维网格向量;将所述网格向量代入适应度函数中,选取适应度值最小的NP组网格向量作为粒子群算法的种群初始位置,记为[0134] 否则,使用上次保存的粒子最优位置作为本次调用粒子群算法的种群初始位置,记为[0135] 其中,步骤7中所述间隔值Ik和网格向量 分别采用如下方法计算[0136][0137][0138] 其中, 和x分别为粒子搜索上限和搜索下限;q为搜索空间均分值;D为搜索空间维数。[0139] 步骤7中所述D维网格向量 所生成的新的网格向量,具体形式如下:[0140][0141] 其中,每一列代表一组新的D维网格向量,共有D×q组。[0142] 步骤8:粒子群辨识寻优,具体的:[0143] 根据步骤7得到粒子群初始位置 同时随机初始化粒子群速度 开始循环迭代,在第ite=j轮迭代:将种群位置向量 依次代入加权适应度函数 中,i=1,2,…,NP,计算出全体粒子的适应度值;由所述适应度值得到第i个粒子的历史最优位置pbesti,以及第j轮迭代的种群历史最优位置gbest;由速度和位置进化规则对种群位置进行进化;重复上述过程直至到达所述最大迭代次数itemax,保存种群最优位置。[0144] 其中,步骤8中所述第i个粒子的适应度值 采用如下方法计算:[0145][0146] 其中,αl为所述第l组数据的权重;y(l)为所述第l组数据的期望输出项;U(l)为T所述第l组输入数据;U(l)为U(l)的转置形式; 为第i个粒子的位置向量。[0147] 步骤8中所述粒子群第i个粒子的速度和位置进化规则采用如下方法计算:[0148][0149][0150] 其中,vi为第i个粒子的速度;ω为粒子的惯性权重;c1和c2为学习因子;r1和r2为[0,1]区间内的随机数;pbesti(j)为第i个粒子在第j轮迭代的历史最优位置; 为第i个粒子在第j轮迭代的位置;gbest(j)为第j轮迭代的种群历史最优位置。[0151] 步骤9:轨迹预测,具体的:[0152] 根据步骤8所得最优粒子位置作为所述Volterra级数预测模型的参数,将所述动态滑动窗口内的数据作为预测模型的输入数据,计算得到机动目标的在t=tk时刻的单步轨迹预测值[0153] 步骤10:残差补偿法校正预测值,具体的:[0154] 根据步骤9所得单步外推预测值 计算其与真实值x(k)的偏差,记为Δe(k),保存最大长度为所述动态滑动窗口长度W的偏差向量,记为ΔE;使用递推最小二乘算法,输入项为所述动态滑动窗口内的轨迹坐标数据,期望输出项为所述偏差向量ΔE,求解下一时刻的预测残差补偿值res(k+1);将所述下一时刻预测残差补偿值res(k+1)与所述预测模型的下一时刻单步预测值相加得到校正后的轨迹预测值,记为 残差补偿法如图4所示;[0155] 其中,步骤10中所述最大长度为动态滑动窗口长度W的偏差向量ΔE,具体形式如下:[0156] ΔE=[Δe(k‑W+1),Δe(k‑W+2),…,Δe(k)][0157] 其中, W为动态滑动窗口的长度。[0158] 步骤10中所述校正后的轨迹预测值 采用如下方法计算:[0159][0160] 其中, 为校正后的预测值; 为Volterra预测模型求出的预测值;res(k+1)为t=tk+1时刻预测值的残差补偿值。[0161] 步骤11:重复步骤3至步骤10,直到停止预测机动目标轨迹。[0162] 通过上述技术方案,本发明针对现有的机动目标轨迹在线预测算法预测精度低、消耗时间久等问题,提出了基于动态滑动窗口辨识的机动目标轨迹在线预测方法。[0163] 首先,在数据处理上,由于难以获取目标的所有机动方式,仅能通过传感器网络观测获得机动目标的轨迹坐标数据,为了增加数据的可靠性,本发明提出具有权重的动态滑动窗口策略,在线获取实时轨迹数据,同时在每次预测前更新预测模型参数,提高预测精度,实现在线轨迹预测;[0164] 其次,在模型辨识上,由于标准粒子群算法在辨识预测模型参数时很难得到最优解,并且辨识过程往往无法复现,为了改善模型的辨识效果,本发明提出了空间网格初始化方法,用于首次辨识预测模型的参数,同时在更新模型参数时调用保存的粒子最优位置初始化粒子群,减少辨识时间;[0165] 最后,在轨迹预测上,由于采用结合动态滑动窗口的在线辨识方法辨识预测模型的参数,长期积累会导致预测误差逐渐增大,为了避免这种情况,本发明提出残差补偿法对每次预测值进行修正,修正后的值作为最终的预测结果,增加轨迹预测精度。[0166] 本发明通过提出动态滑动窗口的方法,并对窗口内的数据进行赋权值处理,增加轨迹数据的可靠性,然后使用改进初始化方法的粒子群算法在线辨识Volterra级数预测模型参数,减少计算消耗时间,最后结合残差补偿法对预测值进行校正,提高轨迹预测精度,实现机动目标轨迹的在线精准预测。[0167] 为验证上述实施方式的正确性及合理性,图5为使用无人机三自由度模型随机生成的一组机动轨迹,采样次数为300,采样间隔为0.2s,利用本发明方法对该飞行轨迹进行在线预测。设置动态滑动窗口的初始长度为20,采用三维坐标独立预测,对后280个轨迹坐标点进行在线单步外推预测。通过改进的C‑C法计算本发明算法的延迟时间τ和嵌入维数m,分别得到无人机三自由度机动轨迹X维度延迟时间τ=5,嵌入维数m=2;Y维度延迟时间τ=6,嵌入维数m=2;Z维度延迟时间τ=6,嵌入维数m=2。选择Volterra级数预测模型的阶数p=2。设置粒子群算法搜索空间均分值q=29,搜索上限 搜索下限x=‑5,惯性权重ω=0.8,学习因子c1=c2=2。[0168] 图6为本发明方法对无人机轨迹分别在X、Y、Z三个维度上的预测偏差,可以看出,本发明方法所得到的机动目标在线预测轨迹与无人机飞行机动轨迹基本吻合,在三个维度上的预测偏差都在零点上下波动,且预测偏差最大都不超过1m。计算得到本发明方法的平均单步预测所耗时间约为0.043s,对于传感器的采样间隔0.2s,本发明方法满足对实时运动的机动目标进行在线预测的目的。[0169] 需要进一步说明的是:[0170] 本发明仿真实验通过无人机三自由度模型来模拟实时轨迹数据的生成,将无人机看作质点,将地面坐标系作为惯性坐标系,则运动模型如下:[0171][0172] 其中,xt,yt和zt分别表示无人机在惯性坐标系中的水平和高度坐标;vt,θt和ψt表示无人机的速度、爬升角和航向角;φt表示滚转角;g为重力加速度;nxt和nzt分别表示水平T T过载和纵向过载;[xt,yt,zt,vt,θt,ψt]和[nxt,nzt,φt]分别为无人机的状态变量和控制变量。[0173] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
专利地区:河南
专利申请日期:2021-12-30
专利公开日期:2024-11-29
专利公告号:CN114676877B