CN113778231B - 一种空中漫游***的构建方法 - Google Patents
一种空中漫游***的构建方法 Download PDFInfo
- Publication number
- CN113778231B CN113778231B CN202111085489.3A CN202111085489A CN113778231B CN 113778231 B CN113778231 B CN 113778231B CN 202111085489 A CN202111085489 A CN 202111085489A CN 113778231 B CN113778231 B CN 113778231B
- Authority
- CN
- China
- Prior art keywords
- aircraft
- roaming
- air
- database
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010276 construction Methods 0.000 title claims abstract description 10
- 238000004088 simulation Methods 0.000 claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000003993 interaction Effects 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 230000005484 gravity Effects 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 101100382376 Mus musculus Cap1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种空中漫游***的构建方法,涉及虚拟现实技术领域,包括如下步骤:(1)、任一空中漫游单元均针对该单元内的飞行动力学模型进行实时解算;(2)、利用底层网络通信将若干空中漫游单元连接为一个整体,实现多人实时漫游;(3)、创建支持多种操作方式的人机交互***;(4)、搭建后台数据库***。本发明通过建立多个大型的三维场景及飞行器三维模型,扩展Unity的HLAPI内置组件,实现了多用户协同仿真的功能;建立完整的人机交互***,使仿真***操作简单、可视化,为用户提供沉浸式体验;最后为使仿真***更加完整,增加后台数据库的支持,可以让用户对机型、机翼、场景信息、用户信息等进行查阅及修改。
Description
技术领域
本发明涉及虚拟现实技术领域,特别是涉及一种空中漫游***的构建方法。
背景技术
虚拟现实技术别名灵境技术,作为上世纪出现的一门着力于虚拟场景再现的综合性技术,在对不同技术领域的应用方面具有很大的覆盖范围,主要包括网络通信技术,图像处理技术,三维建模技术以及传感技术等。其主要目标是使用户通过身体感官与虚拟场景进行互动,从而实现人机统一,创造出一种身临其境的感觉。
美国作为世界上的最发达国家,同样地在虚拟现实领域的研究应用也处于领先地位。在上世纪70年代末期,美国军方首次将虚拟现实技术与军事仿真项目联系起来,进行一种“飞行头盔”的研究。时隔不久,美国国防部的项目组设计出了第一个虚拟战场***SIMNET用于陆军坦克编队的训练,同时期,美国宇航局也将虚拟现实技术加入到研究计划中,到目前为止,在虚拟空间站的建立以及针对太空维护的虚拟训练***的设计等方面都取得了较大的成功。在世界上的其他一些发达国家也同样很重视虚拟现实的应用,特别是在虚拟战场***方面,计划共同着力于建立一个集合海陆空战以及各国兵力的庞大虚拟战场***。
在我国,虚拟现实技术起步较晚,相比于一些国家仍存在不小的差距。但随着计算机技术的进步,VR技术在军事仿真领域、教育领域以及医学和工业等领域的优异表现已经引起了我国的广泛重视,已经有相当一部分研究单位投入到了这一领域并开展具体研究工作。在上世纪90年代,以北京航空航天大学计算机系为首的多家单位共同建立了一个基于真实环境的分布式虚拟战场***,并利用该***成功完成了多次异地协同作战训练。同时期国内其他高校在军事仿真模拟训练方面也都各有建树,如西北工业大学设计开发的鱼雷视景仿真***以及第二炮兵工程学院开发的导弹发射模拟训练***等。
典型的全动飞行模拟器由核心仿真计算机、六自由度运动平台、视景***、音响***、操纵负荷***、教员***等组成。它能够满足两大航空目标:
第一,模拟飞机空中飞行与地面运行,对飞行员进行起飞、爬升、巡航、进近、着陆、机动飞行等训练,也可用于对飞机飞行性能、操纵品质、机载***性能进行分析研究;同时,良好逼真的飞行器仿真软件能够对飞行器结构参数、飞行性能、机动动作等进行测试并进一步优化,减少设计定型时间,避免真实飞行中导航仪故障、功率损失、飞机失控等危险情况发生;第二,在民用航空公司,使用教员***提供虚拟飞行训练,对飞行员业务能力进行周期性考核,展开从飞行员的培养教育到商业飞行员执照早期的培训课程。
当前,结合虚拟现实与飞行仿真技术,针对空中漫游的研究过程中,形成挑战、制约其发展的关键问题主要有如下两个方面:
(1)空中漫游***中的飞行仿真模块大多只使用简单的牛顿定律来模拟飞行,并没有使用飞行动力学模型,与真实世界差距较大;
(2)空中漫游***大多以显示器进行显示,无法给人真实的沉浸体验感;若使用大型仿真设备,成本高,可扩展性低。
发明内容
本发明提供了一种空中漫游***的构建方法,该方法所构建的空中漫游***是通过飞行动力学建模,并实时解算,更接近真实体验,通过HTC Vive头盔显示器克服普通显示器缺乏真实感的缺陷,使操作者得到沉浸式的飞行体验。
为实现上述目的,本发明的技术方案为:
一种空中漫游***的构建方法,所述的空中漫游***包括若干空中漫游单元,若干空中漫游单元通过数据传输的方式连接为一个整体,其特征为:所述的构建方法包括如下步骤:
(1)、任一空中漫游单元均针对该单元内的飞行动力学模型进行实时解算;
(2)、利用底层网络通信将若干空中漫游单元连接为一个整体,若干空中漫游单元依据各自的飞行动力学模型的实时解算参与多人实时漫游;
(3)、创建支持多种操作方式的人机交互***;
(4)、搭建后台数据库***,对飞行器、机翼信息及用户操作记录进行记录,并支持数据库的基本操作。
优选的,所述的步骤(1)中,飞行动力学模型进行实时解算包括接受来自飞行员控制、风力、空气动力、发动机的全部输入,计算模拟飞行器状态的变量,所述的模拟飞行器状态的变量包括飞行器本身的受力、运动、高度、海拔、航向和速度。
优选的,所述的步骤(1)中,飞行动力学模型进行实时解算包括如下具体步骤:
A1、定义飞行动力学模型坐标轴;
B1、计算飞行器受到的气动升力,具体计算公式如下:
式中,ρ为空气密度,V为空速,s是机翼面积,CL为升力系数;
C1、计算飞行器受到的气动侧力,具体计算公式如下:
式中,CY是侧力系数;
D1、整合飞行器受力及受力矩情况,根据受力大小及受力位置计算飞行器受到的力及力矩,从而计算出飞行器当前加速度、速度及位置信息,所述的位置信息指的是飞行器的高度海拔、及经纬度位置信息。
优选的,所述的具体步骤A1中,包括机体坐标系和Unity物体坐标系的坐标轴定义,其中机体坐标系的坐标轴以飞行器重心为原点,x轴正向沿着朝向机身头部向前的方向,y轴正向沿着右侧机翼向右的方向,z轴正向沿着垂直于机身下表面向下的方向;机体坐标系中,线性力、加速度、速度的方向在X轴正向或Y轴正向或Z轴正向为正,力矩和角加速度在各坐标轴的正方向为从原点沿着坐标轴正向逆时针旋转的方向;Unity物体坐标系以飞行器重心为原点,x轴正向为沿着右侧机翼向右的方向,y轴正向为沿着垂直于机身上表面向上的方向,z轴正向为沿着机身朝向机身头部的方向。
优选的,所述的步骤(2)的具体步骤如下:
A2、以“客户端-服务器”架构为基础,构建一个能够实时同步位置信息的网络;
B2、服务器在某一客户端加入及离开时,将加入或离开的信息广播到其他客户端中,及时对状态变化的客户端进行创建和销毁;
C2、服务器实现客户端对场景及机型的选择。
优选的,所述的步骤(3)中,人机交互***具有完整的图形用户界面(GUI)并支持多种外设,创建支持多种操作方式的人机交互***包括如下具体步骤:
A3、将***的界面分为标题界面、大厅界面及仿真界面三个部分;
B3、采用HTC Vive头盔显示器,确定视角显示画面后使用SteamVR模拟出驾驶员的显示视角,最后将该处画面传输至头盔显示器,使驾驶员具有三维沉浸感的视觉体验。
优选的,所述的步骤(4)包括如下具体步骤:
A4、分析用户需求、数据需求及功能需求,确立构建飞行器机型信息数据库、机翼信息数据库;
B4、根据需求在MySQL中构建数据库;
C4、在Unity中将人机交互与后台MySQL连接起来,实现对数据库的基本操作。
本发明一种空中漫游***的构建方法的有益效果是:
1、本发明将机翼抽象并使用能够定制化的机型曲线,可以对不同机型、不同动力学曲线进行快速建模,提供真实的仿真效果的同时增大后续开发的可扩展性;
2、本发明将虚拟现实技术与传统的飞行器仿真有机结合,在飞行动力学模型的基础上,搭建了飞行仿真模型,并基于Unity3D引擎利用网络通信技术、虚拟现实技术设计了完整的空中漫游***。该***能够提供高度逼真的场景、模型及声场模拟,且能够实现多人同步在线漫游。基于虚拟现实技术的视景***及操作***能够让飞行人员通过头盔显示器看到虚拟的世界,通过手中的控制手柄操作飞机,从而得到沉浸式的飞行体验,且具有良好的实时性。
3、本发明在***后台建立了飞行器参数数据库,为今后的研发、维护及扩展工作奠定了基础;
4、现有技术中,空中漫游***是通过分布式的方式搭建而成。总控制台负责对飞行姿态的解算,将不同用户的输入操作进行汇总,统一进行飞行器状态的解算,然后将解算结果通过网络功能分发给用户,实现多人空中漫游。而本发明不存在“总控制台子***”,本发明中每个用户所使用的仿真机器(空中漫游单元)都能够对飞行姿态进行解算,在多人仿真的过程中,每个机器在本地通过飞行仿真模型解算实时状态,通过网络功能直接共享实时状态,实现多人空中漫游。由于解算飞行动力学模型需要较大的算力,如果仅仅使用总控制台,势必会导致计算资源的紧缺;与此同时,总控制台还存在将大量通过网络采集的数据进行处理,会导致实时性差。综上,使用本技术有以下几个优点:
·大幅度降低计算成本;
·减少从网络到本地的输入输出流,减轻计算机负担;
·网络只分享计算好的位置、速度等信息,实时性高,用户体验好;
·用户在使用本***时无需购置昂贵的计算机,仅仅是家用的普通计算机就可体验空中漫游。
5、本发明具有多种操作方法:可通过多种设备进行输入,如键盘鼠标、游戏手柄、飞行控制杆等;具有多种输出方式:即VR模式与非VR模式,可满足不同硬件设备的用户;仿真机型具有多样性:具有良好的可扩展性,可提供不同机型的气动参数,并导入数据库中,***即可实时解算对应机型的飞行状态,进行仿真。
附图说明
图1、本发明提供的一种坐标系示意图;
图2、本发明提供的一种界面操作逻辑示意图;
图3、本发明提供的一种运动学方程实现示意图;
图4、本发明提供的一种机翼设置方法示意图;
图5、本发明提供的一种多用户漫游***流程图;
图6、本发明提供的一种网络功能配置图;
图7、本发明提供的一种仿真界面示意图;
图8、本发明提供的一种手柄按键映射示意图;
图9、图马斯特硬件外设示意图;
图10、图马斯特硬件外设配置方法示意图;
图11、数据库管理界面示意图;
图12、数据库管理操作示意图。
具体实施方式
以下所述,是以阶梯递进的方式对本发明的实施方式详细说明,该说明仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
本发明的描述中,需要说明的是,术语“上”“下”“左”“右”“顶”“底”“内”“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以及特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明的总体实施方案为:
一种空中漫游***的构建方法,所述的空中漫游***包括若干空中漫游单元,若干空中漫游单元通过数据传输的方式连接为一个整体,其特征为:所述的构建方法包括如下步骤:
(1)、任一空中漫游单元均针对该单元内的飞行动力学模型进行实时解算;
(2)、利用底层网络通信将若干空中漫游单元连接为一个整体,若干空中漫游单元依据各自的飞行动力学模型的实时解算参与多人实时漫游;
(3)、创建支持多种操作方式的人机交互***;
(4)、搭建后台数据库***,对飞行器、机翼信息及用户操作记录进行记录,并支持数据库的基本操作。
所述的步骤(1)中,飞行动力学模型进行实时解算包括接受来自飞行员控制、风力、空气动力、发动机的全部输入,计算模拟飞行器状态的变量,所述的模拟飞行器状态的变量包括飞行器本身的受力、运动、高度、海拔、航向和速度。
所述的步骤(1)中,飞行动力学模型进行实时解算包括如下具体步骤:
A1、定义飞行动力学模型坐标轴;
B1、计算飞行器受到的气动升力,具体计算公式如下:
式中,ρ为空气密度,V为空速,s是机翼面积,CL为升力系数;
C1、计算飞行器受到的气动侧力,具体计算公式如下:
式中,CY是侧力系数;CY通常用β和方向舵输入的函数来表示;侧力项依赖于马赫数、侧滑角、襟翼位置和机体外形;对于襟翼、缝翼和扰流板而言,这些子***任何故障都会导致产生侧向力;
D1、整合飞行器受力及受力矩情况,根据受力大小及受力位置计算飞行器受到的力及力矩,从而计算出飞行器当前加速度、速度及位置信息,所述的位置信息指的是飞行器的高度海拔、及经纬度位置信息。
所述的具体步骤A1中,包括机体坐标系和Unity物体坐标系的坐标轴定义,其中机体坐标系的坐标轴以飞行器重心为原点,x轴正向沿着朝向机身头部向前的方向,y轴正向沿着右侧机翼向右的方向,z轴正向沿着垂直于机身下表面向下的方向;机体坐标系中,线性力、加速度、速度的方向在X轴正向或Y轴正向或Z轴正向为正,力矩和角加速度在各坐标轴的正方向为从原点沿着坐标轴正向逆时针旋转的方向;Unity物体坐标系以飞行器重心为原点,x轴正向为沿着右侧机翼向右的方向,y轴正向为沿着垂直于机身上表面向上的方向,z轴正向为沿着机身朝向机身头部的方向。
所述的步骤(2)的具体步骤如下:
A2、以“客户端-服务器”架构(C/S架构)为基础,构建一个能够实时同步位置信息的网络;
B2、服务器在某一客户端加入及离开时,将加入或离开的信息广播到其他客户端中,及时对状态变化的客户端进行创建和销毁;
C2、服务器实现客户端对场景及机型的选择。
所述的步骤(3)中,人机交互***具有完整的图形用户界面(GUI)并支持多种外设,创建支持多种操作方式的人机交互***包括如下具体步骤:
A3、将***的界面分为标题界面、大厅界面及仿真界面三个部分;图2展示了各个界面间的操作逻辑,实线矩形框表示不同界面,虚线矩形框代表实现的不同功能(箭头代表单击对应按钮触发的设定事件);
B3、采用HTC Vive头盔显示器,确定视角显示画面后使用SteamVR模拟出驾驶员的显示视角,最后将该处画面传输至头盔显示器,使驾驶员具有三维沉浸感的视觉体验。
所述的步骤(4)包括如下具体步骤:
A4、分析用户需求、数据需求及功能需求,确立构建飞行器机型信息数据库、机翼信息数据库;
B4、根据需求在MySQL中构建数据库;
C4、在Unity中将人机交互与后台MySQL连接起来,实现对数据库的基本操作。
下面结合附图对本发明的实施方式进行具体说明:
请参阅图1,本发明实例包括:包括:(1)飞行动力学模型的实时解算;(2)利用底层网络通信实现多人实时漫游;(3)创建良好的人机交互***,支持多种操作方式;(4)搭建后台数据库,对飞行器、机翼信息及用户操作记录进行记录,并支持数据库的基本操作。
下面针对上述步骤结合流程框图(图1)详细说明:
第一步,飞行动力学模型的实时解算,能够接受包括来自飞行员控制、风力、空气动力、发动机的全部输入,计算模拟飞行器状态的变量,尤其是受力、运动、高度、海拔、航向和速度,其详细步骤如下。
为了模型容易实现并具有较高的通用性,本发明将飞行器的尾翼、襟翼及方向舵抽象成机翼,最后根据机翼大小及相对于飞行器中心的位置,计算出对飞行器重心施加力和力矩效果。本发明假设机翼的几何中心为机翼重心,因此在计算之初,要根据机翼形状计算出重心的位置,并对飞行器参数及机翼参数进行初始化,包括飞行器质量、转动惯量、翼展、机翼的空气动力曲线。最后,为便于表述,本发明将机翼的偏转量及发动机操作输入视为已知,空气密度设置为1.29kg/m^3(标准条件下0℃,1个标准大气压),参照图3。
飞行器模型是根据实际尺寸进行建模,所以在程序中很容易计算出仿真计算模块所需的输入参数。本发明通过绘制线段“描边”的方法来计算飞行器机翼大小,如图5所示。
计算飞行器所受的升力,首先需计算出攻角。在Unity的坐标系下,速度方向为刚体速度的z轴分量,而飞行器纵轴为自身机体坐标系下的z轴分量,两者在世界坐标系下的夹角即攻角α,得到攻角后,即可很容易通过查表并插值的方法计算出当前状态下对应的升力系数CL,进而计算出飞行器所受的升力值。
计算气动侧力及阻力的方法与升力十分类似,首先利用Unity内部的API计算出飞行器的偏航角,接着通过查表得到其侧力系数CY和阻力系数CD,在按照上节提到的公式计算出所受力的大小。
力矩的计算也十分自然,因为已将机翼抽象,机翼的攻角及偏航等参数均可直接求出,再通过查表通过查表求得气动矩阵系数,按照公式计算出力矩即可。
第二步:利用底层网络通信,实现多人协同漫游功能,详细步骤如下(参照图6)。
通过Unity官方组件The Multiplayer High Level API(HLAPI)实现,它建立在较低级别的通信层之上,提供最为基础的网络通信功能,如共享各自操作对象的位置、姿态等信息。整个底层网络通信功能流程图参照图5。
将HLAPI组件中的网络通信类进行继承重写,将父类中预置变量从单个预置更改为链表,并加以索引使之能够动态初始化特定模型,同理,将场景预置更改为多场景,使***支持本***选择多机型、多场景的任务需求。
在完成机型与场景选择,用户加入房主服务器前,需要将用户的模型实例化信息及服务器场景进行广播。参照图7,Offline Scene为***大厅界面的场景,Online Scene为用户自选界面,它可通过大厅界面的下拉菜单进行动态调整。当用户创建房主服务器时,漫游***会自动跳转至Online Scene;当用户以客户端身份加入服务器,则自动跳转至房主服务器设定的场景中;如果任意用户退出服务器,***都会自动跳转到大厅界面的OfflineScene中。
本发明将信息传送类进行重写,用来携带场景与用户机型的选择信息。同时为满足用户状态发生变化时消息的同步,需对网络通信父类中的回调方法进行继承并重写,添加对信息传送类内容的封包、发送、接收、解包等功能。
第三步,实现良好的人机交互界面,包括完整的GUI和支持多种外设,详细操作步骤如下。
由于***存在主机与客户机两种仿真模式,因此在不同模式下,点击“开始”时会略有不同。若当前模式为“主机”模式,***会以服务器的身份创建一个服务端进行仿真,同时等待其他成员加入;若当前模式为“客户机”模式,如果存在已经创建好的战局,则会跳转至仿真界面并自动加入进行多人在线同步仿真,否则无任何响应,因为没有可连接的服务器。
在仿真界面中(参照图8),按下手柄的“START”键会弹出设置菜单,与标题界面中设置菜单不同,此处有额外一个“断开连接”按钮,实现断开网络连接,退出多人漫游***的功能。需要注意的是,由于仿真过程存在服务器建立和客户端加入两种模式,因此断开连接的功能也有所不同。服务器端断开连接会直接关闭整个仿真战局,此时加入仿真的所有客户端会同时退出;而客户端断开连接后只有自身退出,并不会影响其他仿真成员。
表1手柄按键映射图
在VR模式下,佩戴VR头盔显示器后,操作人员无法观察到键盘,若使用键盘会造成多种不便,因此本***仿真中使用微软Xbox One手柄在作为输入设备。手柄较于键盘的优势在于它存在线性连续输入,解决了键盘离散输入不足的劣势;再者手柄键位分布密集、外观符合人体功能学设计,长时间使用后用户疲劳程度低;最后手柄具有振动反馈,会使操作反馈更加真实、强烈。常见的Xbox One手柄按键分布(参照图8),表1为手柄按键映射图。
表2鼠标及键位操作汇总表
(4)在非VR模式下,传统显示器作为最基本的输出显示设备,使用鼠标和键盘对飞行器进行输入控制。因***设计的一致性,这里列出非VR模式下的鼠标及键盘键位操作汇总表(参照表2)。
(5)为增强非VR模式下人机交互的真实感,本***还支持其他操作外设,如飞行控制摇杆。市面上存在大量飞行外接设备,本发明选取实验室已有的图马斯特(ThrustMaster)美国空军A-10C攻击机HOTAS(手持型油门和操纵杆)仿真摇杆套装作为外设进行实验。
该外设由两部分构成,参照图9。图中左侧为双仿真油门及仿真控制面板,共计有17个操作按钮,另加一个带按键的鼠标帽和一个八向苦力帽;右侧为仿真摇杆,具有全新的仿真外形,操纵杆上装有3D磁性传感器(霍尔效应)。由于该外设功能强大,本发明仅使用其中一部分内容用以开发。
要将外设成功运用到本***中,核心步骤是获取外设操作并正确的映射到飞行器操作中。因为该外设与Unity均使用Direct为底层图形驱动,操作杆的默认移动偏转操作正好对应于本***的俯仰和滚转操作,所以无需修改,直接能够使用。接下来的工作是将油门在内的其他操作与硬件绑定。
在图马斯特官网下载本硬件驱动程序,在驱动程序的“配置轴映射”选项中按照图10规则将***功能与外设按键一一映射,表3为功能映射绑定汇总表(注:按键编号及按键名称可从官方文档中查询)。
表3图马斯特功能映射表
第四步:设计后台数据库,具体实现步骤如下:
首先分析用户需求、数据需求及功能需求,确立构建飞行器机型信息数据库、机翼信息数据库;然后按照表4、5、6分别在MySQL中构建数据库;由于数据库不支持中文字段,所以表4、表5、表6的***字段无法修改为中文,其中文解释在‘字面名称’列进行了说明。
表4用户信息表
表5机翼信息表
表6飞行器信息表
为更好的人机交互体验,将数据库与人机交互***结合,可视化地完成对数据库的管理。
在仿真***的大厅界面,点击“帮助”下来菜单,选中“数据库”选项,会弹出如图11所示的数据库管理界面。
弹出的界面中,数据库选择下拉菜单实现对不同数据表的切换,四个按钮分别对应四个功能。为演示基本功能,这里使用机型数据库进行简单测试,测试内容如图12所示。
Claims (6)
1.一种空中漫游***的构建方法,所述的空中漫游***包括若干空中漫游单元,若干空中漫游单元通过数据传输的方式连接为一个整体,其特征为:所述的构建方法包括如下步骤:
(1)、任一空中漫游单元均针对该单元内的飞行动力学模型进行实时解算;为了模型容易实现并具有较高的通用性,将飞行器的尾翼、襟翼及方向舵抽象成机翼,最后根据机翼大小及相对于飞行器中心的位置,计算出对飞行器重心施加力和力矩效果;
(2)、利用底层网络通信将若干空中漫游单元连接为一个整体,若干空中漫游单元依据各自的飞行动力学模型的实时解算参与多人实时漫游;
(3)、创建支持多种操作方式的人机交互***;使用微软Xbox One手柄在作为输入设备;
(4)、搭建后台数据库***,对飞行器、机翼信息及用户操作记录进行记录,并支持数据库的基本操作;后台数据库***包括飞行器机型信息数据库、机翼信息数据库;
所述的步骤(2)利用底层网络通信,实现多人协同漫游功能,具体步骤如下:
A2、以“客户端-服务器”架构为基础,构建一个能够实时同步位置信息的网络;
B2、服务器在某一客户端加入及离开时,将加入或离开的信息广播到其他客户端中,及时对状态变化的客户端进行创建和销毁;
C2、服务器实现客户端对场景及机型的选择。
2.如权利要求1所述的一种空中漫游***的构建方法,其特征为:所述的步骤(1)中,飞行动力学模型进行实时解算包括接受来自飞行员控制、风力、空气动力、发动机的全部输入,计算模拟飞行器状态的变量,所述的模拟飞行器状态的变量包括飞行器本身的受力、运动、高度、海拔、航向和速度。
3.如权利要求2所述的一种空中漫游***的构建方法,其特征为:所述的步骤(1)中,飞行动力学模型进行实时解算包括如下具体步骤:
A1、定义飞行动力学模型坐标轴;
B1、计算飞行器受到的气动升力,具体计算公式如下:
式中,ρ为空气密度,V为空速,s是机翼面积,,CL为升力系数;
C1、计算飞行器受到的气动侧力,具体计算公式如下:
式中,CY是侧力系数;
D1、整合飞行器受力及受力矩情况,根据受力大小及受力位置计算飞行器受到的力及力矩,从而计算出飞行器当前加速度、速度及位置信息,所述的位置信息指的是飞行器的高度海拔、及经纬度位置信息。
4.如权利要求3所述的一种空中漫游***的构建方法,其特征为:所述的具体步骤A1中,包括机体坐标系和Unity物体坐标系的坐标轴定义,其中机体坐标系的坐标轴以飞行器重心为原点,x轴正向沿着朝向机身头部向前的方向,y轴正向沿着右侧机翼向右的方向,z轴正向沿着垂直于机身下表面向下的方向;机体坐标系中,线性力、加速度、速度的方向在X轴正向或Y轴正向或Z轴正向为正,力矩和角加速度在各坐标轴的正方向为从原点沿着坐标轴正向逆时针旋转的方向;Unity物体坐标系以飞行器重心为原点,x轴正向为沿着右侧机翼向右的方向,y轴正向为沿着垂直于机身上表面向上的方向,z轴正向为沿着机身朝向机身头部的方向。
5.如权利要求1所述的一种空中漫游***的构建方法,其特征为:所述的步骤(3)中,人机交互***具有完整的图形用户界面并支持多种外设,创建支持多种操作方式的人机交互***包括如下具体步骤:
A3、将***的界面分为标题界面、大厅界面及仿真界面三个部分;
B3、采用HTC Vive头盔显示器,确定视角显示画面后使用SteamVR模拟出驾驶员的显示视角,最后将该处画面传输至头盔显示器,使驾驶员具有三维沉浸感的视觉体验。
6.如权利要求1所述的一种空中漫游***的构建方法,其特征为:所述的步骤(4)包括如下具体步骤:
A4、分析用户需求、数据需求及功能需求,确立构建飞行器机型信息数据库、机翼信息数据库;
B4、根据需求在MySQL中构建数据库;
C4、在Unity中将人机交互与后台MySQL连接起来,实现对数据库的基本操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111085489.3A CN113778231B (zh) | 2021-09-16 | 2021-09-16 | 一种空中漫游***的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111085489.3A CN113778231B (zh) | 2021-09-16 | 2021-09-16 | 一种空中漫游***的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778231A CN113778231A (zh) | 2021-12-10 |
CN113778231B true CN113778231B (zh) | 2024-07-09 |
Family
ID=78844447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111085489.3A Active CN113778231B (zh) | 2021-09-16 | 2021-09-16 | 一种空中漫游***的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778231B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111564083A (zh) * | 2020-04-16 | 2020-08-21 | 深圳威阿科技有限公司 | 飞机空气动力学物理模拟*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6106298A (en) * | 1996-10-28 | 2000-08-22 | Lockheed Martin Corporation | Reconfigurable easily deployable simulator |
US5919045A (en) * | 1996-11-18 | 1999-07-06 | Mariah Vision3 Entertainment Llc | Interactive race car simulator system |
ES2294404T3 (es) * | 2004-07-14 | 2008-04-01 | Lai, Yin-Liang | Sistema de simulacion de movimientos en red con memoria compartida. |
US20150310758A1 (en) * | 2014-04-26 | 2015-10-29 | The Travelers Indemnity Company | Systems, methods, and apparatus for generating customized virtual reality experiences |
CN104881518B (zh) * | 2015-04-30 | 2017-10-31 | 电子科技大学 | 一种飞行器的三维视景仿真*** |
KR101862221B1 (ko) * | 2016-04-25 | 2018-05-30 | 한국항공우주산업 주식회사 | 항공기 비행제어법칙 시뮬레이션 방법 및 장치 |
WO2021081471A2 (en) * | 2019-10-25 | 2021-04-29 | Joby Aero, Inc. | METHOD AND SYSTEM FOR MODELING AERODYNAMIC INTERACTIONS IN COMPLEX eVTOL CONFIGURATIONS FOR REALTIME FLIGHT SIMULATIONS AND HARDWARE TESTING |
-
2021
- 2021-09-16 CN CN202111085489.3A patent/CN113778231B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111564083A (zh) * | 2020-04-16 | 2020-08-21 | 深圳威阿科技有限公司 | 飞机空气动力学物理模拟*** |
Non-Patent Citations (1)
Title |
---|
分布式飞行视景仿真平台的设计与实现;董小龙;孙金标;;火力与指挥控制(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113778231A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106530897B (zh) | 一种飞行模拟训练装置 | |
Liu et al. | Virtual reality and its application in military | |
Yavrucuk et al. | A low cost flight simulator using virtual reality tools | |
CN207780996U (zh) | 一种用于多机型编队飞行训练的模拟仿真评估*** | |
CN107390545A (zh) | 一种无人机及其载荷的仿真训练*** | |
CN103760780A (zh) | 通用座舱显控***仿真平台 | |
CN206003357U (zh) | 训练航空兵用的战术训练模拟器 | |
CN209471593U (zh) | 虚拟现实动态双用模拟飞行科普座舱 | |
CN104007661A (zh) | 一种单台模拟器实现多机编队的仿真方法 | |
CN113496635B (zh) | 飞行模拟器和飞行训练模拟方法 | |
CN104035338A (zh) | 一种多发动机的直升机动力***动态匹配的仿真方法 | |
CN109920300A (zh) | 一种军用战斗机模拟驾驶*** | |
CN112669671B (zh) | 一种基于实物交互的混合现实飞行仿真*** | |
CN113053205A (zh) | 基于虚拟现实vr的空战对抗虚拟训练*** | |
Jie et al. | Design of multi-mode UAV human-computer interaction system | |
CN113706969A (zh) | 一种虚实结合的直升机座舱*** | |
Wang et al. | Four-rotor UAV virtual simulation system for agricultural sowing | |
CN110634350A (zh) | 一种基于分布式虚拟现实的模拟飞行器仿真*** | |
CN103942384A (zh) | 基于头盔显示器的动态飞机装配场景实时立体可视化方法 | |
CN113778231B (zh) | 一种空中漫游***的构建方法 | |
Wei et al. | Fixed-wing aircraft interactive flight simulation and training system based on XNA | |
CN111369861A (zh) | 一种基于虚拟现实技术的模拟战斗机驾驶***及方法 | |
KR101831364B1 (ko) | 운동량 연동 비행 시뮬레이터를 이용한 비행훈련장치 | |
Wang et al. | Dynamic Flight Simulator for Low-Altitude Planes | |
CN114063650A (zh) | 一种面向虚幻引擎的仿真无人机飞行控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |