信息发送方法及装置,飞行模拟器,存储介质,处理器与流程

文档序号:18073263发布日期:2019-07-03 04:01阅读:146来源:国知局
信息发送方法及装置,飞行模拟器,存储介质,处理器与流程

本发明涉及计算机仿真,飞行仿真领域,具体而言,涉及一种信息发送方法及装置,飞行模拟器,存储介质,处理器。



背景技术:

飞行模拟器是一种基于部件模拟器的卫星飞行控制闭环仿真系统,能够满足当飞行员梦想的模拟驾驶飞机的虚拟现实设备,该设备能够让人体验驾驶一个飞行器在任意场景中自由飞行,且能模仿出真实的飞行体验。

在现有的技术方案中,对飞行模拟器功能的实现不够完善,其主要不足包括:

第一,视景部分与运动平台部分结合不够紧密,数据传输和处理的效率较低,导致视景部分和运动平台部分运作不同步,从而降低了体验感。

第二.现有技术运动平台基本采用三自由度平台,该平台虽然支持动感特效、驱动关节少,但是缺乏真实性,交互感有欠缺。

第三.现有技术对视景内容的开发使用unity引擎,该引擎开发虽然操作简单、轻量级、安装、调试和打包方便,但是内建工具不够完善、渲染差,光照系统糟糕,阴影bake有bug,只能勉强达到2a游戏入门水平。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种信息发送方法及装置,飞行模拟器,存储介质,处理器,以至少解决相关技术中的飞行模拟器的数据传输效率低的技术问题。

根据本发明实施例的一个方面,提供了一种信息发送方法,包括:通过第一接口接收飞行模拟器中的操作器输出的第一操作信息;其中,所述第一接口为经第一协议封装的接口;对所述第一操作信息进行处理,得到第二操作信息;其中,所述第二操作信息为所述飞行模拟器中的运动平台模拟飞行器的实际运动姿态的操作信息;通过第二接口将所述第二操作信息发送给所述运动平台,其中,所述第二接口为经第二协议封装的接口。

可选地,所述第一操作信息包括以下至少之一:第一油门信息和第一姿态信息;其中,所述第一油门信息包括:所述操作器输出的速度,所述操作器输出的加速度,所述操作器输出的角度,所述操作器输出的角速度和所述操作器输出的角加速度;所述第一姿态信息包括:所述飞行模拟器的机体坐标系中x轴方向的平移量,所述机体坐标系中y轴方向的平移量,所述机体坐标系中z轴方向的平移量,沿所述x轴的转动量,沿所述y轴的转动量和沿所述z轴的转动量。

可选地,对所述第一操作信息进行处理,得到第二操作信息包括以下至少之一:在所述第一操作信息包括所述第一油门信息的情况下,通过所述第一协议对所述第一油门信息进行解算,将解算后得到的油门信息输入到所述飞行模拟器的运算中心,得到所述飞行器的模拟飞行速度;在所述第一操作信息包括所述第一姿态信息的情况下,通过洗出算法得到第二姿态信息,其中,所述第二姿态信息包括:所述飞行模拟器的地面坐标系中x轴方向的平移量,所述地面坐标系中y轴方向的平移量,所述地面坐标系中z轴方向的平移量,所述地面坐标系中沿x轴的转动量,所述地面坐标系沿所述y轴的转动量,所述地面坐标系沿所述z轴的转动量。

可选地,在通过第二接口将所述第二操作信息发送给所述运动平台之后,所述方法还包括:将所述第二操作信息更新到所述飞行模拟器的主控系统的数据库中。

可选地,在通过第二接口将所述第二操作信息发送给所述运动平台之后,所述方法还包括:通过所述飞行模拟器的主控系统的维护管理模块对所述飞行模拟器进行系统维护,其中,所述系统维护包括以下至少之一:查询维护记录,添加维护记录,修改维护记录,删除维护记录。

可选地,在通过第一接口接收飞行模拟器中的操作器输出的第一操作信息之前,所述方法还包括:将配置的配置参数通过第三接口发送给所述飞行模拟器的视景系统;其中,所述配置参数包括以下至少之一:所述飞行器的类型,所述飞行器运行的场景,所述飞行器的运行模式;其中,所述第三接口为经第三协议封装的接口。

可选地,所述配置参数为通过虚幻unreal引擎配置的。

