主要内容

使用飞行模拟器界面

简介

使用本节了解如何使用FlightGear飞行模拟器和Aerospace Blockset™软件来可视化您的Simulink金宝app®飞机模型。如果您还没有安装FlightGear,请参阅飞行模拟器界面第一。

金宝app在KSFC的着陆照明弹中驱动HL-20模型

关于飞机几何模型

在您可以可视化您的飞机动力学之前,您需要创建或获取与FlightGear兼容的飞机模型文件。本节将解释如何做到这一点。

飞机几何编辑器和格式

FlightGear支持的超过12种3-D几何文件格式可供您选择。金宝app

目前,最流行的3-D几何文件格式是AC3D格式,其后缀为* .ac.AC3D是一个低成本的几何编辑器www.ac3d.org

飞机型号结构和要求

飞机模型包含在FlightGearRoot/ /数据/飞机文件夹和子文件夹。一个完整的飞机模型必须包含一个文件夹链接到所需的文件命名模型-set.xml

所有其他模型元素都是可选的。这是一个可选元素的部分列表,你可以放在一个飞机数据文件夹:

  • 车辆物体及其形状和颜色

  • 车辆物体的表面位图

  • 可变几何描述

  • 座舱仪表三维模型

  • 与事件相关的车辆声音(例如,发动机、齿轮、风的声音)

  • 飞行动力学模型

  • 模拟器的观点

  • 与车辆相关联的子模型(独立可移动的项目)

当没有使用这些元素时,模型行为将恢复为默认值。例如,

  • 默认声音:不发出车辆相关声音。

  • 默认仪表板:没有显示任何仪器。

模型可以包含上面的一些元素、全部元素,甚至不包含任何元素。如果你总是从驾驶舱视图运行FlightGear,飞机的几何形状通常是次要的仪器几何形状。

FlightGear文档中包含了一个如何包含可选元素的文档:

所需飞行动力学模型规范

飞行动力学模型(FDM)规范是飞机模型的必备要素。要将Simulink软金宝app件设置为给定几何模型的飞行动力学模型数据流的源,请输入这一行数据/飞机/模型/模型-set.xml

< / flight model < flight model >网络>

获取和修改现有的飞机模型

您可以通过引用现有FlightGear模型中的乐器、声音和其他可选元素,从头开始快速构建模型。这些模型提供了几何、动态、仪器、视图和声音的示例。复制一个飞机文件夹到一个新名称,重命名模型-set.xml文件,修改为网络飞行动力学,然后运行FlightGear飞机标志设置为中的名称模型-set.xml

许多现有的三维飞机几何模型可用于FlightGear。的下载区https://www.flightgear.org去看一些可用的飞机模型。其他模型可以通过网络搜索获得。搜索关键字,如“飞行齿轮飞机模型”是一个很好的起点。在分发这些文件时,请确保遵守版权。

飞机几何绘制的硬件要求

在创建自己的几何文件时,请记住,您的显卡可以有效地渲染有限数量的表面。一些卡片可以有效地以每秒30帧的名义速率渲染少于1000个带有位图和镜面反射的表面。其他卡片可以很容易地渲染10,000个表面。

如果在使用特定几何图形时性能变慢,可以通过改变飞机模型表面的数量来衡量几何复杂性对图形性能的影响。检查这一点的一个简单方法是用一个简单的形状替换整个飞机几何文件,比如一个三角形,然后用这个更简单的几何测试FlightGear。如果一个几何文件过于复杂,无法平滑显示,请使用3-D几何编辑器通过减少几何图形中的表面数量来简化模型。

使用飞机几何模型

一旦您获得、修改或创建了飞机数据文件,您需要将其放在正确的文件夹中,以便FlightGear访问它。

导入飞机模型到FlightGear

要在FlightGear中安装兼容的模型,请使用以下步骤之一。选择一个适合您的平台的。本节假设您已阅读安装并启动FlightGear

