3.1 D-SIX 实时仿真引擎
D-SIX的关键性特征之一就是能够实时地运行和执行复杂的工程仿真测试程序,并且是在其要求的帧频下实时运行。D-SIX之所以有执行如飞行控制硬件在回路Hardware-In-The-Loop (HTL)之类的强实时性仿真任务的能力,是因为它的高效结构和创新的处理以及对表格数据的添改。如,不同于一个现有的仿真表列函数的改写,D-SIX通过底层的表格功能处理的重新设计。它极大地优化了查表运算性能:
因此,D-SIX可以轻松地适应系大规模复杂的多维模型运算的实时性要求。D-SIX本身的仿真结构是最新软件技术的成果。D-SIX软件环境为用户提供了完整的飞行仿真和模拟器的开发环境,同时D-Six开发环境和功能也可以由用户来配置,用户可以替换所有的主要的仿真引擎组件。总体框图、运动方程、大气模型——任何仿真元素都有可以轻松的通过替换D-SIX基本函数实现相互调用,换成用户自己的或者第三方的组件。在这种方式下,D-SIX软件工具环境就可以方便地集成从总体框图到训练器模型、内嵌数据查表到六自由度模型的各种类型及各种规模的继承(legacy)代码或其他仿真组件的引入。软件的基本仿真内核采用完全的非线性、非对称的6自由度运动方程,四元素角运动积分算法采用龙格-库塔RUNGE KUTTA 法,软件提供的一个标准大气模型提供描述大气影响。只要用户需要,所有的这些模型元素都可以按照用户的要求通过模块访问注释来替换。
3.2 基于PC DirectX窗口的工程图形
D-Six最初通过两种硬件方式支持座舱外的视景显示,一是基于如,P10, Piranha, Barracuda等的 PC 3D图卡,二是通过和外部的图形发生器(IG)如SGI、Evans and Sutherland的接口实现,由于成本和集成的复杂性部分的限制了这些视景功能的应用。
在硬件图卡发展的基础上,D-Six提供了针对图卡优化的Windows接口,在其基本开发环境加入中提供了接口图标icon。这样,在一个仿真工程中,只要在屏幕上调用该接口就可以实现飞行员看到的窗外场景。
通过显示器或投影仪实现外部视景的全屏模式。采用这种模式可以实现更复杂的图形显示,如导入DEM(National Geologic Survey Digital Elevation Measurement)数据生成地形。
另一个特征是采用Windows98实现多显示器监视,Windows最多可以支持9个图形适配器,这样通过硬件扩展,可以满足不同用户在仿真监视方面的要求。
3.3 图形化的模型数据库编辑和处理界面
D-Six为用户定义的数据提供了查表和插值功能。在D-Six的图形化界面中,用户可以仿真过程中非常灵活地动态处理各种定制的数据或函数。此外,D-Six为其独特的查表算法建立了高效的数据结构,保证了在处理复杂的工程计算和训练仿真的实时性(PC平台),表格数据以二进制或ASCII码的格式导入D-Six内直观的基本数据格式,仿真数据的维数(独立变量)不受限制,每个函数以“堆栈”的方式内嵌到D-Six的二维表页中。这种方便的格式意味着所有的独立变量和数据文件可以方便的编辑,或者以ASICC码文本文件输入到其他商业化的电子数据表格和数据库软件,如:EXCEL、ACCESS和notepad等。
Aeroport tool还为导入用户已有的数据文件提供了专门的工具模块,它不仅能把用户数据转换成D-Six格式,还能生成相关变量结构作为作为infofile信息文件接口。
3.4 用于集成外部硬件或用户软件的通讯输入/输出设备(IOD)接口
Bihrle开发了输入输出设备(IOD)接口,用户可以直接使用该接口接入仿真中的外部硬件设备或第三方软件,这种可配置的接口提供了复杂的IO控制器,实现与其他设备及硬件的仿真交互。该接口的细节描述非常复杂,但概括起来,它可以通过无以比拟的图形化控制接口,将D-Six输出变量映射(mapping)到其他的硬件或软件中,同时将其他硬件输出映射(mapping)到D-Six环境中。D-Six开发的许多完整仿真模型/系统一般都需要从外部设备的输入控制,如控制杆、开关、键盘等。 除了控制D-Six仿真模型,这些设备还要与D-Six模型以及D-Six加载的其他各种模块间通信, 比如,用户需要通过操纵杆上的开关控制D-Six的图形显示,或者,嵌入的可视化软件模块需要输入D-Six仿真模型的位置控制偏差以调整其显示画面等。D-Six提供的I/O设备满足了这种需求。
D-Six的IOD接口包含三个独立组件:设备、事件和数据通道。
3.5 强大的Scripting引擎,D-SIX脚本接口
D-Six提供了一个强大的脚本接口,用户可以使用任何一种通用的脚本语言,例如VBScript, JavaScript 等执行从一个脚本命令、命令行或是脚本文件。因为这个功能,用户可以方便地加载项目、设置初始条件、运行仿真、保存数据、和输出数据到第三方软件产品(如EXCEL和MATLAB),执行自动测试、分析和文档报告生成。
D-SIX的脚本功能不止如此,D-SIX的Scripting可以实现对MATLAB的无缝访问、仿真项目的初始化、发送和接受数据、执行任何MATLAB的函数调用,使得用户在运行D-Six的同时还可以对仿真数据进行分析。
3.6 全面的仿真、飞行测试分析工具和画图界面
由于飞行参数可视化的重要性,D-SIX提供了非常全面的图形测试和分析工具。其中的仿真/飞行绘图界面,允许用户对当前的或是任何之前保留的仿真过程或结果进行绘图(D-SIX允许用户在本地内存中保留不限制数量的运行数据用于做比较)。这种高灵活性的画图界面使得用户可以在桌面上建立和保留不限制数量的画图模板。因此任何一个本地飞行(或输入的飞行)都可以随时被提供。这种能力使得用户可以通过按照自己的要求配置的数据类型去描述大量的数据图形。而且用户可以把自己的数据设置格式设入模板,以供随时调用。
D-Six画图界面是可配置的,它允许用户建立各种分析图和显示图。每个画图窗口可以动态显示到16组图,每组图可以代表不同数量的数据。每组图的结构样式可以按照用户的要求定义,大量的图类型、标签和配置变量可以被调用并定制。为了方便调用这些画图参数,D-Six提供了丰富用户接口。这些设置都被保存在模板中,以后无需重新配置。
飞行测试输入和分析接口工具为访问和分析飞行测试数据提供了一个功能强大的接口工具。这个工具使用户可以输入大量的现行的飞行数据格式用于政府或者工业用飞行测试中心。
3.7 模型超级驱动接口(ovedrive interface,如飞行记录、在线实验、计算等数据源)
模型超级驱动接口使用户可以通过飞行或其他数据来源(如,其他的仿真输出)来驱动飞行器状态。在这种方式下,产生了一个全部系数数据的时间关系曲线图,并伴随着所有组成部分数据的时间关系曲线图。如下图所示,

