基于NI Veristand, Simulink® 和 Flightgear的飞行仿真
l 系统要求
软件:VeriStand,MATLAB
操作系统:LabVIEW Real-Time (NI Linux Real-Time),Windows
其他:FlightGear
本文将介绍飞行仿真系统,并演示如何基于 NI VeriStand、MathWorks® Simulink® 以及 FlightGear 构建飞行仿真系统。该系统涉及飞机及其建模的相关技术知识,本文不对其进行详细探讨。
民用飞机具有庞大的结构、高制造精度、高技术难度以及复杂的研发过程,是一项大型复杂的系统工程。民用飞机的生产融合了众多基础学科和新兴技术,并具有品种多样、批量小、周期长及定制化的特点。随着科技的发展,民用飞机对可控性、安全性等各项性能指标的要求不断提高。在确保性能指标的同时,缩短设计与研发周期已成为民用飞机发展过程中难以逾越的技术难题。为了解决这一技术瓶颈,数字化、网络化、智能化已成为民用飞机研发转型升级的重要手段。飞行仿真系统作为强大的设计工具,被广泛应用于飞机研发的各个阶段,并已成为不可或缺的技术手段。
飞行仿真系统的作用取决于具体的仿真设备。它可以执行全数字飞行仿真,通过准确预测系统、子系统和组件的行为,有助于及早发现问题并优化设计。为了大幅缩短与飞机相关任务的研发周期、降低飞行试验的风险,还可以加入真实组件或子系统,进行整机的硬件在环(HIL)飞行仿真,从而有效定义、确认和验证系统、子系统及组件的需求。此外,还可以集成可视化仿真与评估系统,在地面再现空中可能发生的故障,并对其进行分析与解决,使飞行员能够在地面接受系统培训,以提高应对空中故障的能力。
l 搭建软件环境
- 在计算机上安装与当前版本 NI VeriStand 兼容的 MathWorks® Simulink®。兼容性信息可在 VeriStand Modeling Version Compatibility 中查阅。
- 根据不同的操作系统安装正确的编译器,以创建编译后的模型(DLL 模型请参考 Compiling a Model from The MathWorks, Inc. Simulink® Software,FMI 模型请参考 Generating FMI Models from The MathWorks®, Inc. Simulink® for NI VeriStand)。
- 下载 FlightGear、飞机文件及 FGFS Scenery 文件以进行可视化显示。按照安装向导安装 FlightGear,将飞机模型文件解压至安装目录下的 data\Aircraft 子目录,将场景文件放入 data\Scenery 子目录。更多详情请参考 [外部链接] Installing FlightGear 2018。
l 建立飞行仿真模型
飞行仿真系统由 飞机模型、飞行控制器、动力模型、起落架模型、作动器模型和环境模型组成。

为每个模型定义接口,并使用 MathWorks® Simulink® 构建这些仿真模型。以下是姿态控制器、飞机模型和气动模型。每个模型都需要专业的建模和飞机相关技术知识。Aerospace Blockset 可以提供帮助,或者如果你熟悉建模和飞机,可以完全自行构建所有模型。

从 MathWorks® Simulink® 为 NI VeriStand 编译并生成模型。请参考 Compiling a Model from The MathWorks, Inc. Simulink® Software 以生成 DLL 模型,或参考 Generating FMI Models from The MathWorks®, Inc. Simulink® for NI VeriStand 以生成 FMI 模型。
l 在Veristand中进行飞行仿真
- 将 DLL 模型或 FMI 模型导入到 NI VeriStand 中,具体操作请参考 Adding and Configuring a Model。
- 根据飞行仿真系统的结构,在 Configure Mappings 中配置不同模型之间的交互。

- 在 NI VeriStand 中设计工作区,以观察飞行仿真系统所需的状态和结果。具体操作请参考 Running the VeriStand Workspace。

l FlightGear中的视景呈现
通过命令行文件启动 FlightGear。该文件中应定义特定的飞机、场景、IP 地址和端口。详细命令请参考 Flying with FlightGear – The FlightGear Manual。
C:
cd C:\Program Files\FlightGear 2018.3.6
SET FG_ROOT=C:\Program Files\FlightGear 2018.3.6\data
.\\bin\fgfs --aircraft=A320-211 --fdm=network,localhost,5502,udp --fog-disable --disable-clouds --time-match-local --disable-sound --in-air --enable-freeze --airport=KSFO --runway=10L --altitude=7224 --heading=113 --offset-distance=4.72 --offset-azimuth=0
运行启动文件后,可以通过按<v>键或拖动右键鼠标来改变视角。
如无法确定UDP 5502端口是否工作,可以使用Wireshark软件进行监视和查看端口数据。

下载 FlightGear Interface Custom Device 并解压源文件。 使用 LabVIEW 打开源文件,并根据 NI VeriStand 的版本和安装路径,修改配置文件和引擎文件的 Destination Directory。

右键点击 Build specification,然后选择 Build All。

编译完毕,需重新启动Veristand,然后才能将 FlightGear Interface Custom Device 添加到 NI VeriStand 中,具体操作请参考 Adding and Configuring a Custom Device。 为该自定义设备配置 FlightGear 目标 IP 地址和端口。若Veristand模型与Flightgear都在同一台计算机运行,此IP可配置为127.0.0.1

- 将输入映射到自定义设备,使用模型的输出: -Airspeed -Altitude -Latitude -Longitude -Phi -Psi -Theta。请注意,这里的自定义设备的变量是用于接收输入参数,这些参数将通过UDP 5002端口输出给Flightgear系统。
- 在 NI VeriStand 中部署并运行飞行仿真项目。
有一个针对 A320 三自由度姿态仿真的示例。该示例基于飞机以恒定速度和高度飞行的情境构建。

部署并运行该项目。可以在 NI VeriStand 中观察状态和结果,同时在 FlightGear 中显示飞机的动画。

Refernence:
- NI, https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YJ3HCAW&l=zh-CN
- www.researchgate.net, https://www.researchgate.net/publication/233815721_Design_and_Implementation_of_Flight_Visual_Simulation_System/fulltext/02df856a0cf2780abbb6b09e/Design-and-Implementation-of-Flight-Visual-Simulation-System.pdf
- NI, https://forums.ni.com/t5/Example-Code/Running-Compiled-Simulink-Models-in-LabVIEW-and-in-VeriStand/ta-p/3889270?profile.language=zh-CN
- NI, https://www.ni.com/docs/en-US/bundle/veristand/page/use-models-simulink.html
- https://www.researchgate.net/publication/233815721_Design_and_Implementation_of_Flight_Visual_Simulation_System