如果你的平台是Windows:

  1. 转到已安装的FlightGear文件夹。打开数据文件夹,然后飞机文件夹:\ \ FlightGear \ \数据飞机

  2. 创建子文件夹模型这里提供您的飞机数据。

  3. 模型-set.xml在那个子文件夹中,加上任何其他需要的文件。

    通常的做法是为车辆几何文件(模型\ \)、仪器(\仪器\)和声音(听起来\ \).

如果你的平台是Linux:

  1. 转到已安装的FlightGear目录。打开数据目录,然后飞机目录:FlightGearBaseDirectory美元/ /数据/飞机

  2. 创建子目录模型/这里有你的飞机数据。

  3. 模型-set.xml在那个子目录下,再加上其他所需的文件。

    通常的做法是为车辆几何文件(/模型/)、仪器(/工具/)和声音(/声音/).

如果你的平台是Mac:

  1. 打开终端。

  2. 转到已安装的FlightGear文件夹。打开数据文件夹,然后飞机文件夹:

    FlightGearBaseDirectory美元/ FlightGear.app /内容/资源/数据/飞机/
  3. 创建子文件夹模型/这里有你的飞机数据。

  4. 模型-set.xml在那个子文件夹中,加上任何其他需要的文件。

    通常的做法是为车辆几何文件(/模型/)、仪器(/工具/)和声音(/声音/).

示例:动画车辆几何图形

这个例子说明了如何为动画元素(如车辆控制面和起落架)准备铰链线定义。要启用动画,每个元素必须是几何文件中的命名实体。所得到的代码形成中所示HL20提升体模型的一部分使用FlightGear运行HL-20示例

  1. FlightGear几何模型中使用的标准身体坐标形成一个右手系统,从标准身体坐标系中旋转Y到-180度:

    • X=正面朝向车辆后部

    • Y正朝着车辆的右侧

    • Z=正的是向上的,例如,轮子通常是最低的Z值。

    看到关于航空航天坐标系欲知详情。

  2. 在body坐标中找到位于所需命名对象铰线上的两个点,并将它们记为XYZ或者放到MATLAB中®计算如下:

    A = [2.98, 1.89, 0.53];B = [3.54, 2.75, 1.46];
  3. 计算两点之差:

    Pdiff = b - a Pdiff = 0.5600 0.8600 0.9300
  4. 铰链点是步骤2中的任意一个点(或如图所示的中点):

    Mid = a + pdiff/2 Mid = 3.2600 2.3200 0.9950
  5. 把铰链点放入动画范围内模型-set.xml

    3.26 <中心> < x m > < / x m > < y m > 2.32 < / y m > < z-m > 1.00 < / z-m > < /中心>
  6. 使用步骤3的差值来定义动画轴上的相对运动向量:

    x 0.56 x <轴> < > < / > < y > 0.86 < / y > < z > 0.93 z < / > < > /轴
  7. 将这些步骤放在一起,以获得HL20示例模型中使用的完整铰链线动画:

    <动画> rotate RightAileron / plane -positions/right-副翼- poss -norm 30 0 
    3.26 2.32 1.00
    0.56 0.86

运行FlightGear金宝app模型

运行飞机的Simu金宝applink模型,并同时在FlightGear中使用飞机数据文件进行动画模型-set.xml,您需要配置飞机数据文件,并使用一些新的块修改Simulink模型。金宝app

以下是连接和使用FlightGear与Simulink软件的主要步骤:金宝app

在飞机数据文件中将飞行动力学模型设置为网络

请务必:

  • 从飞机数据文件中删除任何预先存在的飞行动力学模型(FDM)数据。

  • 在飞机数据文件中,通过添加这一行来表明其FDM正在从网络中传输:

    < / flight model < flight model >网络>

获取目的IP地址