根据本发明实施例的一个方面,提供了一种飞行模拟器,包括:主控系统,操作器,运动平台;其中,所述操作器用于响应用户的操作输出第一操作信息;所述主控系统,用于通过第一接口接收所述操作器输出的第一操作信息,对所述第一操作信息进行处理得到第二操作信息以及通过第二接口将所述第二操作信息发送给所述运动平台;其中,所述第一接口为经第一协议封装的接口,所述第二接口为经第二协议封装的接口;所述运动平台,用于在接收到所述第二操作信息之后,按照所述第二操作信息模拟飞行器的实际运动姿态。

可选地,所述第一操作信息包括以下至少之一:第一油门信息和第一姿态信息;其中,所述第一油门信息包括:所述操作器输出的速度,所述操作器输出的加速度,所述操作器输出的角度,所述操作器输出的角速度和所述操作器输出的角加速度;所述第一姿态信息包括:所述飞行模拟器的机体坐标系中x轴方向的平移量,所述机体坐标系中y轴方向的平移量,所述机体坐标系中z轴方向的平移量,沿所述x轴的转动量,沿所述y轴的转动量和沿所述z轴的转动量。

可选地,所述主控系统还用于以下至少之一:在所述第一操作信息包括所述第一油门信息的情况下,通过所述第一协议对所述第一油门信息进行解算,将解算后得到的油门信息输入到所述飞行模拟器的运算中心,得到所述飞行器的模拟飞行速度;在所述第一操作信息包括所述第一姿态信息的情况下,通过洗出算法得到第二姿态信息,其中,所述第二姿态信息包括:所述飞行模拟器的地面坐标系中x轴方向的平移量,所述地面坐标系中y轴方向的平移量,所述地面坐标系中z轴方向的平移量,所述地面坐标系中沿x轴的转动量,所述地面坐标系沿所述y轴的转动量,所述地面坐标系沿所述z轴的转动量。

可选地,所述主控系统包括:数据库,用于存储和/或更新所述第二操作信息。

可选地,所述主控系统还包括:维护管理模块,用于对所述飞行模拟器进行系统维护,其中,所述系统维护包括以下至少之一:查询维护记录,添加维护记录,修改维护记录,删除维护记录。

可选地,所述飞行模拟器还包括:视景系统,用于接收所述主控系统通过第三接口发送的配置参数,所述配置参数包括以下至少之一:所述飞行器的类型,所述飞行器运行的场景,所述飞行器的运行模式;其中,所述第三接口为经第三协议封装的接口。

可选地,所述主控系统还包括:视景模块,用于通过虚幻unreal引擎配置所述配置参数。

根据本发明实施例的一个方面,提供了一种信息发送装置,包括:接收模块,用于通过第一接口接收飞行模拟器中的操作器输出的第一操作信息;其中,所述第一接口为经第一协议封装的接口;处理模块,用于对所述第一操作信息进行处理,得到第二操作信息;其中,所述第二操作信息为所述飞行模拟器中的运动平台模拟飞行器的实际运动姿态的操作信息;发送模块,用于通过第二接口将所述第二操作信息发送给所述运动平台,其中,所述第二接口为经第二协议封装的接口。

根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。

根据本发明实施例的一个方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。

在本发明实施例中,采用封装后的第一接口和封装后的第二接口与操作器和运动平台进行数据传输的方式,即将制定好的协议封装在第一接口和第二接口中,因而只要在接口中做连接的协议就可以完成对两端数据的输入,输出和处理,因而提高了数据的接收、发送和处理的速度,进而解决了相关技术中的飞行模拟器的数据传输效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例提供的信息发送方法的流程示意图;

图2是根据本发明实施例提供的飞行模拟器的结构示意图;

图3是根据本发明实施例提供的信息发送装置的结构框图;

图4是根据本发明优选实施例提供的飞行模拟器总体的示意图;

图5是根据本发明优选实施例提供的飞行模拟器的逻辑布局图;

图6是根据本发明优选实施例提供的数据流图;

图7是根据本发明优选实施例提供的洗出算法的原理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种信息发送方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例提供的信息发送方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤s102,通过第一接口接收飞行模拟器中的操作器输出的第一操作信息;其中,所述第一接口为经第一协议封装的接口;

步骤s104,对所述第一操作信息进行处理,得到第二操作信息;其中,所述第二操作信息为所述飞行模拟器中的运动平台模拟飞行器的实际运动姿态的操作信息;

步骤s106,通过第二接口将所述第二操作信息发送给所述运动平台,其中,所述第二接口为经第二协议封装的接口。

