- 注册时间
- 2011-7-11
- 最后登录
- 2011-9-17
- 在线时间
- 187 小时
- 阅读权限
- 200
- 积分
- 0
- 帖子
- 456
- 精华
- 0
- UID
- 6181
|
飞行仿真器方式控制面板的数字化设计与实现
杜涛,王江云
(北京航空航天大学自动化科学与电气工程学院,北京 100083)
摘要:飞行仿真器方式控制面板是自动飞行系统 (AFS)的重要组成部分,提供由飞行员操作的各种开关、按钮以及参数选择。数字化实现的方式控制面板以图形界面的方式代替原来的按钮和旋钮,通过人-机界面提供相应的功能。用简易飞行摇杆替代座舱内的操纵机构,控制飞机的三个姿态角,从而改变飞机的飞行状态。采用 Saitiek飞行操纵杆仿真真实的操纵杆、脚蹬和油门,实现飞行员对飞机的控制。关键词:飞行仿真器;方式控制面板;操纵杆;数字化. 中图分类号:TP391.9 文献标识码:A文章编号:1004-731X (2006) S2-0669-03
Design and Implement of Mode Control Panel of Flight Simulator
DU Tao, WANG Jiang-yun
(School of Automation Science and Electrical Engineering, BUAA, Beijing 100083, China)
Abstract: Mode Control Panel of flight simulator is an important part of Automatic Flight System (AFS). It provides varieties of switches, buttons and parameter selections, which are controlled by pilots. Digital MCP substitutes graphical interfaces for the buttons and knobs, providing corresponding functions through human-computer interfaces. Pilots use a simple flight joystick instead of the control mechanism in the cabin to control the three attitudes of the aircraft to change the aircraft's flight state. Using Saitiek flight joystick to simulate the real joystick, foot pedal and throttle, the pilots can control the aircraft. Key words: flight simulator; Mode Control Panel; joystick; digital.
引言
飞行仿真是航空、航天工业,空军、民航等部门进行型号研制、人员培训的手段,以飞行模拟器为代表的飞行实时仿真技术已广泛应用于飞行器研制与飞行训练之中。
飞行模拟器分为训练模拟器和工程模拟器。训练模拟器具有节能、经济、安全、不受场地和气象条件的限制,缩短训练周期,提高训练效率等突出优点。工程模拟器是飞机设计研制的重要工具,已经成为飞机研制过程中不可缺少的重要手段。通过工程模拟器可以早期发现问题,减少风险;综合系统验证,解决各系统之间的匹配连接关系;加速系统试验过程,缩短研制周期;分析解决试飞后发现的技术问题。
飞行仿真器是一种飞行实时仿真系统,以飞机及主要机载设备的仿真模型及功能为主,同时提供基于微机与图形加速卡的视景系统和数字式音响系统。
本文研究的主要内容是飞行方式控制面板( MCP)和飞行操纵系统数字化节点的设计和开发设计爬升或下降到某一高度上,并保持在此高度上飞行时,可在飞行方式仿真 MCP的主要功能并实现其逻辑关系,设计友好、逼真的人机界面,通过鼠标操纵 MCP。使用 Saitek摇杆仿真操纵杆、脚蹬和油门,在显示界面上显示输入的滚转角、俯仰角和偏航角。
收稿日期:2006-04-12修回日期:2006-06-12作者简介:杜涛(1984-),男, 山东滕州人 , 硕士生, 研究方向为飞行仿真 ,建模与仿真支撑环境等 ; 王江云 (1972-), 女, 河北人, 副教授, 博士, 研究方向为飞行仿真, 建模与仿真支撑环境, 计算机生成兵力等。
1 方式控制面板与操纵杆的功能
自动飞行系统(AFS)主要由飞行指引系统( F/D)、自动驾驶仪系统( A/P)、自动油门系统( A/T)和飞行方式控制面板(MCP)组成。飞行方式控制面板( MCP)提供由飞行员操作的 F/D,A/P,A/T的通断开关,各种飞行方式的接通电门,飞行高度、速度、垂直速度、航向、航道预选旋钮及数字显示窗,指示灯等。如某型民用干线飞机上 ,飞行员通过对 MCP上 14个电门、 7个旋钮和 4个开关的操作,对飞机进行控制。实现飞机的自动驾驶与手动驾驶切换,实现高度保持模式、高度层改变模式和垂直 /水平导航等多种自动飞行模式的选择。也就是说,有了 MCP,飞行员就可以不用手动操作驾驶杆来控制飞机的飞行模式,而是通过操作板面上的不同控件,即可实现对飞机的控制。
当然,在许多情况下,仅仅使用自动驾驶模式是不够的,如起飞、降落或者是其他飞行过程中有特殊需要的的情况。在这些时候,飞行员通过操纵杆、脚蹬和油门,改变飞机方向舵、副翼和升降舵的偏转,实现对飞机的操作。所以要实现对飞机的操纵,MCP与操纵机构是缺一不可的。
在本实验室现有的民用干线飞机飞行模拟驾驶舱中,飞行员通过机械的操纵杆、按钮和旋钮输出驾驶指令。为了真实地反映飞机的飞行品质,对飞行模拟器的机械操纵系统和电气系统提出了较高的要求。但由于硬件设备不可靠,容易发生故障。故采用数字化的 MCP和操纵杆作为飞行仿真器
·669·
其他节点
旋钮
指示灯、数码管
数字化操纵系统
的一部分,用鼠标操作代替机械操作, 完成一个虚拟座舱,以有效地弥补上述的不足。
2 整体框架设计
整个系统可以看作是一个数字化的操纵系统,由飞行方式控制面板和操纵杆两部分组成,基本框架如图 1所示。其中方式控制面板由若干个电门、开关、旋钮以及指示灯和数码管组成。飞行员通过鼠标操作数字化的 MCP,实现对飞行操纵计算机的控制。利用 Saitiek游戏飞行操纵杆仿真座舱内的操纵机构。Saitiek飞行操纵杆由一个三自由度的操纵杆、一个油门推杆以及其他一些控件组成,仿真实现真实操纵杆、脚蹬和油门的控制功能。飞行员可以通过对三自由度操纵杆的操作,实现飞行的俯仰角、滚转角和偏航角的改变,通过油门推杆实现飞行的推力控制。飞行员在虚拟驾驶舱内输入的所有数据都通过数据通讯模块实时地传输给其他节点,从而实现整个飞行模拟器的顺利运行。
电门
开关
三自由度操纵杆
操纵杆
其他控件
图 1 系统基本框架
3 数字化 MCP的开发
3.1 功能分析在操纵飞机的过程中, MCP板的功能大致通过分布于板面上的 14个电门( N1功能键电门、速度选择电门、高度层改变方式电门、垂直导航方式电门、航向选择保持方式、渐近方式电门、VOR/LOC方式电门、横向导航方式电门、高度保持方式电门、升降速度方式电门、两个 CWS电门和两个 CMD电门)、 4个开关(指引仪开关、副指引仪开关、 A/P脱开电门和自动油门预位电门)和 7个旋钮(航道选择旋钮、副航道选择旋钮、马赫数选择旋钮、航向旋钮、倾角
限制旋钮、高度保持旋钮和垂直速度旋钮)来控制实现,如图 2所示。
图 2 MCP硬件图
飞机在飞行过程中,飞行员可以通过改变板上的几个参数改变飞机的飞行状态,设定所需要的飞行模式。常见的几种飞行模式有:
高度保持:当飞机需要自动爬升或下降到某一高度上,并保持在此高度上飞行时,可在飞行方式控制面板上预选高度,然后按压高度保持方式电门( ALTHOLD),则该种工作模式生效,在达到预选高度后,在该高度上保持平飞。
垂直速度:(升降速度保持模式),为了改变飞机现有高度,进行自动爬升或下降时,可在方式控制面板上选择要求的升降速度,并按下升降速度模式电门( V/S),则该种工作模式生效。
高度层改变:当选定一个新的飞行高度后,按压高度层改变模式电门( LVLCHG),则改工作模式生效,飞机按照方式控制面板上选择的速度自动爬升或下降到预选的高度上。
垂直导航:按压 MCP上的垂直导航方式电门(VNAV),自动飞行系统将从飞行管理计算机获得在预选的垂直剖面上飞行必需的爬升速率,巡航高度、速度、下降速率,航路点上高度限制等,完成预选航线飞行。
自动着陆:飞机着陆前,可选择仪表着陆( ILS)进场或 VOR/LOC模式进场,其中任何一种进场模式都是利用无线电导航台进行引导。首先调谐某种进场方式频率,再按压方式控制面板上的 APP电门。例如当调谐航道信标台(LOC)频率后,按压 APP电门,随后在飞行方式信号牌( FMA)横滚方式上显示 VOR/LOC预位,在俯仰方式上显示截获下滑道(GS)预位,当航道被截获,则 VOR/LOC改变成接通有效,当下滑道被截获,则 GS改变成接通。此后飞机在自动飞行系统控制下跟踪截获的航道与下滑道,直至在俯仰方式上显示平飘( FLARE)预位和平飘接通,到飞机接地时结束。
起飞复飞:当按下座舱内的 TO/GA电门,接通复飞方式后,自动飞行系统引导飞机抬头俯仰( 15度左右),保持机翼水平,按选定的起飞速度和复飞时油门杆位置实现复飞。
航向保持:(航向预选及航向保持模式 HDG SEL),在 MCP上预选航向,按压 HDG SEL电门,自动飞行系统通过偏转副翼改变飞机滚转角,使飞机调整到预选航向上并保持在该航向上飞行。
横向导航:在方式控制面板上接通 LNAV电门后,自动飞行系统将接收来自飞行管理计算机预选航路上的导航参数,控制飞机横滚切入,跟踪由飞行管理计算机确定的航路。
飞行员通过按下 CMD电门切换到自动飞行状态后,就可以在 MCP板上作相应的设定,选择飞行模式。
3.2
各种控件的实现数字化的 MCP界面是在 windows环境下,以 Visual C++
6.
0为开发平台开发完成的。采用面向对象的程序设计方法,大量使用 MFC提供的有关类库,以真实的 MCP硬件照片为背景,利用消息映射的机制,分别实现 MCP上的电门、开关、旋钮、指示灯和数码管等各个控件,实现了比较逼真的仿真效果,如图 3所示。
电门是 MCP上数量最多的控件。电门的数据传输形式是脉冲的形式,即在电门按下的一刹那,根据高 /低电平有效的原则传递一个高/低电平,飞行员松手后也即操纵者电
·670·
图 3 数字化 MCP界面
击鼠标后,电平又恢复到原来的状态,对数据接受者的效果是收到一个脉冲,启动响应的模式。为了使操纵者有真实的操纵感觉,设计电门外观时采用了导入图片的方法,在按下和松手两种状态下交替导入经过处理的两种不同的电门图片,形成可以和真实硬件效果相似的按下和松手效果。
开关与电门的区别在于它是一个状态量,即操作以后相应标志符保持改变后的状态,直到下一次操作才发生相应的变化。与电门类似,采用不同开关状态导入不同图片的方法实现视觉效果。
指示灯是一种没有触发事件的控件,在数字化的 MCP中,将指示灯的状态变化包含在相应的控件事件中,由相应的开关等控件触发指示灯状态的变化。
数码管和指示灯类似,由相应的旋钮控件触发,不同的是它的状态变化较多,要显示 0-9十个数字、负号以及不显示状态共 12种状态。MCP上的数码管较多,为避免代码过于冗长,采用函数调用的方式,按位显示。在对应的旋钮函数中调用显示函数,实现对应的数码管的显示。
旋钮是各种控件中要求比较高的一种。设计的目标是旋钮能够正反两方向旋转,对应的数值能够相应增大和减小,并且对应的数码管有所显示。设计方法是将旋钮分为正负(对应实际的左右两半)两部分,点击任一部分时另半边也作出响应,通过图片的更迭仿真出较为真实的旋转效果。在旋转至规定的范围之外时,旋钮无法继续转动,数码管显示的数据也不能继续变化。
需要特别注意的是,在原有的硬件设备中,有的电门属于低电平有效,而有的是高电平有效。在数字化的过程中,要求相应的控制字完全和原有的设备相同。指示灯和数码管的显示也不再通过接口程序,而是通过 MCP程序内部实现。
飞行员通过操纵虚拟的 MCP,实现对自动驾驶仪系统(A/P)、飞行指引系统( F/D)、自动油门系统( A/T)以及高度警戒功能的协调控制,并向飞行操纵计算机提供速度、航向、高度和垂直速度的参数选择。由 MCP发出的信号通过通讯模块发送到网络上,由模型结点接收解算,启动相应的飞行模式。上述的过程不管是发送还是接收都是实时进行的。
4 飞行操纵杆的开发
本次开发使用 Saitek飞行操作杆模拟真实的飞行操纵系统。如图 4所示,Saitek飞行游戏操作杆由一个三自由度的操纵杆、一个推杆和若干按钮组成。通过三自由度操纵杆的前后( 1)、左右( 2)移动以及绕其自身轴心的旋转( 3),分别产生俯仰角、滚转角和偏航角。利用推杆仿真油门杆,推动推杆改变推杆的位置,可以输出不同的推力。操纵人员通过操作 Saitek飞行游戏杆,输入三个偏转角和一定的推力,可以控制飞机模型的飞行状态。
图 4 Saitek飞行操纵杆硬件图
操纵杆程序是基于 Microsoft创建的多媒体开发库 DirectX开发的。通过使用 DirectX SDK中的接口 DirectInput连接计算机和操纵杆,将程序嵌入 MCP程序,将操纵者从游戏杆输入的数据,赋值到需要输出的数组结构中,与其他 MCP上的数据一起打包输出。
具体的实现过程如下:首先创建一个 DirectInput对象, Windows默认的游戏摇杆的对象是 Joystick。成功创建一个 DirectInput对象后,便可以访问输入设备。 DirectInput对象通过 DirectInput COM接口来处理数据,IDirectInput接口用来获取和设置 DirectInput对象的属性。操纵杆的属性包括操纵杆三个方向的转动和油门杆移动的范围。将操纵杆三个方向的转动范围都设置为-1000到 1000,通过一定的换算关系,将其转换成三个姿态角,通过网络通讯输出。
在数字化 MCP的界面上增加相应的显示框,使操纵者可以对输入的偏转角和仪表测出的实际偏转角进行比较,可以实现更加逼真的操纵效果。加入操纵杆后的 MCP界面如图 5所示。
图 5 嵌入操纵杆后的数字化 MCP板界面
5 实时数据通讯
本系统采用高效率的 UDP传输层协议。由于在飞行仿真系统的局域网中,节点个数有限,作为网络通讯管理的控制管理台节点可对其他节点逐个单点通讯,而且能够保证在规定的帧周期内完成全部数据交换,故在本系统中,采用单点传送(UNICAST)方式进行网络通讯。
为完成通讯任务,在 MCP应用程序工程中设定两个线程:多媒体定时器线程和网络通讯线程。网络通讯线程实现管理台对各个节点不断的数据收发,实现通讯的功能。多媒体定时器线程每隔 50ms控制管理台进行一次数据收发的更新,使得应用程序调用的数据是从网上收来的最新解算值;同时控制管理台、模型节点及 MCP节点用每一帧新的数据
·671· (下转第 675页)
的 radio层负责接收。
5.3 GloMoSim中的消息的发送 GloMoSim中发送消息的方式有如下两种:
(1) 标准发送方式
上面三类消息都可采用同一个系统函数来发送,所以这种消息发送方式称为标准发送方式。所用的系统函数为 GLOMO_MsgSend (node, message, timedelay),表示把消息 message在 timedelay时间后发送给节点 node,其中 message为 Message结构中变量。
(2) 直接发送方式
对于层间消息,还有另一种发送方法,即直接调用本节点相应层的接口函数,所以称为直接发送方式。这种发送方式一般用于用于告诉接收层有信息包要发送给它。
若 timedelay不为 0,则标准发送方式发送的消息要排队通过事件队列,而直接发送方式发送的消息不通过事件队列,而是直接执行。一般来说,timedelay为 0的标准发送方式可以用直接发送方式来实现,而直接发送方式可以用 timedelay为 0的标准方式来发送。
5.4 GloMoSim中的消息的接收
GloMoSim中两种消息发送方式都有对应的接收方式,分别为:标准接收方式和直接接收方式。
(1) 标准接收方式
标准接收方式处理从事件队列取出的事件,在 GloMoSim中由这种事件的处理函数称为 EventHandler。一般每个功能模块都要实现该函数,以处理以标准方式发送给自己的事件。EventHandler是事件处理功能单元的一部分。
(2) 直接接收方式
对应直接发送方式,相应的消息接收方式称为直接接收方式。发送者直接发送消息时所调用接口函数在 GloMoSim中称为 PacketHandler。它也是事件处理功能单元的一部分。
(上接第 671页)对本身数据进行更新,以便在网上发布最新的解算值。实际的数据传输过程如下:各节点进行 Socket初始化,做好传递数据的准备;控制管理台对各节点进行点名,即收发是否联在网上的测试标志;点名后,控制管理台从发送数据的模型节点和 MCP节点接收数据,连同自己的要发送的数据按一定的结构形式打成一个数据包,再发往各个节点;各节点根据自己的需要从数据包中取出相关数据,控制管理台、模型节点和 MCP节点再用新的计算结果更新数据,进行下一轮发送。
6 结论
本文主要研究了飞行仿真器方式控制面板的数字化实现以及利用简易操纵杆仿真飞机座舱操纵机构的设计。在 Visual C++ 6.0平台上开发了数字化的方式控制面板,仿真
6 GloMoSim网络仿真器的不足 GloMoSim网络仿真器具有如下几点不足:
(1) 没有帮助文档,要了解系统工作原理必须阅读源代码。
(2) 对仿真场景的控制能力较弱,不便于构造复杂的场景。
(3) 其调试功能也很有限,不支持断点、单步等基本调试方式。
(4) 用户对仿真的控制操纵能力较弱,如不支持不同节点的高层模块之间进行消息交互,而很多情况下这对于控制仿真的运行是很必要的。在这方面, OPNET具有明显优势。
要对以上几点方面进行改进,需要 GloMoSim发布者做出努力。对于第四条,用户可以对 GloMoSim进行功能扩充以改善这方面不足。
7 结论
本文对通用无线网络器 GloMoSim进行了深入剖析,分析了 GloMoSim中节点的层次模型,介绍了该系统中文件的组织关系,然后详细分析了 GloMoSim中仿真的运行过程和消息传输过程,最后提出了 GloMoSim的几点不足,并提出了相应的改进途径。
通过本文可以对 GloMoSim无线网络仿真器获得较全面深入的认识,促进对 GloMoSim无线网络仿真器的掌握和应用。
参考文献:
[1] 李建枫, 麋正琨 , 成际镇. NS-2移动代理网络仿真功能扩展设计和实现 [J].系统仿真学报, 2004, 16(1): 85-90.
[2] 黎宁, 王小伟, 郑少仁 . 无线网卡能耗建模及在 Glomosim中的实现 [J].系统仿真学报, 2003, 15(5): 696-699.
[3] 高振国, 杨孝宗. 利用 OPNET仿真 GSD无线自组网服务发现协议 [J].计算机仿真. 2005, 22(6): 84-87.
实现了真实方式控制面板的主要功能和逻辑关系,通过数字化的界面提供相应的功能。利用 Saitiek游戏飞行操纵杆仿真实现真实操纵杆、脚蹬和油门的控制功能,从而改变飞机方向舵、副翼和升降舵的偏转,实现对飞机的操作控制。
数字化实现的方式控制面板代替了原仿真器系统的相关硬件和接口节点,使操纵人员可以更加方便地操纵飞机。数字化的方式控制面板易于维护,避免了硬件容易发生故障和老化的问题,可以说使整个仿真器系统的性能得到了一定的提高。
参考文献:
[1] 王行仁, 等. 飞行实时仿真系统及技术 [M].北京: 北京航空航天大学出版社, 1998.
[2] 戴锋. Visual C++ 程序设计基础 [M].北京:清华大学出版社, 2001.
[3] .波音 737/300-500使用手册[Z].
[4] 刘骝. MCP和飞行摇杆 [D].北京: 北航学士学位论文, 2005.
·675· |
|