您需要Simulink模型的目标IP地址,以便将其飞行数据流传输到FlightGear。金宝app

  • 如果你知道你的计算机名,在MATLAB命令行输入:

    java.net.InetAddress.getByName(“www.tatmou.com”)
  • 如果您在同一台计算机上运行FlightGear和Simulink软件,请通过金宝app在MATLAB命令行输入获取计算机名称:

    java.net.InetAddress.getLocalHost
  • 如果你在Windows系统下工作,在DOS提示符下输入你的电脑IP地址:

    ipconfig /所有

    检查结果输出中的IP地址条目。每个以太网设备有一个条目。

创建一个FlightGear运行脚本

要以所需的初始条件(位置、日期、时间、天气、运行模式)启动FlightGear,最好创建一个运行脚本使用生成运行脚本块使用FlightGear提供的接口

如果您为打算链接到FlightGear的每个模型制作单独的运行脚本,并将它们放在单独的目录中,请在启动Simulink模型之前从MATLAB接口运行适当的脚本。金宝app

使用生成运行脚本块。创建运行脚本的最简单方法是使用生成运行脚本块。请使用以下步骤:

  1. 打开飞行模拟器接口子库。

  2. 创建一个新的Simulin金宝appk模型或打开一个现有的模型。

  3. 将生成运行脚本块拖到Simulink图中。金宝app

  4. 双击生成运行脚本块。对话框打开。观察这三个窗格,FlightGear网络,文件

    生成运行脚本块

  5. 输出文件名参数。文件选项卡,键入输出文件的名称。这个名称应该是您想要使用这些初始参数启动FlightGear的命令的名称。使用适当的文件扩展名:

    平台 扩展
    窗户® 。bat
    Linux®而且macOS . sh

    例如,如果您的文件名是runfg.bat,使用runfg命令执行运行脚本并启动FlightGear。

  6. FlightGear基本目录参数。文件选项卡,指定FlightGear安装文件夹的名称。

  7. FlightGear几何模型名称参数。文件选项卡中,指定子文件夹的名称FlightGear/数据/飞机文件夹,包含所需的模型几何图形。

  8. 根据需要指定初始条件。

  9. 单击生成脚本按钮的顶部参数区域。

    space Blockset软件生成运行脚本,并将其保存在MATLAB工作文件夹中指定的文件名下文件>输出文件名字段。

  10. 选中或清除这些复选框和

    • 要指导FlightGear在模拟器运行时自动安装所需的景物-选择在模拟过程中安装FlightGear布景(需要互联网连接).对于Windows系统,在启动启用此选项的FlightGear时可能会遇到错误消息。有关更多信息,请参见安装额外的FlightGear布景

    • 禁用FlightGear着色器选项-选择禁用FlightGear着色器选项

  11. 如果需要,重复步骤5到10生成其他运行脚本。

  12. 点击好吧关闭对话框。您不需要使用Simulink模型保存“生成运行脚本”块。金宝app

生成运行脚本块将运行脚本保存为工作文件夹中的文本文件。这是一个运行脚本文件内容的例子:

>> cd C:\应用程序\FlightGear- >> SET FG_ROOT=C:\应用程序\FlightGear-\data >> cd \bin\ >> fgfs -飞机=HL20 -fdm=网络,本地主机,5501,5502,5503 -雾-fast -disable-clouds -start-date-lat=2004:06:01:09:00:00 -disable-sound -in-air -enable-freeze -airport=KSFO -跑道=10L -高度=7224 -heading=113 -offset-distance=4.72 -offset- azuth =0

使用FlightGear提供的接口。FlightGear启动器GUI (FlightGear的一部分,而不是Aerospace Blockset产品)允许您将简单和高级选项构建到可见的FlightGear运行命令中。

开始FlightGear

如果您的计算机有足够的计算能力同时运行Simulink软件和FlightGear,在Windows系统上启动FlightGear金宝app的一个简单方法是创建一个MATLAB桌面按钮,包含以下命令来执行类似于上面创建的运行脚本:

系统(“runfg &”)