通过上述步骤,采用封装后的第一接口和封装后的第二接口与操作器和运动平台进行数据传输的方式,即将制定好的协议封装在第一接口和第二接口中,因而只要在接口中做连接的协议就可以完成对两端数据的输入,输出和处理,因而提高了数据的接收、发送和处理的速度,进而解决了相关技术中的飞行模拟器的数据传输效率低的技术问题。

需要说明的是,上述第一协议和上述第二协议可以是相同的,也可以不同,上述第一协议和第二协议可以都是udp协议,但并不限于此。

需要说明的是,上述第一操作信息可以包括以下至少之一:第一油门信息和第一姿态信息;其中,所述第一油门信息包括:所述操作器输出的速度,所述操作器输出的加速度,所述操作器输出的角度,所述操作器输出的角速度和所述操作器输出的角加速度;所述第一姿态信息包括:所述飞行模拟器的机体坐标系中x轴方向的平移量,所述机体坐标系中y轴方向的平移量,所述机体坐标系中z轴方向的平移量,沿所述x轴的转动量,沿所述y轴的转动量和沿所述z轴的转动量。

需要说明的是,上述第一操作信息可以是上述操作器响应用户的操作而输出的操作信息,但并不限于此。可选地,上述操作器可以是手柄,手柄的数量可以是1个,也可以是两个,在为两个的情况下,在操作一个手柄时输出第一油门信息,在操作另一手柄时输出第一在台信息,但并不限于此。

需要说明的是,上述步骤s104可以表现为以下至少之一:在所述第一操作信息包括所述第一油门信息的情况下,通过所述第一协议对所述第一油门信息进行解算,将解算后得到的油门信息输入到所述飞行模拟器的运算中心,得到所述飞行器的模拟飞行速度;在所述第一操作信息包括所述第一姿态信息的情况下,通过洗出算法得到第二姿态信息,其中,所述第二姿态信息包括:所述飞行模拟器的地面坐标系中x轴方向的平移量,所述地面坐标系中y轴方向的平移量,所述地面坐标系中z轴方向的平移量,所述地面坐标系中沿x轴的转动量,所述地面坐标系沿所述y轴的转动量,所述地面坐标系沿所述z轴的转动量。

需要说明的是,通过第一协议对第一油门信息进行解算的原理表现为:以接口协议为udp协议为例,接口协议使用的是udp协议,需要编写server(服务器端)和client(客户端)。udpserver使用socket()来建立一个udpsocket,然后初始化socketaddr_in结构的变量,并赋值;使用bind()把上面的socket和定义的ip地址和端口绑定;进入无限循环程序,使用recvfrom()进入等待状态,直到接收到客户程序发送的数据,就处理收到的数据,并向客户程序发送反馈。udpclient初始化socketaddr_in结构的变量,并赋值;使用socket()来建立一个udpsocket;使用connect()来建立与服务程序的连接;向服务程序发送数据,因为使用连接是udo,所以使用write()来替代sendto();接收服务程序发回的数据,同样使用read()来替代recvfrom();处理接收到的数据。

需要说明的是,洗出算法是对输入的信号进行处理,经过一系列坐标变换、滤波、协调补偿,成为能反应飞机运动状态的驱动信号,驱动信号使运动部件在完成一次突发运动后,以低于人的感觉门限回到中立位置,然后再执行下一次运动指令,给飞行员持续过载的感觉。本发明应用经典洗出算法,包括比例环节、坐标变换环节、信号滤波环节、积分环节、限幅环节。比例环节对输入信号进行适当放大或缩小,满足信号的输入范围。坐标变换环节把平台质心在机体坐标系中的加速度(角速度)转变为地坐标系中的加速度(角速度)。坐标变换矩阵t与由机体坐标系变换到地面坐标系的变换矩阵相同,变换矩阵如下,但矩阵各元素中的姿态角是经洗出变换后的运动平台姿态角驱动信号。

式中:axb,ayb,azb---表示运动平台质心在固定坐标系内三个方向线加速度;其中,坐标变换矩阵为

ax,ay,az---表示平台质心在活动坐标系内三个方向线加速度。

需要说明的是,上述固定坐标系等同于一个地面坐标系,它以运动平台处于中立位置时,质心在地面上的投影为原点,使铅垂轴与重力的方向平行,向上为正方向(为z轴),纵轴(为x轴)指向机头为正方向,横轴(为y轴)用右手定则指向飞机头右侧为正;上述活动坐标系为模拟运动平台的活动坐标系,相当于一个机体坐标系,其以运动平台的质心为原点,其中,三个轴的指向和极性与飞机的机体坐标系相同。

