一种适用于网络传输的离心式动态飞行指令实时插值方法
【技术领域】
[0001]本发明涉及一种离心式动态飞行指令插值方法,尤其涉及一种适用于网络传输的离心式动态飞行指令实时插值方法。
【背景技术】
[0002]随着高性能战机发展,其高速、大机动特性所产生的非常速度和加速度及角运动刺激将会严重影响飞行员的生理、心理状态,容易引发意识丧失(G-LOC)、空间定向障碍(SD)等,威胁飞行安全。航空医学领域认为,开展载人离心机训练是提高飞行员空中身体适应能力和保证飞行安全不可或缺的重要措施,将其作为飞行员训练必不可少的、安全而又经济的训练项目。
[0003]离心式动态飞行模拟器是载人离心机与飞行模拟器的有机结合,是面向飞行员训练的创新模式。离心式动态飞行模拟器不仅具备提供持续加速度过载环境的能力,还具备飞行员自主控制、高保真视景仿真、真实飞行环境模拟乃至空间定向障碍模拟等功能,是唯一能够在地面逼真模拟各种机动飞行动作,以及飞行对人体生理、心理影响的大型航空医学装备。
[0004]在离心式动态飞行模拟器中,载人离心机与飞行模拟器的有机结合是通过离心式动态飞行指令实现的,离心式动态飞行指令是由飞行员操作油门、操纵杆等设备,经飞行模拟器计算仿真得到的载人离心机指令信号,主要包括载人离心机主机转速指令、俯仰角度指令和滚转角度指令。离心式动态飞行指令传输的物理连接方法有两种:第一种方法为模拟信号传输方法,即先将飞行模拟器中的离心式动态飞行指令转换为模拟量信号,再将模拟量信号在载人离心机中转换为离心式动态飞行指令;第二种方法为网络传输方法,即飞行模拟器通过网络方式直接将离心式动态飞行指令传输给载人离心机,中间不需要进行转换。
[0005]网络传输方法由于具有抗干扰能力强、传输信息量大等优点,通常选用该方法传输离心式动态飞行指令。但网络传输方法存在如下两个主要缺点:
[0006]1、网络传输方法受限于底层网络传输协议,网络传输速度很难满足离心式动态飞行模拟器对离心式动态飞行指令传输实时性的要求,使载人离心机侧获得的离心式动态飞行指令曲线呈较大的阶梯状,引入系统扰动量,造成载人离心机高频振动,降低载人离心机的使用寿命,同时给飞行员造成不适感;
[0007]2、网络传输方法有等时同步网络和非等时同步网络,受限于在载人离心机与飞行模拟器的两种不同操作系统之间传输,网络传输方法通常为非等时同步网络,对于非等时同步网络,指令传输时间间隔会在一定范围内波动,若直接对离心式动态飞行指令进行插值,由于指令传输时间间隔不确定,很难达到最优的插值效果。
【发明内容】
[0008]本发明的目的就在于为了解决上述问题而提供一种适用于网络传输的离心式动态飞行指令实时插值方法。
[0009]本发明通过以下技术方案来实现上述目的:
[0010]—种适用于网络传输的离心式动态飞行指令实时插值方法,用于运动控制系统对接收到的飞行模拟器的飞行指令进行插值处理,并将处理后的指令作为三自由度离心机的控制指令,其特征在于:所述离心式动态飞行指令实时插值方法包括以下步骤:
[0011 ] (I)首先定义如下程序模块:
[0012]指令缓存模块:用于存储包含历史指令信息的缓存指令Sn-1、9n-1、yn-1,i为缓存数量,iM;
[0013]指令接收触发模块:用于在接收到当前指令信号时产生并发出触发信号τη;
[0014]插值计数观测模块:用于统计触发点之间插值的点数Nn;
[0015]指令周期观测模块:用于统计触发点之间指令更新周期Tn;
[0016]插值计数评估模块:用于根据一系列插值点数的统计,评估出最大稳定插值点数
NMax ;
[0017]指令周期评估模块:用于根据一系列指令周期的统计,评估出最大稳定插值指令周期TMax;
[0018]插值方法选择模块:用于选择插值方法F(X),所述插值方法包括但不限于线性插值方法、临近点插值法和样条插值法;
[0019]实时插值模块-用于插值实时飞行指令^^^^汰为插值个数’范围为^...,N_ii,N为最大最佳插值点数,ii为调整插值点数,ii<N;
[0020]插值飞行指令评估模块:用于评估插值飞行指令(Sk、0k、yk),对插值后飞行指令进行范围限制和优化调整;
[0021](2)接收离心式动态飞行实时指令(Sn、0n、yn),Sn为离心机主机转速指令,θη为离心机主机滚转角度,T 离心机主机俯仰角度;
[0022](3)指令缓存模块存储当前指令并作为缓存指令(Sn-1、0n-1、yn—i),i为缓存数量,i>1;
[0023]⑷指令接收触发模块接收到实时指令⑶人^丄产生并发出触发信号^;
[0024](5)插值计数观测模块接收到触发信号τη,统计?^之间的插值点数Nn,i 2 l,i为观测触发信号间隔;
[0025](6)插值计数评估模块对Νηι?Νη区间的j个数据进行评估,j 2 1,j为评估时用的插值点数样本个数,获得最大稳定插值点数Nmm ;
[0026](7)指令周期观测模块接收到触发信号τη,统计Tr1-Tn区间的指令更新周期Tn,i2 I,i为观测触发信号间隔;
[0027](8)指令周期评估模块对Tm?Tn区间的j个数据进行评估,j 2 1,j为评估时用的插值点数样本个数,获得最大稳定插值指令周期TMax;
[0028](9)插值方法选择模选择符合设备运行规律的插值方法F(X);
[0029](10)实时插值模块以ΝΜΜΧτ < TMax*条件,τ为运动控制系统运行周期,得到最大最佳插值点数N,设置插值点数为为调整插值点数,ii<N,以插值方法F(X)在实时指令⑶人^^和缓存指令⑶-^^丫^^之间插值’插值得到插值飞行指令⑶乂、T k),该插值飞行指令作为三自由度离心机的控制指令;
[0030](11)插值飞行指令评估模块限制插值飞行指令(Sk、0k、yk)的范围为(SmQmγη-1) < (Sk、9k、yk) < (Sn、0n、γ n),并统计超出范围数据的数量和大小,计算出修正参数,并反馈给插值计数评估模块和指令周期评估模块,插值计数评估模块和指令周期评估模块根据修正参数调整最大稳定插值点数NMax和最大稳定插值指令周期TMax,用于下次插值。
[0031]作为优选,所述步骤(6)和(8)中,评估方法采用最小值筛选方法或统计方法。
[0032]所述步骤(4)中,指令接收触发模块的处理方法包括如下步骤:
[0033](4.1)开始接收到实时飞行指令;
[0034](4.2)判断是否接收到新的指令,如果不是,则转至步骤(4.1),如果是,则转至步骤(4.3);
[0035](4.3)产生并发出触发信号τη。
[0036]所述步骤(5)中,插值计数观测模块的处理方法包括如下步骤:
[0037](5.1)开始;
[0038](5.2)判断是否接收到触发信号τη,如果不是,则转至步骤(5.1),如果是,则转至步骤(5.3);
[0039](5.3)判断是否正在计数,如果不是,则开始计数并转至步骤(5.2),如果是,则转至步骤(5.4);
[0040](5.4)停止计数,得到插值计数值即插值点数Νη。
[0041]所述步骤(6)中,插值计数评估模块的处理方法包括如下步骤:
[0042](6.1)开始;
[0043](6.2)判断是否接收到插值点数Nn,如果不是,则转至步骤(6.1),如果是,则转至步骤(6.3);
[0044](6.3)判断插值点数Nn的样本数是否大于j,j 2 l,j为评估时用的插值点数样本个数,如果不是,则转至步骤(6.2),如果是,则转至步骤(6.4);
[0045](6.4)评估得到最大稳定插值点数NMax。
[0046]所述步骤(7)中,指令周期观测模块的处理方法包括如下步骤:
[0047](7.1)开始;
[0048](7.2)判断是否接收到触发信号τη,如果不是,则转至步骤(7.1),如果是,则转至步骤(7.3);
[0049](7.3)判断是否正在计时,如果不是,则开始计时并转至步骤(7.2),如果是,则转至步骤(7.4);
[0050](7.4)停止计时,得到插值计时值即指令更新周期Tn。
[0051]所述步骤(8)中,指令周期评估模块的处理方法包括如下步骤:
[0052](8.1)开始;
[0053](8.2)判断是否接收到指令更新周期Tn,如果不是,则转至步骤(8.1),如果是,则转至步骤(8.3);
[0054](8.3)判断指令更新周期Tn的样本数是否大于j,如果不是,则转至步骤(8.2),如果是,则转至步骤(8.4);
[0055