与飞行模拟器接口
介绍
使用本节学习如何使用FlightGear飞行模拟器和航空航天Blockset™软件可视化仿真软件万博1manbetx®飞机模型。如果您尚未安装FlightGear,明白了飞行模拟器接口第一。
万博1manbetx在着陆耀斑KSFC HL-20驱动模型
关于飞机的几何模型
你可以想象你的飞机动力学之前,您需要创建或获取飞机模型文件与FlightGear兼容。本节解释如何做到这一点。
飞机几何编辑和格式
你有竞争力的选择超过12 3 d几何FlightGear支持的文件格式。万博1manbetx
目前,最流行的3 d几何图形文件格式是AC3D格式,后缀* .ac
。AC3D是低成本可以从几何编辑器https://www.inivis.com
。
飞机模型结构和需求
飞机模型是包含在FlightGearRoot
/ /数据/飞机
文件夹和子文件夹。一个完整的飞机模型必须包含一个文件夹链接通过所需的文件命名模型
-set.xml
。
所有其他模型元素都是可选的。这是一个可选元素的部分列表你可以放在飞机数据文件夹:
车辆对象和它们的形状和颜色
车辆对象的表面位图
变量几何描述
驾驶舱仪器三维模型
车辆的声音将事件(如发动机、齿轮、风噪声)
飞行动力学模型
模拟器的观点
子(独立可移动项目)与车辆有关
这些元素模型行为恢复默认值不习惯。例如,
默认的声音:不vehicle-related声音发出。
默认仪表盘:不显示工具。
模型可以包含一些,所有,甚至以上的元素。如果你总是运行FlightGear从驾驶舱看,飞机几何通常继发于几何图形工具。
入门文档,包括可选的元素包含在FlightGear文档:
需要飞行动力学模型规范
飞行动力学模型(FDM)规范是一个必需的元素,一个飞机模型。设置仿真软件软件作为源万博1manbetx数据流的飞行动力学模型对于一个给定的几何模型,你把这条线数据/飞机/
模型
/
模型
-set.xml
:
< flight model > < / flight model >网络
获取和修改现有的飞机模型
您可以快速从头构建模型通过引用乐器,声音,和其他可选元素从现有FlightGear模型。这样的模型提供了几何学的例子,动力学,乐器,观点,和声音。是简单的飞机文件夹复制到一个新名字,重命名模型
-set.xmlfile
网络飞行动力学修改它,然后FlightGear与运行飞机
国旗的名字模型
-set.xml
。
许多现有的3 d飞机几何模型与FlightGear可供使用。访问的下载区域https://www.flightgear.org看到一些可用的飞机模型。通过网络搜索可以获得额外的模型。搜索关键字,如“飞行装备飞机模型”是一个很好的起点。一定要遵守版权时分发这些文件。
硬件要求飞机几何渲染
在创建自己的几何图形文件时,请记住,你的显卡可以有效地呈现一个有限数量的表面。一些卡片可以有效地渲染少于1000位图和镜面反射表面以每秒30帧的名义汇率。其他卡可以很容易地渲染的10000的表面。
如果你的业绩放缓,同时使用一个特定的几何、测量几何复杂性对图形性能的影响通过改变飞机模型表面的数量。一个简单的方法来检查这是取代完整的飞机文件用一个简单的几何形状,如一个三角形,然后测试FlightGear简单几何。如果一个几何图形文件太复杂了,光滑的显示,使用3 d几何编辑器来简化模型通过减少几何表面的数量。
使用飞机的几何模型
一旦你获得、修改或创建一个飞机数据文件,你需要把它放在正确的文件夹FlightGear来访问它。
飞机模型导入FlightGear
安装一个兼容的模型转换为FlightGear,使用其中的一个程序。选择一个适合你的平台。本节假设您已经阅读安装和启动FlightGear。
如果你的平台窗口:
去你安装FlightGear文件夹。打开
数据
文件夹,然后飞机
文件夹:\ \ FlightGear \ \数据飞机
。做一个文件夹
模型
在这里\飞机数据。把
模型
-set.xml
在子文件夹,加上需要的任何其他文件。这是常见的做法让车辆几何子目录文件(
模型\ \
)、工具(\仪器\
)和声音(听起来\ \
)。
如果您是Linux平台:
去你安装FlightGear目录。打开
数据
目录,然后飞机
目录:
。FlightGearBaseDirectory美元
/ /数据/飞机做一个目录
模型
/在你的飞机数据。把
模型
-set.xml
在子目录,加上需要的任何其他文件。这是常见的做法让车辆几何子目录文件(
/模型/
)、工具(/工具/
)和声音(/声音/
)。
如果你的平台是麦克:
打开一个终端。
去你安装FlightGear文件夹。打开
数据
文件夹,然后飞机
文件夹:FlightGearBaseDirectory美元/ FlightGear.app /内容/资源/数据/飞机/
做一个文件夹
模型
/在你的飞机数据。把
模型
-set.xml
在子文件夹,加上需要的任何其他文件。这是常见的做法让车辆几何子目录文件(
/模型/
)、工具(/工具/
)和声音(/声音/
)。
例如:动画车辆几何图形
这个例子演示了如何准备枢纽线定义动画元素,如车辆表面和起落架的控制。使动画,每个元素必须是一个几何图形文件中命名实体。生成的代码形式HL20解除身体的一部分模型提出了运行与FlightGear HL-20例子。
标准身体坐标用于FlightGear几何模型形成一个右撇子的系统,从标准的身体旋转坐标系统Y-180度:
X=积极向后面的车辆
Y=积极向右边的车辆
Z=积极起来,例如,轮子通常是最低的Z值。
看到关于航空航天坐标系统为更多的细节。
发现躺在两个点所需的命名的对象铰链身体协调和把它们写下来XYZ三胞胎或放进MATLAB®计算如下:
一个= (2.98,1.89,0.53);b = (3.54, 2.75, 1.46);
计算点的区别:
pdiff = b - pdiff = 0.5600 0.8600 0.9300
的铰链点要么是分步骤2(或中点如下所示):
中期= a +中期pdiff / 2 = 3.2600 2.3200 0.9950
把铰链点动画范围
模型
-set.xml
:<中心> < x m > < / x m > < y m > 3.26 2.32 1.00 < / y m > < z-m > < / z-m > < /中心>
使用从步骤3的区别来定义的相对运动矢量动画轴:
0.56 <轴> < x > < / x > < y > 0.86 < / y > < z > 0.93 < / z > < /轴>
一起把这些步骤以获得完整的枢纽线动画HL20示例中使用的模型:
<动画> <类型> < /类型> <对象名称>旋转RightAileron < /对象名称> <属性> / surface-positions right-aileron-pos-norm < /属性> <因素> 30 < /因素> < offset-deg > 0 < / offset-deg > <中心> < x m > < / x m > < y m > 3.26 2.32 1.00 < / y m > < z-m > < / z-m > < /中心> <轴> < x > < / x > < y > 0.56 0.86 0.93 < / y > < z > < / z > < /轴> < /动画>
运行FlightGear万博1manbetx模型
同时运行的仿真软件万博1manbetx模型飞机和动画在FlightGear飞机数据文件模型
-set.xml
飞机,您需要配置数据文件和修改你的仿真软件模型与一些新的块。万博1manbetx
这些主要步骤与仿真软件连接和使用FlightGear软件:万博1manbetx
设置在飞机飞行动力学模型网络数据文件解释了如何创建你所需要的网络连接。
获得目的地IP地址首先确定FlightGear运行的计算机的IP地址。
Fligh万博1manbetxtGear发送模型数据显示了如何将和连接接口和速度块添加到仿真软件模型。万博1manbetx
创建一个FlightGear运行脚本展示了如何编写一个FlightGear运行脚本兼容仿真软件模型。万博1manbetx
开始FlightGear将指导您完成最后的步骤,使模型与FlightGear软件工作。万博1manbetx
提高性能帮助你加速您的模型。
FlightGear和Simulink万博1manbetx软件运行在不同的计算机上解释了如何连接仿真软件的仿真软件运行在一台计算机FlightGear在另一台计算机上运行。万博1manbetx
设置在飞机飞行动力学模型网络数据文件
一定要:
删除任何已存在的飞行动力学模型(FDM)飞机数据文件的数据。
飞机数据文件中表明它的FDM是流媒体的网络通过添加这一行:
< flight model > < / flight model >网络
获得目的地IP地址
你需要仿真软件模型的目的IP地址流FlightGear的飞行数据。万博1manbetx
如果你知道你的电脑名称,输入MATLAB命令行:
java.net.InetAddress.getByName (“www.tianjin-qmedu.com”)
如果您正在运行FlightGear和Simulink仿真软件在同一台计算机上万博1manbetx,让你的计算机名称输入MATLAB命令行:
java.net.InetAddress.getLocalHost
如果你工作在Windows中,让你的计算机IP地址通过输入在DOS提示符:
ipconfig /所有
检查输出结果中的IP地址条目。每个以太网设备有一个条目。
创建一个FlightGear运行脚本
开始FlightGear所需的初始条件(地点、日期、时间、天气、操作模式),最好是创建一个运行脚本使用生成运行脚本块或使用FlightGear提供的接口。
如果你单独运行脚本为每个模型要链接到FlightGear放在单独的目录,运行相应的脚本从开始前你的仿真软件MATLAB接口模型。万博1manbetx
使用生成运行脚本块。创建一个运行脚本的最简单的方法是使用生成运行脚本块。使用这个过程:
打开飞行模拟器接口子程序库。
创建一个新的模型模型或打开万博1manbetx一个现有的模型。
拖动一个生成运行脚本块的模型图。万博1manbetx
双击生成运行脚本块。其对话框打开。观察三个窗格,FlightGear,网络,文件。
在输出文件的名字参数的文件选项卡上,输入输出文件的名称。这个名字应该命令您希望使用的名称开始FlightGear与这些初始参数。使用适当的文件扩展名:
平台 扩展 窗户® 。bat
Linux®和macOS . sh
例如,如果您的文件名称
runfg.bat
,可以使用runfg
并开始FlightGear命令执行运行脚本。在FlightGear基地目录参数的文件选项卡中,指定FlightGear安装文件夹的名称。
在FlightGear几何模型名称参数的文件选项卡中,指定文件夹的名称,在
FlightGear
/数据/飞机
文件夹,其中包含所需的几何模型。根据需要指定初始条件。
单击生成脚本按钮的顶部参数区域。
航空航天Blockset软件生成运行脚本,并将它保存在你的MATLAB工作文件夹中指定的文件名文件>输出文件的名字字段。
选择或清除这些复选框
直接FlightGear自动安装模拟器运行时所需的风景——选择安装FlightGear风景在模拟(需要网络连接)。对于Windows系统,您可能会遇到一个错误消息而推出FlightGear启用了这个选项。有关更多信息,请参见安装额外FlightGear风景。
禁用FlightGear材质选择——选择禁用FlightGear材质选择。
重复步骤5至10生成其他运行脚本,如果必要的。
点击好吧关闭对话框。你不需要保存生成与仿真软件模型运行脚本块。万博1manbetx
运行脚本生成运行脚本块保存为一个文本文件在您的工作目录中。这是一个例子的运行脚本文件的内容:
> > cd C: \程序\ FlightGear - < your_FlightGear_version > > >设置FG_ROOT = C: \程序\ FlightGear cd - < your_FlightGear_version > \ data > > \ bin \ > > fgf -飞机= HL20 - fdm =网络,本地主机,5501,5502,5503——fog-fastest disable-clouds——start-date-lat = 2004:06:01:09:00:00禁用声音——空中enable-freeze——机场= KSFO跑道= 10 l -高度= 7224 -标题= 113——偏距= 4.72 offset-azimuth = 0
使用FlightGear提供的接口。FlightGear发射器GUI (FlightGear的一部分,而不是航天Blockset产品)允许您构建简单和高级选项可见FlightGear运行命令。
开始FlightGear
你的计算机是否有足够的计算能力运行仿真软件软件和FlightGear同时,一个简单的方法开始FlightGear在Windows万博1manbetx系统上是创建一个MATLAB桌面按钮包含此命令执行一个脚本运行像上面创建的一个:
系统(“runfg &”)
创建一个桌面按钮:
在MATLAB命令窗口中,选择快捷键并点击新快捷方式。的快捷键编辑器对话框打开。
设置标签,回调,类别,图标如这个图所示。
点击保存。
的FlightGear按钮出现在MATLAB桌面。如果你点击它,例如,输出文件
runfg.bat
,运行在当前文件夹。
一旦您完成设置之后,开始FlightGear和运行您的模型:
确保你的模型是一个可写的文件夹中。打开模型,并更新图。这一步确保任何引用块代码被编译,框图编译之前运行。一旦你开始FlightGear,它使用所有可用的处理器能力虽然它正在运行。
单击FlightGear按钮或手动运行FlightGear运行脚本。
当FlightGear开始,它显示的初始视图中指定的初始坐标运行脚本。如果您正在运行的仿真软件在不同的计算机、软件和万博1manbetxFlightGear安排查看两个显示在同一时间。
现在在FlightGear开始模拟和视图动画。
提高性能
如果你的仿真软件万博1manbetx模型是复杂的,不能运行可视化所需的聚合的速度,您可能需要
在仿真软件中使用加速器模式(万博1manbetx执行加速度。)
释放处理器能力由一台计算机上运行仿真软件模型和FlightGear在另一台计算万博1manbetx机上。使用目的IP地址参数的给FlightGear net_fdm包块指定网络地址的计算机FlightGear正在运行。
首先模拟仿真软件模型,然后万博1manbetx保存结果翻译(x设在,y设在,z设在)和位置(经度、纬度、海拔),并使用FlightGear动画对象航空航天工具箱可视化数据。
提示
如果FlightGear使用计算机资源比你想要的,你可以改变一个较小的调度优先级。例如,看到命令窗口开始
和Linux不错的
或其等价物。
FlightGear运行,万博1manbetx软件在不同的电脑
可以模拟一个航空航天系统在一台计算机仿真软件环境(源),利用其模拟输出动画FlightGear在另一台计算机万博1manbetx上(目标)。的步骤类似于那些已经解释说,与某些修改。
获得FlightGear运行的计算机的IP地址。看到获得目的地IP地址前。
进入这个目标计算机的IP地址给FlightGear net_fdm包块。看到Fligh万博1manbetxtGear发送模型数据前。
更新生成运行脚本块在你的模型与目标计算机FlightGear基地文件夹。重新运行脚本以反映目标计算机独立的身份。
将生成的运行脚本复制到目标计算机。开始FlightGear那里。看到开始FlightGear前。
如果你想也从FlightGear接收数据,使用收到FlightGear net_ctrl包块。输入计算机的IP地址FlightGear在运行源IP地址参数。
接收数据的更新运行脚本。使用生成运行脚本块再生运行脚本。
开始你的仿真软件模型在万博1manbetx源计算机上。FlightGear运行在目标显示仿真运动。
运行与FlightGear HL-20例子
航空航天Blockset HL-20解除身体的软件包含一个示例模型使用FlightGear接口和项目。这个例子说明了航空Blockset软件的许多功能。它还包含一个变体子系统块,您可以使用它来指定数据源的模拟。你可能想要使用变体子系统改变地形数据块源或如果您不想使用FlightGear但仍想模拟模型。
安装和配置FlightGear试图模拟该模型之前,看到的飞行模拟器接口。同时,试图模拟该模型之前,阅读安装和启动FlightGear。
请注意
步骤2本例份HL-20的预配置的几何图形仿真projectroot
\万博1manbetx支持
来FlightGear
\ \ data \飞机
。它要求你为你的机器有系统管理员权限。如果你没有这些特权,手动复制这些文件,根据您的平台。
- 窗户
-
复制
HL20
文件夹的projectroot
\万博1manbetx支持
文件夹FlightGear
\ \ data \飞机
文件夹中。这个文件夹包含HL-20模拟和预配置的几何图形HL20-set.xml
。该文件projectroot
\万博1manbetx \ HL20 \ \ HL20.xml模型的支持
定义了几何。Windows平台上,开始MATLAB应用程序管理员特权。例如,在开始菜单,右键单击MATLAB应用程序,然后选择以管理员身份运行。
有关更多信息,请参见飞机模型导入FlightGear。
- Linux
-
复制
HL20
目录的projectroot
/万博1manbetx支持
目录FlightGearBaseDirectory美元
/ /数据/飞机
目录中。这个目录包含HL-20模拟和预配置的几何图形HL20-set.xml
。该文件projectroot
/万博1manbetx支持/ HL20 /模型/ HL20.xml
定义了几何。更多关于这个步骤,请参阅飞机模型导入FlightGear。
- Mac
-
复制
HL20
文件夹的projectroot
/万博1manbetx支持
文件夹FlightGearBaseDirectory美元
/ FlightGear.app /内容/资源/数据/飞机/
文件夹中。这个文件夹包含HL-20模拟和预配置的几何图形HL20-set.xml
。该文件projectroot
/万博1manbetx支持/ HL20 /模型/ HL20.xml
定义了几何。更多关于这个步骤,请参阅飞机模型导入FlightGear。
MATLAB接口开始。打开HL-20项目可选FlightGear接口的例子。该项目为模型和模型打开开始。
如果这是您第一次运行FlightGear这个模型中,您需要创建并运行一个定制的FlightGear运行脚本。你可以用其中一个:
在模型中,双击安装FlightGear块和遵循的步骤。最初,这一块是红色的。当你遵循中概述的步骤,块面具的变化。
启动FlightGear模型,点击在FlightGear推出HL20。
现在开始模拟和视图FlightGear的动画。
请注意
焦点FlightGear窗口,按下V不同的飞机视图之间的交替的关键:驾驶舱看来,直升机看来,追逐视图,等等。
发送和接收数据
您可以发送和接收数据仿真软件模型和运行FlightGear飞行模拟器。万博1manbetx
发送万博1manbetx数据FlightGear
最简单的方法来连接你的模型与blockset FlightGear是使用FlightGear预配置6自由度动画布洛克:
的FlightGear预配置6自由度动画块包含的一个子系统包net_fdm FlightGear包和给FlightGear net_fdm包块:
这些块传输数据从一个模型到FlightGear会话。块独立的灵活性和兼容性。
的包net_fdm FlightGear包阻止格式兼容FlightGear二进制结构模型的输入。在默认配置中,只会显示6块景深港口,但您可以配置完整的FlightGear接口支持50多个不同的信号块对话框:万博1manbetx
的给FlightGear net_fdm包块通过UDP传输这包指定的IP地址和端口,FlightGear会话等待传入的数据流。你发现在使用IP地址获得目的地IP地址。
的仿真速度块放缓仿真,使其总运行速度是每秒1秒的仿真时间的时钟时间。您还可以使用它来指定其他比例的模拟时钟时间。
发送FlightGear数据模型
增加你的模型模拟的准确性,您可能想要发送FlightGear环境变量仿真软件模型。万博1manbetx使用这些块:
收到FlightGear net_ctrl包——接收数据包网络控制和环境
net_ctrl
从仿真软件的仿真模型FlightGear模拟器,或从Flight万博1manbetxGear会话。从FlightGear解压net_ctrl包——解包net_ctrl变量数据包收到FlightGear,使它们可用于仿真软件环境。万博1manbetx
生成运行脚本——生成一个定制的FlightGear当前平台上运行脚本。
例如如何使用这些模块将数据发送到仿真软件模型,明白了万博1manbetxHL-20项目可选FlightGear接口。
这些块使用UDP传输数据从FlightGear仿真软件环境。万博1manbetx注意:
当一个主机和目标是Windows或Linux平台,您可以使用任何组合的Windows或Linux平台主机和目标。
当主机或目标Mac平台,只使用Mac主机和目标平台。
另请参阅
FlightGear预配置6自由度动画|生成运行脚本|包net_fdm FlightGear包|收到FlightGear net_ctrl包|给FlightGear net_fdm包|从FlightGear解压net_ctrl包