将矩阵展开,进行适当化简后得到如下化简公式:

其中,θb表示运动平台的俯仰角度;表示运动平台的偏航角度;表示运动平台的滚转角度。

上式不仅将线速度由活动坐标系转换到固定坐标系,且三个姿态角都是经过洗出滤波后所得到的结果,即既包含了当前飞行器三个姿态角的信息,同时还考虑了在各个轴上由于比力作用了产生的姿态角提示信号。

需要说明的是,上述第一姿态信息和上述第二姿态信息包括了6个自由度,适应性地,在本发明实施例中,上述运动平台可以是6自由度的平台,克服了现有技术中运动平台智能平行运动的弊端,增加了转动的运动效果,可以更好的模拟各种空间运动姿态,使得运动体验更加真实。

在本发明的一个实施例中,在上述步骤s106之后,上述方法还可以包括:将所述第二操作信息更新到所述飞行模拟器的主控系统的数据库中。通过在主控系统中设置独立的数据库用于存储第二操作信息,即对数据进行了封装,能够极大提高运作的效率。

在本发明的一个实施例中,在上述步骤s106之后,上述方法还可以包括:通过所述飞行模拟器的主控系统的维护管理模块对所述飞行模拟器进行系统维护,其中,所述系统维护包括以下至少之一:查询维护记录,添加维护记录,修改维护记录,删除维护记录。通过在主控系统中设置维护管理模块,通过该维护管理模块实现对系统维护进行独立管理,不仅方便用户操作,也提升了维护的效率。

在本发明的一个实施例中,在上述步骤s102之前,上述方法还包括:将配置的配置参数通过第三接口发送给所述飞行模拟器的视景系统;其中,所述配置参数包括以下至少之一:所述飞行器的类型,所述飞行器运行的场景,所述飞行器的运行模式;其中,所述第三接口为经第三协议封装的接口。

需要说明的是,上述第三接口也可以是通过协议进行封装的接口,但并不限于此,该协议也可以是udp协议,但并不限于此。需要说明的是,上述视景系统可以是头盔,但并不限于此。

需要说明的是,在将配置的配置参数通过第三接口发送给所述飞行模拟器的视景系统之前,上述方法还可以包括:通过主控系统中的视景模块配置上述配置参数,将配置好的上述配置参数保存进文档。

需要说明的是,上述配置参数可以认为是配置的视景内容,在本发明的一个实施例中,上述配置参数为通过虚幻unreal引擎配置的,即视景模块通过虚幻unreal引擎配置的上述配置参数。通过使用unreal引擎配置视景内容,使得画面更加真实,达到3a的游戏水准,使得飞行体验得到极大的提升,并且由于unreal引擎是开源的,拥有丰富的开发资源,极大降低了开发成本。

需要说明的是,上述步骤的执行主体可以是上述飞行模拟器中的主控系统。

本发明实施例还提供了一种飞行模拟器,图2是根据本发明实施例提供的飞行模拟器的结构示意图,如图2所示,该飞行模拟器包括:主控系统20,操作器22,运动平台24;其中,

所述操作器22用于响应用户的操作输出第一操作信息;

所述主控系统20,与上述操作器22连接,用于通过第一接口接收所述操作器22输出的第一操作信息,对所述第一操作信息进行处理得到第二操作信息以及通过第二接口将所述第二操作信息发送给所述运动平台24;其中,所述第一接口为经第一协议封装的接口,所述第二接口为经第二协议封装的接口;

所述运动平台24,与上述主控系统20连接,用于在接收到所述第二操作信息之后,按照所述第二操作信息模拟飞行器的实际运动姿态。

通过上述飞行模拟器,采用封装后的第一接口和封装后的第二接口与操作器和运动平台进行数据传输的方式,即将制定好的协议封装在第一接口和第二接口中,因而只要在接口中做连接的协议就可以完成对两端数据的输入,输出和处理,因而提高了数据的接收、发送和处理的速度,进而解决了相关技术中的飞行模拟器的数据传输效率低的技术问题。

需要说明的是,上述第一协议和上述第二协议可以是相同的,也可以不同,上述第一协议和第二协议可以都是udp协议,但并不限于此。