创建一个桌面按钮。

  1. 在MATLAB命令窗口中,选择快捷键并点击新快捷方式.的快捷键编辑器对话框打开。

  2. 设置标签回调类别,图标如下图所示。

  3. 点击保存

    FlightGear按钮出现在MATLAB桌面中。如果单击它,输出文件,例如runfg.bat,在当前文件夹中运行。

一旦你完成了设置,启动FlightGear并运行你的模型:

  1. 确保你的模型在一个可写文件夹中。打开模型,并更新图。这一步确保编译了所有引用的块代码,并且在运行之前编译了块图。一旦你启动FlightGear,它会在运行时使用所有可用的处理器电量。

  2. 单击FlightGear按钮或手动运行FlightGear运行脚本。

  3. 当FlightGear启动时,它在运行脚本中指定的初始坐标处显示初始视图。如果您在不同的计算机上运行Simulink软件金宝app和FlightGear,请安排同时查看两个显示器。

  4. 现在开始模拟并在FlightGear中查看动画。

提高性能

如果您的Simu金宝applink模型很复杂,不能以可视化所需的总速度运行,则可能需要这样做

  • 在Simulink中使用加速模式(金宝app执行加速度.)

  • 通过在一台计算机上运行Simulink模型和在另一台计算机上运行FlightG金宝appear来释放处理器的能量。使用目的IP地址参数。发送net_fdm包到FlightGear块指定FlightGear正在运行的计算机的网络地址。

  • 首先模拟Simulink模金宝app型,然后保存结果翻译(x设在,y设在,z-axis)和位置(纬度,经度,高度),并使用FlightGear动画对象航空航天工具箱为了可视化这些数据。

提示

如果FlightGear使用的计算机资源比您想要的多,您可以将其调度优先级更改为较低的优先级。例如,参见Windows之类的命令开始和Linux不错的或者它们的等价物。

运行FlightGear和金宝app不同电脑上的软件

可以在一台计算机(源)上的Simulink环境中模拟一个航空航天系统,并使用其模拟输出在另一台计算机(目标)金宝app上对FlightGear进行动画。这些步骤与已经解释过的步骤类似,只是做了一些修改。

  1. 获取运行FlightGear的计算机的IP地址。看到获取目的IP地址

  2. 中输入此目标计算机的IP地址发送net_fdm包到FlightGear块。看到发送Sim金宝appulink数据到FlightGear

  3. 更新生成运行脚本块在你的模型与目标计算机FlightGear基本文件夹。重新生成运行脚本以反映目标计算机的独立标识。

    看到创建一个FlightGear运行脚本

  4. 将生成的运行脚本复制到目标计算机。在那里启动FlightGear。看到开始FlightGear

  5. 如果您也想从FlightGear接收数据,请使用从FlightGear接收net_ctrl包块。中输入运行FlightGear的计算机的IP地址源IP地址参数。

  6. 更新接收数据的运行脚本。使用生成运行脚本块重新生成运行脚本。

  7. 在源计算机上启动Sim金宝appulink模型。FlightGear在目标上运行显示模拟运动。

使用FlightGear运行HL-20示例

Aerospace Blockset软件包含HL-20升降体的示例模型,该模型使用FlightGear接口和投影。这个例子说明了Aerospace Blockset软件的许多特性。它还包含一个Variant Subsystem块,您可以使用该块为模拟指定数据源。你可能想要使用变体子系统块来改变地形数据源,或者如果你不想使用FlightGear,但仍然想要模拟模型。

若要在尝试模拟此模型之前安装和配置FlightGear,请参见飞行模拟器界面.此外,在尝试模拟此模型之前,请阅读安装并启动FlightGear

请注意

本例的第2步复制HL-20模拟的预配置几何图形projectroot\金宝app支持FlightGear\ \ data \飞机.它要求您拥有计算机的系统管理员权限。如果您没有这些权限,请手动复制这些文件,具体取决于您的平台。

窗户

