标题 | 基于GL_Studio开发飞行控制面板 |
范文 | 庞文燕 王强 摘要:以 GL Studio作为开发平台,完成飞行控制面板的图形建模,面向对象设计程序,采用GL Studio和VC++混合编程,做好网络通信、人机交互设计,完成军用直10机型飞行控制面板的仿真开发。 Abstract: GL Studio is used as the development platform to complete the graphical modeling of flight control panel, the object-oriented design program, the mixed programming of GL Studio and VC++, the design of network communication and human-computer interaction, and the simulation development of military direct 10 aircraft flight control panel. 关键词:面向对象编程;GL Studio;VC++混合编程 Key words: object-oriented programming;GL Studio;VC++ hybrid programming 中图分类号:V27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文献标识码:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章编号:1006-4311(2019)23-0280-02 0 ?引言 虚拟座舱系统(Virtual Cockpit)具有显著降低为升级现有飞机所需要高成本的能力,可除去许多老式仪器和量表,节省重量和能源[1]。目标是实现大部分飞行仿真数据的人机交互,结构上主要包括视景系统、控制面板和操作手柄。GL Studio是一款能够创建实时的、三维的、照片级互动图形界面,独立平台的快速原型工具[2],具备良好的交互性。 1 ?GL Studio 简介 GL Studio是美国DiSTI公司開发的用于虚拟仪表仿真的旗舰产品,在国防应用中主要用于搭建虚拟座舱,进行仪表仿真,包括设计器和代码生成器,软件能与HLA/DIS仿真应用相连,能够运行于Window7、Window8、WindowXP、IRIX 和 Linux 操作系统上[3]。 使用GL Studio有五方面优势,一是同等硬件要求下,创建影像级互动界面,得到清楚的纹理图片,实现“所见即所得”;二是可以实现为图片添加代码,以及将绘制出的对象统一生成C++和OpenGL源代码,并嵌入其他应用;三是对象可以很容易被建立成复用性组件,将图形实体表现以及其行为逻辑表现融为一体。其生成和使用时存放形式是不同的:当需要代码公开化、可更改时,存放为.gls格式,嵌入其他应用程序时,生成为.dll或.so;当作为Active插件使用时,将其封装为.cab文件;当组建独立运行存在时,以生成.exe形式[4,5];四是可以通过设置消息响应函数实现对键盘、鼠标等用户输入设备的响应,也能为交互设备添加回调函数;五是做针对性消隐处理,即隐藏不需要显示的模块或图片。 2 ?飞行控制面板的实现 下面用GL Studio来实现飞行控制面板的仿真。 2.1 开发流程 仿真开发通过对显示仪表进行图形建模、设计内部驱动程序、开发外部的网络接口、设计人机交互界面等步骤完成。详细开发流程见图1所示:首先,将真实仪表抽象成GL Studio面板仪表,设置驱动方式,启动软件对图形的控制;其次,将获得的可执行程序纳入总程序中;最后,设置网络通讯接口,完成和主仿真机的数据交互连接。 2.2 图形建模 实现虚拟座舱要完成的首要工作就是对图形画面进行建模,即根据实际面板绘制仪表图形、输入字符、设定参数。 ①采集和处理数据:需要用Photoshop等图片处理软件对纹理及布局图数据进行处理,获得透明的符合要求的png格式纹理图。要关注三点:GLStudio要求纹理的像素大小以2的n次幂为最优;纹理的大小应与仪表显示窗口的大小相一致;同一面板的不同部件的纹理尽量放在一张图片上,用来保证纹理图片的比例一致,避免繁琐的调整和开发与运行时显示的差异[4]。 ②建立实体模型:需要建立数码管等仪表图形、GSP等画面显示字符、FIRE等报警符号。参照飞行仪表手册,设计各仪表尺寸、位置;分析对象功能及逻辑联系,分配有利位置,划分模块,合理构建整体画面。完成整体设计后进入具体建模,通过直接拖拽图像原型实现。所有实体对象,均可看成N个多边形构成。反复采用剪切、旋转、扭曲等操作,可以获得各种预期对象。然后对模型的颜色、材质、纹理等属性做设置,为用户提供更真实的观感。为模型贴上纹理,即可以简化建模过程,又能提高仿真的逼真度和速度。 ③梳理模型:分别以空间和逻辑为主线,梳理各模型、各子画面层次结构,确保各仪表的显示顺序、内容无误。GL Studio中,图符、字符等不同颜色代表了不同的意义,在设置具体颜色时要特别关注。 按照采集和处理数据、建立模型、梳理模型的开发步骤,完成飞行控制板的建模过程,将源代码纳入用户工程,见图2,对象的通讯及回调函数要写在Code里面,可以添加各种函数,软件内部自带函数提示。然后,为控制面板设置设备属性,见图3。 2.3 实现网络通讯 网络通讯要实现功能:一是控制面板能够接收主机数据,并实时更新;二是为主机输送实时参数,实现主机依据输入状态设置工作模式、参数以及指示灯、数码管随动显示。 整个工程通过纹理布置,属性设置,函数及通讯协议的编写,最后通过VC++编译成可执行文件.exe,连同config配置文件拷贝到应用的电脑上面,通过配置电脑IP与主仿真机进行通信,设置config配置文件里面的图形位置及大小即可完成软件的布置,通过点击触摸屏上面的相应按钮、开关完成虚拟控制面板的应用,见图4,为触摸屏单板电脑在工程中的应用。 参考文献: [1]刘丽娇.基于GL-Studio的飞行模拟机虚拟座舱开发[D].哈尔滨工业大学,2009. [2]黄晓雪,韩端锋,袁利毫,等.基于GL Studio的船舶驾控台仿真系统的开发[J].船舶,2013,4:73-77. [3]张毅,王士星,等.仿真系统分析与设计[M].北京:国防工业出版社,2010. [4]陈建东.全球民用全飞行模拟器现状[J].民航经济与技术,1998(2):45-51. [5]GL Studio Version 3.2 API Documentation Inc.U.S.A:Distributed Simulation Technology Inc[Z].2007. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。