需要说明的是,上述第一操作信息可以包括以下至少之一:第一油门信息和第一姿态信息;其中,所述第一油门信息包括:所述操作器输出的速度,所述操作器输出的加速度,所述操作器输出的角度,所述操作器输出的角速度和所述操作器输出的角加速度;所述第一姿态信息包括:所述飞行模拟器的机体坐标系中x轴方向的平移量,所述机体坐标系中y轴方向的平移量,所述机体坐标系中z轴方向的平移量,沿所述x轴的转动量,沿所述y轴的转动量和沿所述z轴的转动量。

需要说明的是,上述第一操作信息可以是上述操作器响应用户的操作而输出的操作信息,但并不限于此。可选地,上述操作器可以是手柄,手柄的数量可以是1个,也可以是两个,在为两个的情况下,在操作一个手柄时输出第一油门信息,在操作另一手柄时输出第一在台信息,但并不限于此。

需要说明的是,所述主控系统20还可以用于以下至少之一:在所述第一操作信息包括所述第一油门信息的情况下,通过所述第一协议对所述第一油门信息进行解算,将解算后得到的油门信息输入到所述飞行模拟器的运算中心,得到所述飞行器的模拟飞行速度;在所述第一操作信息包括所述第一姿态信息的情况下,通过洗出算法得到第二姿态信息,其中,所述第二姿态信息包括:所述飞行模拟器的地面坐标系中x轴方向的平移量,所述地面坐标系中y轴方向的平移量,所述地面坐标系中z轴方向的平移量,所述地面坐标系中沿x轴的转动量,所述地面坐标系沿所述y轴的转动量,所述地面坐标系沿所述z轴的转动量。

需要说明的是,上述运动平台24为6自由度的运动平台,克服了现有技术中运动平台智能平行运动的弊端,增加了转动的运动效果,可以更好的模拟各种空间运动姿态,使得运动体验更加真实。

在本发明的一个实施例中,上述主控系统20可以包括:数据库,用于存储和/或更新所述第二操作信息。

在本发明的一个实施例中,上述主控系统20还可以包括:维护管理模块,用于对所述飞行模拟器进行系统维护,其中,所述系统维护包括以下至少之一:查询维护记录,添加维护记录,修改维护记录,删除维护记录。

在本发明的一个实施例中,上述飞行模拟器还可以包括:视景系统,与上述主控系统20连接,用于接收所述主控系统20通过第三接口发送的配置参数,所述配置参数包括以下至少之一:所述飞行器的类型,所述飞行器运行的场景,所述飞行器的运行模式;其中,所述第三接口为经第三协议封装的接口。

需要说明的是,上述第三接口也可以是通过协议进行封装的接口,但并不限于此,该协议也可以是udp协议,但并不限于此。需要说明的是,上述视景系统可以是头盔,但并不限于此。

需要说明的是,上述主控系统20还可以包括:视景模块,用于通过虚幻unreal引擎配置所述配置参数。

本发明实施例,还提供了一种信息发送装置,图3是根据本发明实施例提供的信息发送装置的结构框图,如图3所示,该装置包括:

接收模块30,用于通过第一接口接收飞行模拟器中的操作器输出的第一操作信息;其中,所述第一接口为经第一协议封装的接口;

处理模块32,与上述接收模块30连接,用于对所述第一操作信息进行处理,得到第二操作信息;其中,所述第二操作信息为所述飞行模拟器中的运动平台模拟飞行器的实际运动姿态的操作信息;

发送模块34,与上述处理模块32连接,用于通过第二接口将所述第二操作信息发送给所述运动平台,其中,所述第二接口为经第二协议封装的接口。

通过上述装置,采用封装后的第一接口和封装后的第二接口与操作器和运动平台进行数据传输的方式,即将制定好的协议封装在第一接口和第二接口中,因而只要在接口中做连接的协议就可以完成对两端数据的输入,输出和处理,因而提高了数据的接收、发送和处理的速度,进而解决了相关技术中的飞行模拟器的数据传输效率低的技术问题。

需要说明的是,上述第一协议和上述第二协议可以是相同的,也可以不同,上述第一协议和第二协议可以都是udp协议,但并不限于此。