飞行数据的空气动力学所力和力矩系数条件也被提取了,从而导致了被传播的仿真输出和萃取的飞行条件之间的直接比较。这种方式不用任何状态的积分,仿真输出预报直接源自已经义的功能基础之上的图表输出。在这种方式下,时间推进的同时没有误差累计,只有在相同时间和相同状态条件下的预报飞机系数数据之间的比较。
这种直接的比较技术使用户可以快速的识别导致模型和飞行数据偏差的条件,并通过D-SIX其他的数据处理工具,动态的编辑和检查模型更新的效应。因为没有积分,超级驱动工具overdrive可以快速处理大量的飞行数据。更进一步,超级驱动功能可以通过脚本界面进行访问,并允许对测试数据的批处理。
为了加速冗长乏味的将飞行测试变量映射(mapping)成所需的仿真变量的过程,超级驱动工具提供了一个交叉对照界面,以使用户可以图形化映射(mapping)、放大和补偿飞行测试变量为所需的仿真变量。一旦被建立了,这种映射关系就可以被保留用于其他的类似配置文件。更进一步,D-SIX可以不用转换就直接加载大量的飞行测试数据格式,而且如果需要也可以加入附加的飞行数据格式。
3.8 实时虚拟仪器开发接口
D-SIX提供了一个使用户可以通过使用简单的脚本语言建立自己的虚拟仪器的模块。这个工具让用户可以控制前台和后台位图的动作,建立各种刻度表盘、滑块、开关和灯的动作。这些位图可以由任何一种画图工具画出,也可以来自于实际的的数码照片。用户再加入运动组件的位图,例如针,然后将D-Six计算的变量按比例对应成该位图的旋转或平移运动。IOD接口提供了虚拟仪器的关联命令(函数),使用户可以在图形化的界面下的保存(映射)和编辑虚拟仪器变量的连接。并且,这种显示可以被设想为一种由用户设置的开关功能 通过点击鼠标或是触摸显示屏按键,在IOD接口的事件组件中可以生成一个新的状态变量。 |