复制HL20文件夹的projectroot\金宝app支持文件夹FlightGear\ \ data \飞机文件夹中。此文件夹包含HL-20模拟的预配置几何图形和HL20-set.xml.该文件projectroot\金宝app \ HL20 \ \ HL20.xml模型的支持定义几何图形。

对于Windows平台,使用管理员权限启动MATLAB应用程序。例如,在开始菜单中,右键单击MATLAB应用程序,然后选择以管理员身份运行

有关更多信息,请参见导入飞机模型到FlightGear

Linux

复制HL20目录的projectroot/金宝app支持目录FlightGearBaseDirectory美元/ /数据/飞机目录中。此目录包含HL-20模拟的预配置几何图形和HL20-set.xml.该文件projectroot/金宝app支持/ HL20 /模型/ HL20.xml定义几何图形。

有关此步骤的更多信息,请参见导入飞机模型到FlightGear

Mac

复制HL20文件夹的projectroot/金宝app支持文件夹FlightGearBaseDirectory美元/ FlightGear.app /内容/资源/数据/飞机/文件夹中。此文件夹包含HL-20模拟的预配置几何图形和HL20-set.xml.该文件projectroot/金宝app支持/ HL20 /模型/ HL20.xml定义几何图形。

有关此步骤的更多信息,请参见导入飞机模型到FlightGear

  1. 启动MATLAB界面。通过输入打开示例asbhl20在MATLAB命令窗口或通过在航空航天块集示例页面中找到示例条目(HL-20与FlightGear接口)。模型的项目启动,模型打开。

  2. 如果这是您第一次为该模型运行FlightGear,则需要创建并运行自定义的FlightGear运行脚本。你可以用以下方法之一来做到这一点:

    • 在模型中,双击Install FlightGear块并按照块中的步骤操作。最初,这个方块是红色的。当您按照块中列出的步骤执行时,块掩码会发生变化。

      要启动模型的FlightGear,单击在FlightGear中发射HL20

  3. 现在开始模拟并在FlightGear中查看动画。

请注意

与FlightGear窗口在焦点,按V关键是在不同的飞机视图之间交替:驾驶舱视图,直升机视图,追击视图,等等。

发送和接收数据

您可以在Simulink模型和运行中的FlightGear飞行模拟器之间发送和接金宝app收数据。

发送金宝app数据到FlightGear

将您的模型与FlightGear与块集连接的最简单方法是使用FlightGear预配置6DoF动画布洛克:

FlightGear预配置6DoF动画块是包含FlightGear包net_fdm包而且发送net_fdm包到FlightGear块:

这些块将数据从模型传输到FlightGear会话。这些块是分开的,以获得最大的灵活性和兼容性。

  • FlightGear包net_fdm包block从模型输入格式化与FlightGear兼容的二进制结构。在默认配置中,块只显示6DoF端口,但您可以配置完整的FlightGear接口,从块对话框中支持超过50个不同的信号:金宝app

  • 发送net_fdm包到FlightGearblock将这个数据包通过UDP传输到指定的IP地址和端口,在那里FlightGear会话等待一个传入的数据流。用你找到的IP地址获取目的IP地址

  • 仿真速度Block减慢模拟速度,使其总运行速率为1秒模拟时间/ 1秒时钟时间。还可以使用它指定模拟时间与时钟时间的其他比率。

发送FlightGear数据到模型

为了提高模型模拟的准确性,可能需要将FlightGear环境变量发送到Simulink模型。金宝app使用以下方块:

有关如何使用这些块向Simulink模型发送数据的示例,请参见金宝appHL-20项目可选FlightGear接口

这些块使用UDP将数据从FlightGear传输到Simulink环境。金宝app注意事项:

  • 当主机和目标为Windows或Linux平台时,可以为主机和目标使用Windows或Linux平台的任意组合。

  • 当主机或目标为Mac平台,仅供使用Mac主机和目标平台。

另请参阅

|||||

相关的话题

外部网站