需要说明的是,上述第一操作信息可以包括以下至少之一:第一油门信息和第一姿态信息;其中,所述第一油门信息包括:所述操作器输出的速度,所述操作器输出的加速度,所述操作器输出的角度,所述操作器输出的角速度和所述操作器输出的角加速度;所述第一姿态信息包括:所述飞行模拟器的机体坐标系中x轴方向的平移量,所述机体坐标系中y轴方向的平移量,所述机体坐标系中z轴方向的平移量,沿所述x轴的转动量,沿所述y轴的转动量和沿所述z轴的转动量。

需要说明的是,上述第一操作信息可以是上述操作器响应用户的操作而输出的操作信息,但并不限于此。可选地,上述操作器可以是手柄,手柄的数量可以是1个,也可以是两个,在为两个的情况下,在操作一个手柄时输出第一油门信息,在操作另一手柄时输出第一在台信息,但并不限于此。

需要说明的是,上述处理模块32还可以用于以下至少之一:在所述第一操作信息包括所述第一油门信息的情况下,通过所述第一协议对所述第一油门信息进行解算,将解算后得到的油门信息输入到所述飞行模拟器的运算中心,得到所述飞行器的模拟飞行速度;在所述第一操作信息包括所述第一姿态信息的情况下,通过洗出算法得到第二姿态信息,其中,所述第二姿态信息包括:所述飞行模拟器的地面坐标系中x轴方向的平移量,所述地面坐标系中y轴方向的平移量,所述地面坐标系中z轴方向的平移量,所述地面坐标系中沿x轴的转动量,所述地面坐标系沿所述y轴的转动量,所述地面坐标系沿所述z轴的转动量。

需要说明的是,上述第一姿态信息和上述第二姿态信息包括了6个自由度,适应性地,在本发明实施例中,上述运动平台可以是6自由度的平台,克服了现有技术中运动平台智能平行运动的弊端,增加了转动的运动效果,可以更好的模拟各种空间运动姿态,使得运动体验更加真实。

在本发明的一个实施例中,上述装置还可以包括:更新模块,与上述发送模块34连接,用于将所述第二操作信息更新到所述飞行模拟器的主控系统的数据库中。通过在主控系统中设置独立的数据库用于存储第二操作信息,即对数据进行了封装,能够极大提高运作的效率。

在本发明的一个实施例中,上述装置还可以包括:维护模块,与上述发送模块34连接,用于通过所述飞行模拟器的主控系统的维护管理模块对所述飞行模拟器进行系统维护,其中,所述系统维护包括以下至少之一:查询维护记录,添加维护记录,修改维护记录,删除维护记录。通过在主控系统中设置维护管理模块,通过该维护管理模块实现对系统维护进行独立管理,不仅方便用户操作,也提升了维护的效率。

在本发明的一个实施例中,上述发送模块34还可以用于将配置的配置参数通过第三接口发送给所述飞行模拟器的视景系统;其中,所述配置参数包括以下至少之一:所述飞行器的类型,所述飞行器运行的场景,所述飞行器的运行模式;其中,所述第三接口为经第三协议封装的接口。

需要说明的是,上述第三接口也可以是通过协议进行封装的接口,但并不限于此,该协议也可以是udp协议,但并不限于此。需要说明的是,上述视景系统可以是头盔,但并不限于此。

需要说明的是,上述装置还包括:视景模块,用于配置上述配置参数;保存模块,用于将配置好的上述配置参数保存进文档。

需要说明的是,上述配置参数可以认为是配置的视景内容,在本发明的一个实施例中,上述配置参数为通过虚幻unreal引擎配置的,即视景模块通过虚幻unreal引擎配置的上述配置参数。通过使用unreal引擎配置视景内容,使得画面更加真实,达到3a的游戏水准,使得飞行体验得到极大的提升,并且由于unreal引擎是开源的,拥有丰富的开发资源,极大降低了开发成本。

需要说明的是,上述装置可以位于上述飞行模拟器中的主控系统。

为了更好的理解本发明实施例,以下结合优选的实施例对本发明做进一步解释。

以下以马丁飞行包主控系统为例进行说明。

图4是根据本发明优选实施例提供的飞行模拟器总体的示意图,如图4所示,包括:手柄,头盔,马丁飞行包,运算中心,六自由度平台,显示器等;图5是根据本发明优选实施例提供的飞行模拟器的逻辑布局图,图6是根据本发明优选实施例提供的数据流图。

以下结合图4至图6说明该飞行模拟器的运行过程,其中,包括:

