飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf_第1页
飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf_第2页
飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf_第3页
飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf_第4页
飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

飞行器设计硕士论文-多机交互式飞行模拟平台设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西北工业大学硕士论文西北工业大学硕士论文 1 分类号:分类号:v221 学校代号:学校代号:10699 学号:学号:98605104 西北工业大学西北工业大学 硕硕 士士 学学 位位 论论 文文 (学位研究生) 题目题目 多机交互式飞行模拟平台设计多机交互式飞行模拟平台设计 作者作者 王海峰王海峰 指导教师指导教师 王正平王正平 专业技术职务专业技术职务 副教授副教授 学科(专业)学科(专业) 飞行器设计飞行器设计 二二 oo 一年二月一年二月 西北工业大学硕士论文西北工业大学硕士论文 2 摘摘 要要 本文主要建立多机交互式飞行模拟的框架应用平台,此平台集成了飞行模 拟/仿真、图形显示系统和网络技术,可作为总体设计阶段对飞机性能、操稳特 性及飞行品质评估的一个工具软件。 首先,本文建立某歼击机及某轰炸机的六自由度运动方程的数学模型,并 做了一些求解运动方程方法的探讨, 在完成运动方程求解的基础上创建模拟视景 系统, 用于显示飞机的即时位置及飞行姿态和各种飞行参数。 随后用基于 tcp/ip 协议的 winsock api 进行网络数据传输, 从而达到在两台计算机上进行两架飞机 飞行仿真的目的。 本软件使用 visual c+ 6.0 编制,可在 windows9.x/windows nt 平台下运 行。 关键词: 飞行模拟/仿真 框架应用 tcp/ip 西北工业大学硕士论文西北工业大学硕士论文 3 abstract a framework application platform that is used for flight simulation or flight imitation of multiple aircraft has been presented in this paper, and techniques of flight simulation 、 vision system and network based on tcp/ip protocol has been integrated in the platform which can be used as a analytic tool for evaluating flight performance and flight quality in the conceptual design phase of aircraft . firstly, dynamic equations mathematics modal of a fighter and a bomber has been built and some solutions of the dynamic equations have been acquired in the paper. secondly, a flight simulation vision system has been set up which can display flight status and flight parameters of the simulated airplane. at last, network techniques have been used for transferring simulation data between two computers, which can simulate two aircrafts flight respectively and simultaneously. the software has been developed in visual c+ universal development system, so it can be run in windows9.x/nt system. keywords: flight simulation or flight imitation framework application platform tcp/ip 西北工业大学硕士论文西北工业大学硕士论文 4 目录目录 第一章第一章 绪绪 论论.7 1.1 问题的提出7 1.2 现代飞行力学发展概况7 1.3 模拟显示技术简介8 1.4 网络技术发展概况:8 1.5 本文的主要工作:9 第二章第二章 建立飞机六自由度运动方程建立飞机六自由度运动方程10 2.1 建立运动方程所使用的坐标轴系及运动参数10 2.1.1 地面坐标系axdydzd.10 2.1.2 机体坐标系oxtytzt10 2.1.3 气流坐标系oxqyqzq.11 2.2 建立飞机运动方程12 2.2.1 建立飞机的运动方程所采用的基本假设12 2.2.2 建立地面机体坐标系下的质心与刚体动力学方程12 2.2.3 建立地面机体坐标系下的质心与刚体运动学方程13 2.3 飞机所受外力与力矩分析计算;15 2.3.1 重力15 2.3.2 推力16 2.3.3 空气动力16 2.4 气动系数插值计算方法17 2.5 运动方程求解19 第三章第三章 建立飞行模拟显示系统建立飞行模拟显示系统21 3.1 建立场景中的几何形体21 3.1.1 使用造型软件制作简单的三维几何形体21 3.1.2 飞机三维模型造型实例及其对应的asc文件格式22 3.2 场景中的几何形体显示24 3.2.1 opengl功能简述.25 3.2.2 用opengl进行场景显示的步骤26 西北工业大学硕士论文西北工业大学硕士论文 5 3.2.3 用opengl进行透视投影变换27 3.2.4 用opengl作模型变换28 3.2.5 用opengl作视点变换30 3.2.6 视口变换30 3.3 场景中的几何形体显示的效果处理30 3.3.1 光源30 3.3.2 材质31 3.3.3 光照计算32 3.3.4 纹理32 3.3.5 双缓存动画33 第四章第四章 建立计算机间网络数据传输建立计算机间网络数据传输34 4.1 winsock简要介绍.34 4.2 异步通讯编程技术35 4.2.1 套接字模式36 4.2.1.1 锁定模式36 4.2.1.2 非锁定模式36 4.2.2 异步选择机制37 4.2.3 异步数据传输38 第五章第五章 软件平台设计及流程软件平台设计及流程39 5.1 选择软件编程语言39 5.2 软件系统模块及流程40 5.2.1 数据输入模块及流程40 5.2.2 运动方程求解模块及流程41 5.2.3 数据传输模块43 5.2.4 输出模块43 5.3 软件系统设计44 5.3.1 软件用户界面44 5.3.2 软件编程45 5.3.2.1 应用程序初始化45 西北工业大学硕士论文西北工业大学硕士论文 6 5.3.2.2 子框架窗口初始化45 5.3.2.3 普通视类初始化46 5.3.2.4 视景显示46 5.3.2.5 网络数据传输46 5.3.3 软件界面介绍47 第六章第六章 结论与展望结论与展望51 6.1 结论 .51 6.2 展望 .58 参考文献参考文献 .59 致谢致谢 .60 西北工业大学硕士论文西北工业大学硕士论文 7 第一章第一章 绪 绪 论论 1.1 问题的提出问题的提出 现代飞机总体设计是综合各种先进科学技术的系统工程,在飞机总体设计 过程中,首先应当是确定总体参数,这个过程需要进行参数优化设计,即经过反 复迭代,才能逼近最终的方案。当飞机总体方案确定后,如何直观评价其性能指 标和操稳特性,是飞机设计人员急需解决的问题。如果再进一步作深入研究,能 否对若干种方案的性能和操稳特性进行直观的比较。 我认为这些问题都可通过飞 行模拟来解决。因此未来的飞机总体设计将由两个过程组成,总体参数优化设计 和飞行模拟评估。 通过对飞机飞行过程的模拟,可以给出飞机性能指标和操稳特性的定性和 定量评估结论。在此基础上还可对方案的一些敏感参数提出修改,然后再进行评 估,这样就形成一个闭环的设计过程,从而达到优化设计的目的。 1.2 现代飞行力学发展概况现代飞行力学发展概况 飞行力学是应用力学的一个分支,是研究飞行器在大气层内运行规律的学 科,它以空气动力学、理论力学、自动控制理论、应用数学作为理论基础,以计 算机作为主要研究工具。它是飞机总体设计过程中的致关重要的环节之一。 无论从飞机设计开始阶段的总体参数确定,还是到详细设计阶段的性能、 操稳特性计算,以及飞机制造完成后的飞行试验过程,飞行力学都起到不可替代 的作用。 即使飞机已经交付用户后, 飞行员也必须具有一定的飞行力学基础知识。 近代,随着理论力学、空气动力学的飞速发展,飞行力学也日臻完善,现 代控制理论使飞机进入闭环控制状态,它与飞行力学的完美结合,从而出现自动 驾驶、 综合火飞推及放宽静稳定性等一系列新技术, 使飞机的设计水平不断提高, 也为飞行模拟打下坚实的理论基础。 西北工业大学硕士论文西北工业大学硕士论文 8 1.3 模拟显示技术简介模拟显示技术简介 最初,计算机图形性能较差,人们对飞机飞行过程的模拟,只能使用文件 进行记录,模拟过程结束后,再进行后置处理,利用曲线图进行参数分析。在模 拟过程中,显示界面对于人们来说并不友好,不能完成实时的交互处理,因此模 拟过程显得单调、烦琐。 计算机图形软硬件的飞速发展,为模拟显示过程可视化提供了强有力的工 具, 可视化技术使人们能够在计算机屏幕上对有形物体进行控制和信息交流。它 赋予人们对物体进行仿真并具有交互能力, 为人们在视觉上创造一个身临其境的 虚拟现实世界。如今,虚拟现实技术正广泛深入应用到各种行业。如产品开发中 vpd,娱乐方面的电影拍摄,军事方面的虚拟演习等等。 将虚拟现实技术与飞行力学有机结合起来,形成现在热门的模拟技术,发 达国家正利用这一技术生产各种飞机的模拟器,用于训练飞行员。节省了大量的 飞行训练资金。 而我国在这方面的研究明显落后, 还需要投入大量的人力、 物力、 财力。 1.4 网络技术发展概况:网络技术发展概况: 网络是这几年兴起并快速发展的技术,随着因特网的发展,世界各地的城 市变成了一个个村落,人们正享受新技术带来的全新感受。 internet 又称国际互联网或因特网,是目前国际上最大异构互联广域网和最 大的信息集结地,它采用 tcp/ip 协议和其它统一标准,将世界各地业已存在的 大量局域、广域网络连接起来。形成一个巨大的网中之网。将全球联系起来,实 现了世界范围内的信息、资源和服务共享,极大地扩展了计算机网络应用的外延 和内涵。 目前,如果想赢得更多的用户,希望在软件市场取得成功,就必须考虑软 件应具有网络功能,很多游戏商也推出相应的网络版,以延长游戏的生命周期。 本人在作飞行模拟程序的过程中,使用网络技术不仅仅是为了增加软件的 功能。而更多考虑的是它的工程实际意义。如果我们已经有若干种方案,可通过 网络把两种方案的模拟过程加以比较,从而得出优劣。 西北工业大学硕士论文西北工业大学硕士论文 9 1.5 本文的主要工作:本文的主要工作: 本文利用了飞行力学理论,图形显示技术及网络技术在微机环境中(即 wintel 平台)实现了“多机交互式飞行模拟平台” ,完成对飞机在一定操纵条件 下飞行过程的模拟。可给出某一方案的性能和飞行品质的定性或定量描述,并能 进行两种方案的对比,从而说明总体布局的合理性。如不合理还可对总体布局的 一些敏感参数提出修改,在进行对比分析,形成闭环的设计过程,以期达到优化 设计的目的。 由于个人力量有限,本软件还不能作为飞机模拟器的主要软件模块,但可 作为这方面的方法研究,主要目的是为总体设计提供一个分析的手段,到目前还 只是一种框架应用。 主要工作如下: ? 建立两架飞机的六自由度运动方程。 ? 建立飞机气动力、力矩系数计算模型,挑选相应的气动导数数据(根据 风洞试验数据) ,选择相应的插值算法。 ? 用 visual c+进行 windows 多窗口程序设计。 ? 建立飞机、视景的三维模型。 ? 用 opengl 图形库函数进行飞行视景显示设计。 ? 基于 tcp/ip 网络协议,把两台计算机模拟结果进行传输。 ? 对模拟过程中的飞行状态参数进行时间历程曲线显示。 西北工业大学硕士论文西北工业大学硕士论文 10 第二章第二章 建立飞机六自由度运动方程 建立飞机六自由度运动方程 运动方程是外力、外力矩、加速度、坐标和速度联系起来的关系式。其理 论基础是牛顿运动定律。飞机运动方程包括动力学方程和运动学方程,一般情况 下是以 t 为自变量的微分方程,因此,运动方程是分析、计算或模拟飞机运动的 基础,亦即表征飞机运动规律的数学模型。 2.1 建立运动方程所使用的坐标轴系及运动参数建立运动方程所使用的坐标轴系及运动参数 2.1.1 地面坐标系 地面坐标系 axdydzd 地面坐标系与视作平面的地球表面相固连。原点 a 在地面或海平面上适当 选择某点,ayd沿钻垂方向向上,axd和 azd在水平向内,axd与人的视线方向相 同,azd指向右侧。 2.1.2 机体坐标系 机体坐标系 oxtytzt 原点 o 在飞机质心处, oxt平行飞机纵轴向前, oyt在飞机对称面内垂直 oxt 并指向上,ozt垂直飞机对称面指向右。气动力矩的三个分量(即滚转力矩 mx, 偏航力矩 my和俯仰力矩 mz) 是相对机体坐标系的三根轴定义的。 机体坐标系相 对于地面坐标系的点位置和角位置有六个量 (在以后的视景显示及网络数据传输 中主要使用这六个量) 。三个点位置量表示飞机质心在地轴系中的坐标(xd、yd、 zd) , 三个角位置量表示飞机在空中的姿态( 、) 。 西北工业大学硕士论文西北工业大学硕士论文 11 图 2.1 地轴系与机体系的关系 2.1.3 气流坐标系 气流坐标系 oxqyqzq 亦称风轴系,原点 o 选在飞机质心,轴 oxq沿飞行速度矢量 v;轴 oyq在 飞机对称面内垂直于 oxq指向上;轴 ozq垂直于 oxqyq指向右。 气动力的三个分量(即阻力 q、升力 y 和侧力 z)是在气流坐标系中定义 的。 图 2.2 气流坐标系与机体坐标系的关系 yt xt yq zq x x v q y z yt my xt mx zt mz zd xd yd 西北工业大学硕士论文西北工业大学硕士论文 12 xyzzy x fvv dt dv m=+)( yzxxz y fvv dt dv m=+)( zzyyx z fvv dt dv m=+)( x y xzxyzyyz x x m dt d iii dt d i=+)()( yzpp x zyxyxzzx y y mi dt d iii dt d i=+ )()( 2.2 建立飞机运动方程建立飞机运动方程 2.2.1 建立飞机的运动方程所采用的基本假设 建立飞机的运动方程所采用的基本假设 在建立运动方程之前,需采用一些合理的简化假设。首先是关于地球的假 设, 我们把固连于地球的地轴系视作惯性坐标系,即忽视了地球的旋转运动和地 球质心的曲线运动。在关于地轴系的定义中,还忽略了地球的曲率,即视地面为 平面而非球面,这样就略去飞机运动向心加速度。此外,由于飞机的飞行高度一 般远小于地球半径,我们还忽略飞行高度变化所引起的重力加速度的变化。 其次是关于飞机的假定,把飞机视为刚体。 2.2.2 建立地面机体坐标系下的质心与刚体动力学方程 建立地面机体坐标系下的质心与刚体动力学方程 设 vx、vy、vz分别为质心沿机体坐标系下的 ox、oy、oz的速度分量,x、 y、z分别为飞机对上述三根轴的角速度分量(按右手法则确定正向) 。 根据质心动力学方程 ,将质心动力学方程在机体系中投影, 即可得到三个方程: 式 2-1 式 2-2 式 2-3 fx、fy、fz、为飞机所受合力f 在 ox、oy、oz轴的投影。 根据刚体动力学方程 在机体系中的投影,考虑到发动机旋转部 件对动力学方程的影响,可得出: 式 2-4 =f dt vd m v v =m dt hd v v 西北工业大学硕士论文西北工业大学硕士论文 13 zyppxyxyzxxy z z miiii dt d i=+ )()( 22 + = yxzyxyxyxy xyyx x iiimimi iiidt d )( 1 2 )( 22 zppxyzyzyxyy iiiiii+ + = zyyxzxxyyx xyyx y iiimimi iiidt d )( 1 2 )( 22 zppxzxxxyzx iiiiii+ )()( 1 2 yppyxxyzxyxz z z iiiim idt d += sin dt d dt d x += coscossin dt d dt d y += sincoscos dt d dt d z += 式 2-5 式 2-6 式中 ip为发动机旋转部件的转动惯量,p为发动机转速。 由上式 2-4、2-5、2-6 解出: 式 2-7 式 2-8 式 2-9 2.2.3 建立地面机体坐标系下的质心与刚体运动学方程 建立地面机体坐标系下的质心与刚体运动学方程 飞机的方位可由体轴系原点(即飞机质心)相对地轴系的三个线坐标 xd、 yd、zd以及两个轴系之间的三个角坐标 、 、 来表示。由图 2.1 导出刚体运动 学方程: 式 2-10 式 2-11 式 2-12 西北工业大学硕士论文西北工业大学硕士论文 14 cossin zy dt d += )sincos( cos 1 zy dt d = )sincos(tan zyx dt d = )cossincossin(sincoscos+= ytxt d vv dt dx )sinsincoscos(sin+ zt v )sincoscoscossin ztytxt d vvv dt dy += )coscossinsin(coscossin+= ytxt d vv dt dz )sinsinsincos(cos+ zt v coscosvvxt= cossinvvyt= sinvvzt= dt d v dt d v dt dv dt dvxt coscoscossincoscos= dt d v dt d v dt dv dt dvyt cossincoscoscossin+= dt d v dt dv dt dvzt cossin+= 由上式解出: 式 2-13 式 2-14 式 2-15 根据 vxt、vyt、vzt的定义及地轴系和体轴系的方向余弦关系,推出质心运 动方程: 式 2-16 式 2-17 式 2-18 由于在具体计算过程中,vxt、vyt、vzt为中间变量,可消除。据气流系与机 体系的关系: 由全微分推出: 西北工业大学硕士论文西北工业大学硕士论文 15 sincossincoscos += zyx fff dt dv cos cos cos sin costan v f v f dt d yx yz = yx z v f dt d += cossin cos v f v f yx sinsincossin + 代入式 2-1、2-2、2-3 中得出: 式 2-19 式 2-20 式 2-21 自此,十二个独立的运动方程式 2-7、2-8、2-9、2-13、2-14、2-15、2-16、 2-17、2-18、2-19、2-20、2-21 已全部建立,从形式上看属于非线性微分方程组, 需用数值解法求解。 2.3 飞机所受外力与力矩分析计算;飞机所受外力与力矩分析计算; 从上述运动方程中看出,fx 、fy、fz、mx、my、mz 等为 飞机所受外力和力矩在体轴系中各坐标轴上的投影。 2.3.1 重力 重力 重力 mg 与飞机的质量有关, 重力在体轴系上的分量与姿态角 、 有关。 重力作用在飞机质心上,因此不产生力矩。 重力在 xt轴上分量为mgsin ,yt轴上分量为mgcoscos ,zt轴 上分量为 mgsincos 。 西北工业大学硕士论文西北工业大学硕士论文 16 svcq x 2 2 1 = svcy y 2 2 1 = svcz z 2 2 1 = 2.3.2 推力 推力 推力 p 取决于发动机本身的特性,一般来说是飞行高度、速度、大气温度、 油门杆位置的函数。 推力在体轴系上的分量与发动机安装角p有关。另外,由于发动机推力轴 线与质心有一定距离,因此推力还产生一定的力矩。 推力 p 在 xt上分量为 p cosp, 在 yt上分量为 p sinp, 在 zt上分量为 0, 产生纵向力矩 mzp = -pep。 2.3.3 空气动力 空气动力 空气动力在气流坐标系中有三个分量阻力 q(沿 xq轴负向) 、升力 y(沿 yq轴正向) 、侧力 z(沿轴 zq,与侧滑角有关) 。 式中为空气密度,v 为飞行速度, cx、cy、cz分别称作阻力系数、升力 系数、侧力系数,s 为参考面积,影响这三个系数的因素很多。但对构型一定的 飞机(襟翼位置确定,起落架位置确定)来说,它们通常有如下的函数关系。 cx= cx(m,z,x,y) cy= cy(m,z) cz= cz(m,y) 在具体计算时,忽略次要量的影响,可采用插值法计算。 此外飞机所受的空气动力还对飞机产生力矩,这个力矩在机体坐标系中被 分解成三个分量:滚转力矩 mx、俯仰力矩 mz及偏航力矩 my,这些分量通过下 式计算。 西北工业大学硕士论文西北工业大学硕士论文 17 slvmm xx 2 2 1 = slvmm yy 2 2 1 = azz sbvmm 2 2 1 = += xyxxxyxxxxx mmmmmmm y x y x 0 += yyyxyyyyy mmmmmm y x y 0 (2)、8 个侧滑角下、28 个迎角下的 cz_s、my_s; (3)、8 个侧滑角下的 mx_s、my_s; (4)、8 个侧滑角下、28 个迎角下的 、 ; (5)、28 个迎角下的 、 、 、 、 、 、 、 、 、 ; 利用上述插值得出: 2.5 运动方程求解运动方程求解 上述 12 个运动方程是以时间 t 为自变量的多元非线性方程组, 分别是 v、 h、 、xd、yd、zd、x、y、z、 、的微分表达式。如果给出初始 运动状态参数,即可求出每一瞬时 t 时刻的十二个飞行运动状态参数。 非线性变系数的常微分方程组,在工程上可用数值法求解。实践证明,只 要有足够快的计算机,数值法总能对复杂的飞行器运动方程求出较精确的结果。 x s_x m x s_y m z s_y c y s_z c x s_x m y s_y m y s_y m y s_x m x s_y m z s_z m s_z m z s_z m 其中,hwnd参数指定一个窗口的句柄,对窗口例程的调用正是由那个窗口 发出的,umsg参数指定需要对哪些消息进行处理。就我们的情况来说,感兴趣 的是wsaasyncselect调用中定义的消息。wparam参数指定在其上面发生了一 个网络事件的套接字。假若同时为这个窗口例程分配了多个套接字,这个参数的 重要性便显示出来。在lparam参数中,包含了两方面重要的信息。其中,lparam 的低字(低位字)指定了已经发生的网络事件,而lparam的高字(高位字)包 含了可能出现的任何错误代码。 网络事件消息抵达一个窗口例程后,应用程序首先检查lparam的高字位, 以 判 断 是 否 在 套 接 字 上 发 生 了 一 个 网 络 错 误 。 有 一 个 特 殊 的 宏 : wsagetselecterror,可用它返回高字位包含的错误信息。若应用程序发 现套接字上没有产生任何错误, 接着便应调查到底是哪个网络事件类型造成这条 windows消息的触发具体的做法是读取lparam之低字位的内容。此时可使 用另一个特殊的宏:wsagetselectevent,用它返回lparam的低字部分。 作为一个应用程序,使用connect、accept、send等函数就可在套接字上发 出数据。套接字收到网络事件,向应用程序发出fd_read消息,通知应用程序 准备接收数据,应用程序在消息响应函数中使用recv函数接收数据。 这种思路可以很简单的解决同步问题,因为程序是单线程,等待消息映射 函数处理完毕后, 再进行下一个状态的计算。 本软件主要采用这种异步windows 编程技术,解决了两机之间通讯问题、同步问题等关键技术。 西北工业大学硕士论文西北工业大学硕士论文 39 第五章第五章 软件平台设计及流程 软件平台设计及流程 在开始进行软件平台设计时,对于选择何种计算机语言,也作了多方面的 考察。如今,windows已经成为微机的主流操作系统,因此必须编写相应的 windows应用程序,才能充分利用各种图形界面及网络资源。 5.1 选择软件编程语言选择软件编程语言 在windows操作系统刚出现时,主要开发工具为c语言,如微软公司的 microsoft visual c+及borland c+等开发工具,这些开发工具对编程人员的要 求很高,因此学起来非常困难,使程序开发效率大大降低。后来微软公司开发出 visual basic,为许多开发windows应用程序的人带来了福音。visual basic的可 视化程度较高,经过短暂的学习就可上手使用。用visual basic开发出来的应用 程序让一个熟练的c+程序员得花长时间得功夫才能达到。这样使visual basic 风靡一时。但不可否认,visual basic也有缺点,因为basic 本身就是一种解释 性语言,因此用vb开发出来得应用程序运行效率低,执行速度慢,并且运行时 需带有vb运行动态库。borland公司及时推出delphi开发工具,使应用程序开 发焕然一新,delphi使用面向对象的pascal语言,borland公司为delphi开发 出世界上最快的编译器,使编译速度和程序运行速度都有很大的提高。后来又推 出与delphi极为相似的基于c+语言的c+ builder。因此,现在开发windows 应用程序的工具很多,它们都各有特点,很难说孰优孰劣。 visual c+的优点在于它开发出来应用程序的运行效率很高,运行速度快, 并且可执行文件相对较小,特别适合高级程序员追求速度。它充分利用了面向对 象技术,程序具有很大的可重用性,非常便于他人的继承开发。另外,微机环境 下opengl图形库基本上是sgi与微软公司共同制定的, 微软公司在visual c+ 4.0版本下就集成了opengl库函数。而且目前能找到的关于opengl介绍的书 籍全是以visual c+作为开发工具的。 基于这些, 本文在开发中选择了visual c+ 作为开发工具。 西北工业大学硕士论文西北工业大学硕士论文 40 5.2 软件系统模块及流程软件系统模块及流程 软件从大的方面分为数据输入模块、运动方程求解模块、数据传输模块、 输出模块等四大部分。 5.2.1 数据输入模块及流程 数据输入模块及流程 此模块完成以下功能: 选择本计算机所要模拟的飞机 选择进行网络模拟或单机模拟 如进行网络模拟,开始进行两计算机连接,并向对方机器传送己方飞机的 参数飞机型号。 要模拟的飞机总体参数输入(飞机质量、飞机长度、翼展、机翼面积、惯 性矩、惯性积、发动机转动惯量) 。 要模拟的飞机初始运动状态参数输入(初始时间、时间间隔、速度、高度、 发动机推力、迎角、侧滑角、俯仰角、偏航角、滚转角、俯仰角速度、滚转角速 度、偏航角速度、x方向位移、y方向位移、z方向位移) 。 流程图如下: 西北工业大学硕士论文西北工业大学硕士论文 41 5.2.2 运动方程求解模块及流程 运动方程求解模块及流程 运动方程求解主要完成以下功能: 接收各瞬时运动状态参数(t、t、v、xd、yd、zd、 、 x、y、z、等) 。 根据风洞实验数据及舵偏,进行插值计算此状态下的fx、fy、fz、mx、my、 mz。 流程图如下: 开始 选择本机所要模拟的飞机 是网络模拟 吗? 进行网络连接 连接成功? 发送己方飞机参数 所模拟的飞机总体参数输入 初始状态运动参数输入 是 是 否 修改ip地址 否 西北工业大学硕士论文西北工业大学硕士论文 42 开始 接收总体参数 接收飞行初始运动状态数据 输入舵偏及油门 根据力/力矩导数风洞实 验数据、舵偏,使用一元 和二元线性插值计算此状 态、下的气动力系数 结合油门位置, 计算气动力/力矩 四阶龙格库塔法 求解 计算下一时刻的 运动状态数据 数据文件记录运 动状态参数、力 /力矩及其系数、 舵偏 飞行结束? 结束 是 否 西北工业大学硕士论文西北工业大学硕士论文 43 5.2.3 数据传输模块 数据传输模块 数据传输模块主要完成将本机经运动方程求解模块的计算结果通过网络传 输到对方机器上,供对方机器显示时使用。 其流程如下: 5.2.4 输出模块 输出模块 输出模块主要完成各种状态参数的显示,最终的视景显示以及使用文件对 各状态参数记录。 具体流程如下: 接收运动方程求解模块计算的数据 执行socket请求 对方机器正忙或 socket没有准备好? 向对方机器发送准 备接收数据的消息 发送数据 是 否 触发网络写事件 执行消息响应程序 接收对方机器发送的数据 西北工业大学硕士论文西北工业大学硕士论文 44 5.3 软件系统设计软件系统设计 飞行模拟程序有其独特的一面,即实时性,因此要求程序具有快速反应能 力。 5.3.1 软件用户界面 软件用户界面 软件采用统一的windows图形用户界面。用户界面是计算机的使用者与计 算机系统进行交互的接口,是方便有效地使用计算机的一种重要机制,是任何软 件都不可缺少的组成部分。如今由于windows操作系统的普及,使图形用户界 面逐渐代替了原来的文本模式用户界面。 传统的飞行模拟程序基本采用文本模式 下的用户界面,操作显得单调、容易出错,人机交互环境不友好。 对最终用户而言,要求界面使用简单、响应合理、风格一致、简单易用, 且要求具有良好的容错性。而图形用户界面正好能向用户提供方便、友好的人机 接收对方机器传输的数据 根据己方机器计算的状态 参数显示地形、天空 根据对方机器传输的数据 显示对方飞机的三维模型 各种状态参数通过 对话框窗口显示 使用文件进行记录 西北工业大学硕士论文西北工业大学硕士论文 45 交互环境。 windows应用程序具有统一的用户界面,窗口、对话框、菜单风格完全相 同,甚至连菜单内容及涵义也很相近。因此,对于普通用户来说,在熟悉一种 windows应用程序的用法之后,经过短时间的摸索就可熟悉其它应用程序用法。 与传统的应用程序不同,windows应用程序并不通过调用函数来获取输入的内 容,而是等待windows系统将消息输入转给它们。消息由windows系统或应用 程序产生,windows系统对每个输入事件都产生消息, 应用程序可以通过产生消 息来指导它自己的某个窗口,完成某项任务或与其它应用程序窗口进行通讯。 5.3.2 软件编程 软件编程 本软件采用vc中多文档视类结构,先使用visual c+的appwizard产 生一个多文档框架应用程序, 然后把子窗口切分成用于视景显示的普通视和用于 参数显示的表视,在普通视中进行opengl显示初始化。随后应用程序产生一个 定时器,每隔0.02秒产生一个定时器事件。 用于视景显示的普通视响应定时器事件,在消息响应函数进行下一个运动 状态各种参数求解,然后刷新各窗口。 程序可对每个状态都进行相应的视景显示。如果计算机的显卡速度较慢时, 也可每隔几个状态进行一次视景显示。 5.3.2.1 应用程序初始化 应用程序初始化 在应用程序类初始化过程中,主要进行多文档子窗口类、文档类、视类的 注册,框架窗口注册及显示,网络启动。在应用程序结束前关闭socket。 5.3.2.2 子框架窗口初始化 子框架窗口初始化 在子框架窗口的oncreateclient()成员函数中主要完成各种视类(用于视景 显示的普通视和用于飞行状态参数显示的表视)的分割及显示。 西北工业大学硕士论文西北工业大学硕士论文 46 5.3.2.3 普通视类初始化 普通视类初始化 在普通视初始化函数oncreate()中主要完成对opengl的初始化, 主要进行 视点设置,透视设置、光照处理启动等。 5.3.2.4 视景显示 视景显示 在普通视的ondraw()函数中进行视景显示,并进行相应的光照、材质、纹 理映射等处理。 5.3.2.5 网络数据传输 网络数据传输 设计一个cblockingsocket类用于网络数据传输,主要包括网络连接、网络 数据发送、网络数据接收等功能。 程序运行期间共创建和引用以下主要mfc类。 类名 基类 类别 作用/说明 csimulate cwinapp 应用程序类 用于启动及运行 程序 cmainframe cmidiframewnd主窗口框架类 管理多文档窗口, 处理本窗口的消 息 cdrawframe cmidichildwnd 子窗口框架类 管理子窗口及多 文档视类 cflyerdoc cdocment 文档类 用于数据集中处 理 cgraphview cview 普通视类 视景显示及处理 本窗口的消息 ccontview_1 cformview 表视类 运动参数输出 ccontview_2 cformview 表视类 舵偏等操纵状况 输出 西北工业大学硕士论文西北工业大学硕士论文 47 ccontview_3 cformview 表视类 力/力矩输出 ccontview_4 cformview 表视类 力/力矩系数输出 cinput_1 cdialog 对话框类 总体参数输入 cinput_2 cdialog 对话框类 初始运动状态参 数输出 cinput_3 cdialog 对话框类 输入对本方案的 评语,并记录 ccaculation 无基类 新类 运动方程求解 cblockingsocket cobject 新类 网络数据传输 在程序设计期间,把程序的容错性及异常错误处理等摆在首位考虑,这也 是养成良好编程习惯不可缺少的素质之一。 所以在软件设计时要充分考虑人在交 互过程中出现误操作的可能性,如输入的数据超出了其限定范围,指定的文件不 存在等,程序对用户输入的数据进行严格的合法性检查,对可判定的错误作出相 应的处理,弹出提示对话框让用户决定是重新输入还是终止程序运行,从而避免 了误操作引起的程序崩溃。 另外在程序运行过程中,由于操作不合理或程序存在bug,会出现被零除或 堆栈溢出等异常, 程序应在可能出现异常的地方进行判断或捕捉异常事件并进行 相应处理。程序设计中在分配系统资源操作返回时判断其操作是否成功,若成功 则继续执行程序,否则提示用户保存文件,然后程序退出。 5.3.3 软件界面介绍 软件界面介绍 1.飞机选择对话框 西北工业大学硕士论文西北工业大学硕士论文 48 2.网络连接对话框 西北工业大学硕士论文西北工业大学硕士论文 49 3.数据输入对话框 4.视景、运动状态各参数显示 西北工业大学硕士论文西北工业大学硕士论文 50 5.单机模拟过程回放显示 6.双机模拟回放显示 西北工业大学硕士论文西北工业大学硕士论文 51 第六章第六章 结论与展望 结论与展望 6.1 结论结论 本文本着研究的态度,做了一些基础性预研工作。旨在为飞机总体设计提 供一个工具软件或一种分析手段。从目前状况看,还不能用于飞行器的真实模拟 或对飞行员的培训等。 传统飞机设计过程比较漫长,一般要经过以下几个阶段,战技指标或飞机 技术要求确定、方案论证、方案设计、详细设计、生产制造、各种实验与试飞, 最后才能设计定型或适航取证,飞机设计基本上是串行工作的,效率较低。 如今,随着计算机软硬件的飞速发展,飞机设计的自动化程度也越来越高。 目前,出现了用于分析的cae软件,用于辅助设计与制造的cad/cam软件, 用于产品数据管理pdm软件等。 很多公司为了在数据共享上减少对人的依赖性, 都对这些软件作了集成,实现产品的单一数据库及关联设计。 现代飞机总体设计已由原来参数优化过程演变为参数优化与飞行仿真相结 合的过程,飞行仿真对相应的参数优化结果进行模拟,从而给出飞行性能及飞行 品质方面的评估。如果认为评估结果并不理想,还可对方案的一些敏感参数提出 修改,然后再进行评估,形成闭环设计过程,反复迭代逐步逼近最佳方案。 本文着重体现现代飞机设计发展的重要思路集成化方向,即将许多设 计分析等手段进行相应的集成,以提高设计效率。 本文设计是一种应用平台设计,把飞行模拟、视景显示、网络等作为一种 框架应用,如果与相应的专业人员合作,经过一段时间努力,可以达到对飞行器 真实模拟的效果。 本文在应用平台设计过程中,使用了目前较为流行的技术: 1软件采用面向对象技术编制windows应用程序,用户界面良好,易于维护, 便于继承开发。 2视景显示采用opengl图形引擎,图形效果好,显示速度比自行开发的图形 系统有显著提高。 西北工业大学硕士论文西北工业大学硕士论文 52 3网络功能采用基于tcp/ip协议的winsock api编制,可以满足95/nt平台下 局域网使用的要求,移植性较好。 本文以某歼击机为例,输入该飞机总体参数及飞行初始状态参数,对其飞 行过程进行两次模拟,一次为俯冲-拉起模拟,另一次为进入盘旋模拟。 1总体参数和飞行初始状态参数输入(用国际标准单位) 2俯冲-拉起(纵向运动)模拟12.38秒 西北工业大学硕士论文西北工业大学硕士论文 53 高度时间历程曲线 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 02468101214 t(s) h(m) 速度时间历程曲线 498 500 502 504 506 508 510 512 514 516 518 520 02468101214 t(s)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论