体验时,操作人员首先启动手柄(相当于上述实施例中的操作器)和头盔(相当于上述实施例中的视景系统),当手柄和头盔获取到输入数据后向主控系统传输,从而激活主控系统,继而主控系统自动调用仿真模块、运动平台、视景系统、音响系统,并自动获取初始化参数,显示在主控界面中。这里使用了udp通信协议,这是一种无连接的协议,在数据传输前不需要通信双方建立连接,就可以在网络层的基础上实现应用进程间端到端的通信。虽然它传输的数据报可能会丢失、延迟或乱序,但是它也提供了校验和检查数据完整性的简单差错控制。(可使用其它通信协议)

当体验者佩戴头盔乘坐驾驶舱,便可通过主控系统的视景模块进行自定义配置,配置包括飞行器选择、场景选择和模式选择。配置好后将配置参数保存进文档,视景系统读取文档参数进行配置后输出视景模块。在程序中通过streamwriter写入文档,通过system.diagnostics.processstartinfo()配置视景内容。

体验过程中,体验者通过两个手柄向主控系统传输操作信息:操作信息(相当于上述实施例中的第一操作信息)包括油门信息(相当于上述实施例中的第一油门信息)与姿态信息(相当于上述实施例中的第二油门信息),左手手柄输出油门信息、右手手柄输出姿态信息。操作信息通过主控系统设置的接口进行传输,其中油门信息是五个变量,分别为v1、a1、α1、v2、a2,表示速度、加速度、角度、角速度、角加速度;姿态信息是六个变量,分别为x1、y1、z1、α、β、γ,表示直角坐标系oxyz中可以有3个平移运动和3个转动。3个平移运动分别是沿x、y、z轴的平移运动,3个转动分别是绕x,y,z轴的转动。油门信息经过接口协议解算(接口协议解算原理见下文)后得到实际飞行器的油门信息(相当于上述实施例中的第二油门信息)v2,a2,α2,v3,a3,再经过接口输出到动力学模块,动力学模块对速度、加速度、角度、角速度、角加速度这五项变量代入后模拟飞行速度。

接口协议解算原理:接口协议使用的是udp协议,需要编写server(服务器端)和client(客户端)。udpserver使用socket()来建立一个udpsocket,然后初始化socketaddr_in结构的变量,并赋值;使用bind()把上面的socket和定义的ip地址和端口绑定;进入无限循环程序,使用recvfrom()进入等待状态,直到接收到客户程序发送的数据,就处理收到的数据,并向客户程序发送反馈。udpclient初始化socketaddr_in结构的变量,并赋值;使用socket()来建立一个udpsocket;使用connect()来建立与服务程序的连接;向服务程序发送数据,因为使用连接是udo,所以使用write()来替代sendto();接收服务程序发回的数据,同样使用read()来替代recvfrom();处理接收到的数据。

姿态信息在主控系统中经过洗出算法,得到模拟飞行器的上下、左右、前后、俯仰、偏航、滚转的x、y、z轴的平移量和x、y、z轴的转动量,再由接口传送到运动平台,运动平台获取平动参数(x2、y2、z2)和转动参数(α1、β1、γ1)(需要说明的是,平动参数(x2、y2、z2)和转动参数(α1、β1、γ1)相当于上述实施例中的第二姿态信息)后模拟飞行姿态。图7是根据本发明优选实施例提供的洗出算法的原理示意图,如图7所示,洗出算法是对输入的信号进行处理,经过一系列坐标变换、滤波、协调补偿,成为能反应飞机运动状态的驱动信号,驱动信号使运动部件在完成一次突发运动后,以低于人的感觉门限回到中立位置,然后再执行下一次运动指令,给飞行员持续过载的感觉。本发明优选实施例应用经典洗出算法,包括比例环节、坐标变换环节、信号滤波环节、积分环节、限幅环节。比例环节对输入信号进行适当放大或缩小,满足信号的输入范围,坐标变换环节把平台质心在机体坐标系中的加速度(角速度)转变为地坐标系中的加速度(角速度)。坐标变换矩阵t与由机体坐标系变换到地面坐标系的变换矩阵相同,变换矩阵如下,但矩阵各元素中的姿态角是经洗出变换后的运动平台姿态角驱动信号。

式中:axb,ayb,azb---表示运动平台质心在固定坐标系内三个方向线加速度;其中,坐标变换矩阵为

ax,ay,az---表示平台质心在活动坐标系内三个方向线加速度。

需要说明的是,上述固定坐标系等同于一个地面坐标系,它以运动平台处于中立位置时,质心在地面上的投影为原点,使铅垂轴与重力的方向平行,向上为正方向(为z轴),纵轴(为x轴)指向机头为正方向,横轴(为y轴)用右手定则指向飞机头右侧为正;上述活动坐标系为模拟运动平台的活动坐标系,相当于一个机体坐标系,其以运动平台的质心为原点,其中,三个轴的指向和极性与飞机的机体坐标系相同。

将矩阵展开,进行适当化简后得到如下化简公式:

其中,θb表示运动平台的俯仰角度;表示运动平台的偏航角度;表示运动平台的滚转角度。

上式不仅将线速度由活动坐标系转换到固定坐标系,且三个姿态角都是经过洗出滤波后所得到的结果,即既包含了当前飞行器三个姿态角的信息,同时还考虑了在各个轴上由于比力作用了产生的姿态角提示信号。

上述洗出算法具体可以表现为:输入是飞机上飞行员头部前庭处的比力faa,和飞机三个方向的角速度waa,以飞机的比力和角速度作为输入的原因在于飞行模拟器需要给飞行员提供同样的比力和角速度,这样才能够使飞机和模拟器上飞行员的运动感觉相吻合。洗出算法的输出信号为飞行模拟器的位移ss和姿态角βs。防止相当大的输入信号导致整个运动系统超限,在算法中需增加两个比例环节以减小运动的幅度,f1和w1是在体坐标系中表示的比力和角速度,需要经过坐标变换矩阵ls和ts变换为惯性坐标系的比力f2和欧拉角的变化率以便在惯性坐标系(相当于上述的固定坐标系或地面坐标系)中进行加速度和角速度的洗出变换。其中,ls表示体坐标系(相当于上述的活动坐标系或机体坐标系)变化到惯性坐标系的坐标变化矩阵;ts表示角速度转化成欧拉角变化率的变化矩阵。由于洗出算法是针对加速度而不是人体感觉到的比力进行洗出的,所以要将比力f2和重力加速度g相加,将比力转变成加速度a2,以便除掉重力的影响。对于三个轴线方向的高通滤波器通常采用二阶高通滤波器,但由于该滤波器阶数较低,运动系统在完成一次动感模拟的任务后不能马上回到中立位置,距离中位有一定的偏差,所以本文特增加一个截止频率相当低的一阶环节,将其升至为三阶高通滤波器。其中,flow表示比力输入的低频分量;表示一阶低通滤波器、表示二阶低通滤波器,表示一阶高通滤波器;表示二阶高通滤波器;表示三阶高通滤波器。

体验结束后,通过主控系统的维护管理对飞行模拟器做系统维护,涵盖维护记录查询、添加维护记录、修改维护记录和删除维护记录。这些数据被数据库规划管理,为保证控制软件的可扩展性能,建立必要的基础数据库为主控系统服务。后期对数据的更新处理,便可在数据库中就能实时完成,并能做大数据分析,及时显示飞行模拟器的运行故障。

本发明优选实施例提高了数据的处理效率,实现这一效益有如下几个技术支撑:

第一.提供了数据接口。本发明在主控系统中设置了数据接口,同时在六自由度平台、视景系统、手柄、头盔、音响系统中也做了接口封装,故只需要在接口中做连接的协议,即完成了对两端数据的输入、输出和处理,传输的数据参数处理得更加有效,从而提高了硬件(六自由度运动平台)的响应速度;

第二.独立系统维护管理。主控系统中的系统维护包括对用户、对维护记录和对历史记录的查询,本发明将系统维护独立管理,不仅方便了用户操作,也提升了维护的效率。

第三.独立的数据库。主控系统的运行会产生大量的数据,其数据来源于仿真模块、运动平台、视景系统、音响系统,对数据进行存储和处理是一个巨大的工程量。在本发明中,主控系统对数据进行了封装,存储在单独的数据库中,极大提高了运作的效率。

另外,本发明优选实施例使用六自由度运动平台,在三自由度平台的基础上,增加了沿x、y、z坐标轴的转动自由度,能够更真实的模拟各种空间运动姿态。

本发明优选实施例中,主控系统的视景模块使用unreal引擎进行开发,该引擎开发的优点是画面效果完全达到3a游戏水准、光照和物理渲染即便在缩水的状况下也足以秒杀unity引擎、提供各种游戏模版,用来做原型配合blueprint甚至比unity引擎更快。故更换unreal引擎有效降低了开发成本,并且有效提高了开发质量。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1