Используйте этот раздел, чтобы узнать, как использовать имитатор полета FlireGear и программное обеспечение Aerospace Blockset™ для визуализации моделей самолетов Simulink ®. Если FlireGear еще не установлен, сначала см. раздел Интерфейс симулятора полетов.
Модель Simulink Driven HL-20 на посадочной факеле в KSFC

Перед визуализацией динамики самолета необходимо создать или получить файл модели самолета, совместимый с FlireGear. В этом разделе объясняется, как это сделать.
Имеется конкурентный выбор из более чем двенадцати 3-D форматов файлов геометрии, поддерживаемых FlireGear.
В настоящее время наиболее популярным форматом файла геометрии 3-D является формат AC3D, имеющий суффикс *.ac. AC3D - недорогой редактор геометрии, доступный из www.ac3d.org.
Модели самолетов содержатся в FlightGearRoot/data/Aircraft/ папка и подпапки. Полная модель самолета должна содержать папку, связанную с требуемым основным файлом самолета с именем model-set.xml.
Все остальные элементы модели являются необязательными. Это частичный список дополнительных элементов, которые можно поместить в папку данных самолета:
Объекты транспортного средства и их формы и цвета
Растровые изображения поверхности объектов транспортного средства
Описания переменной геометрии
Модели 3-D приборов кабины
Звуки транспортного средства, связанные с событиями (например, двигатель, передача, шум ветра)
Модель динамики полета
Виды симулятора
Подмодели (независимо перемещаемые элементы), связанные с транспортным средством
Поведение модели возвращается к значениям по умолчанию, когда эти элементы не используются. Например,
Звук по умолчанию: звуки, связанные с транспортным средством, не излучаются.
Панель приборов по умолчанию: приборы не отображаются.
Модели могут содержать некоторые, все или даже не содержать ни одного из вышеперечисленных элементов. Если всегда запускать FlireGear из вида кабины, геометрия самолета часто является вторичной по отношению к геометрии прибора.
Документ, содержащий инструкции по включению дополнительных элементов, включен в документацию FlireGear по адресу:
Спецификация модели динамики полета (FDM) является обязательным элементом для модели самолета. Чтобы установить программное обеспечение Simulink в качестве источника потока данных модели динамики полета для данной модели геометрии, поместите эту строку в data/Aircraft/model/model-set.xml:
<flight-model>network</flight-model>
Можно быстро создавать модели с нуля, используя ссылки на инструменты, звуки и другие необязательные элементы из существующих моделей FlireGear. Такие модели предоставляют примеры геометрии, динамики, инструментов, видов и звуков. Просто скопировать папку самолета на новое имя, переименовать model-set.xml file, измените его для сетевой динамики полета, а затем запустите FleyGear с помощью –aircraft флаг установлен на имя в model-set.xml.
Многие существующие модели геометрии летательных аппаратов 3-D доступны для использования с FlireGear. Посетите область загрузки https://www.flightgear.org, чтобы увидеть некоторые доступные модели самолетов. Дополнительные модели можно получить с помощью веб-поиска. Ключевые слова поиска, такие как «модель летного аппарата», являются хорошей отправной точкой. При распространении этих файлов обязательно соблюдайте авторские права.
При создании собственных файлов геометрии помните, что графическая карта может эффективно визуализировать ограниченное число поверхностей. Некоторые карты могут эффективно визуализировать менее 1000 поверхностей с помощью растровых изображений и зеркальных отражений с номинальной скоростью 30 кадров в секунду. Другие карты могут легко визуализировать порядка 10000 поверхностей.
Если производительность снижается при использовании определенной геометрии, оцените влияние геометрической сложности на производительность графики путем изменения количества поверхностей модели самолета. Простой способ проверить это - заменить файл полной геометрии самолета простой формой, такой как один треугольник, а затем протестировать FlireGear с этой более простой геометрией. Если файл геометрии слишком сложен для гладкого отображения, используйте редактор 3-D геометрии, чтобы упростить модель, уменьшив количество поверхностей в геометрии.
После получения, изменения или создания файла данных о самолете необходимо поместить его в нужную папку для доступа к нему FlireGear.
Чтобы установить совместимую модель в FlireGear, выполните одну из следующих процедур. Выберите подходящую платформу. В этом разделе предполагается, что вы прочитали Install and Start FlireGear.
Если ваша платформа - Windows:
Перейдите в установленную папку FleyGear. Откройте окно data папку, затем Aircraft папка: \FlightGear\data\Aircraft\.
Создание подпапки model\ here для данных о вашем самолете.
Поместить model-set.xml в этой подпапке плюс любые другие необходимые файлы.
Обычной практикой является создание подкаталогов для файлов геометрии транспортного средства (\model\), приборы (\instruments\) и звуки (\sounds\).
Если ваша платформа Linux:
Перейдите в установленный каталог FleyGear. Откройте окно data каталог, затем Aircraft каталог: .$FlightGearBaseDirectory/data/Aircraft/
Создание подкаталога model/ here для данных о вашем самолете.
Поместить model-set.xml в этой подкаталоге плюс любые другие необходимые файлы.
Обычной практикой является создание подкаталогов для файлов геометрии транспортного средства (/model/), приборы (/instruments/) и звуки (/sounds/).
Если ваша платформа Mac:
Откройте терминал.
Перейдите в установленную папку FleyGear. Откройте окно data папку, затем Aircraft папка:
$FlightGearBaseDirectory/FlightGear.app/Contents/Resources/data/Aircraft/
Создание подпапки model/ here для данных о вашем самолете.
Поместить model-set.xml в этой подпапке плюс любые другие необходимые файлы.
Обычной практикой является создание подкаталогов для файлов геометрии транспортного средства (/model/), приборы (/instruments/) и звуки (/sounds/).
В этом примере показано, как подготовить определения линий шарнира для анимированных элементов, таких как управляющие поверхности транспортного средства и шасси. Чтобы включить анимацию, каждый элемент должен быть именованным объектом в файле геометрии. Полученный код является частью модели подъемного кузова HL20, представленной в разделе Run the HL-20 Example with FlireGear.
Стандартные координаты тела, используемые в моделях геометрии FlireGear, образуют правую систему, повернутую от стандартной системы координат тела в Y на -180 градусов:
X = положительно по отношению к задней части транспортного средства
Y = положительное значение справа от транспортного средства
Z = положительное значение выше, например, колеса обычно имеют самые низкие значения Z.
Дополнительные сведения см. в разделе Сведения об аэрокосмических системах координат.
Найдите две точки, лежащие на требуемой линии шарнира именованного объекта в координатах тела, и запишите их в виде триплетов XYZ или поместите в расчет MATLAB ® следующим образом:
a = [2.98, 1.89, 0.53]; b = [3.54, 2.75, 1.46];
Рассчитайте разницу между точками:
pdiff = b - a pdiff = 0.5600 0.8600 0.9300
Точка шарнира является одной из точек на шаге 2 (или средней точкой, как показано здесь):
mid = a + pdiff/2 mid = 3.2600 2.3200 0.9950
Поместите точку шарнира в область анимации в model-set.xml:
<center> <x-m>3.26</x-m> <y-m>2.32</y-m> <z-m>1.00</z-m> </center>
Используйте отличие от шага 3, чтобы определить относительный вектор движения по оси анимации:
<axis> <x>0.56</x> <y>0.86</y> <z>0.93</z> </axis>
Сложите эти шаги вместе, чтобы получить полную анимацию линии шарнира, используемую в HL20 примере модели:
<animation> <type>rotate</type> <object-name>RightAileron</object-name> <property>/surface-positions/right-aileron-pos-norm</property> <factor>30</factor> <offset-deg>0</offset-deg> <center> <x-m>3.26</x-m> <y-m>2.32</y-m> <z-m>1.00</z-m> </center> <axis> <x>0.56</x> <y>0.86</y> <z>0.93</z> </axis> </animation>
Чтобы запустить модель Simulink самолета и одновременно анимировать ее в FlireGear с файлом данных самолета model-set.xml, необходимо настроить файл данных самолета и изменить модель Simulink с помощью некоторых новых блоков.
Ниже перечислены основные шаги по подключению и использованию FlireGear с программным обеспечением Simulink:
Задайте для модели Flight Dynamics значение Network (Сеть) в файле данных о самолете (Aircraft Data File), чтобы объяснить, как создать необходимое сетевое соединение.
Получение IP-адреса назначения начинается путем определения IP-адреса компьютера, на котором запущен FlireGear.
Отправка данных Simulink в FlireGear показывает, как добавлять и подключать блоки интерфейса и темпа к модели Simulink.
Создание сценария прогона FlireGear показывает, как написать сценарий прогона FlireGear, совместимый с моделью Simulink.
Запуск FlireGear позволяет выполнить последние шаги для работы программного обеспечения Simulink с FlireGear.
Повышение производительности помогает ускорить работу модели.
Запуск программного обеспечения FlireGear и Simulink на разных компьютерах объясняет, как подключить моделирование от программного обеспечения Simulink, работающего на одном компьютере, к FlireGear, работающему на другом компьютере.
Обязательно:
Удалите из файла данных самолета все ранее существовавшие данные модели динамики полета (FDM).
Укажите в файле данных самолета, что его FDM осуществляет потоковую передачу из сети, добавив следующую строку:
<flight-model>network</flight-model>
Вам нужен IP-адрес назначения для модели Simulink, чтобы передать данные о рейсе в FlireGear.
Если имя компьютера известно, введите в командной строке MATLAB:
java.net.InetAddress.getByName('www.mathworks.com')
Если на одном компьютере запущено программное обеспечение FlireGear и Simulink, введите имя компьютера в командной строке MATLAB:
java.net.InetAddress.getLocalHost
Если вы работаете в Windows, получите IP-адрес компьютера, введя в командной строке DOS:
ipconfig /all
Проверьте запись IP-адреса в выходных данных. Имеется одна запись на устройство Ethernet.
Для запуска FlireGear с требуемыми начальными условиями (местоположение, дата, время, погода, режимы работы) лучше всего создать сценарий запуска с помощью команды «Использовать блок сценария запуска» или «Использовать интерфейс, предоставляемый с FlireGear».
При создании отдельных сценариев выполнения для каждой модели, которую планируется связать с FlireGear, и размещении их в отдельных каталогах запустите соответствующий сценарий из интерфейса MATLAB непосредственно перед запуском модели Simulink.
Используйте блок «Создать сценарий выполнения». Проще всего создать сценарий выполнения с помощью блока «Создать сценарий выполнения». Выполните следующие действия.
Откройте поддиапазон интерфейсов симулятора полетов.
Создайте новую модель Simulink или откройте существующую модель.
Перетащите блок «Создать сценарий выполнения» в схему Simulink.
Дважды щелкните на блоке «Создать сценарий выполнения». Откроется его диалоговое окно. Обратите внимание на три области: FlireGear, Network и File.

В параметре Имя выходного файла на вкладке Файл введите имя выходного файла. Это имя должно быть именем команды, которую необходимо использовать для запуска FlireGear с этими начальными параметрами. Используйте соответствующее расширение файла:
| Платформа | Расширение |
|---|---|
| Windows ® | .bat |
| Linux ® и macOS | .sh |
Например, если имя файла runfg.bat, используйте runfg для выполнения сценария запуска и запуска FleyGear.
В параметре базовой папки FlireGear вкладки «Файл» укажите имя установочной папки FlireGear.
В параметре «Имя модели геометрии FlireGear» вкладки «Файл» укажите имя вложенной папки в папке FlightGear/data/Aircraft , содержащую нужную геометрию модели.
Укажите необходимые начальные условия.
Нажмите кнопку «Создать сценарий» в верхней части области «Параметры».
Программа Aerospace Blockset создает сценарий запуска и сохраняет его в рабочей папке MATLAB под именем файла, указанным в поле Файл > Имя выходного файла.
Установите или снимите эти флажки и
Чтобы настроить FlireGear на автоматическую установку необходимых декораций во время работы симулятора - Выберите Установить декорации FlireGear во время моделирования (требуется подключение к Интернету). В системах Windows может появиться сообщение об ошибке при запуске FlireGear с включенным параметром. Дополнительные сведения см. в разделе Установка дополнительных декораций FlireGear.
Чтобы отключить параметры шейдера FlireGear, выберите Отключить параметры шейдера FliveGear.
При необходимости повторите шаги 5-10 для создания других сценариев выполнения.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно. Не требуется сохранять блок «Создать сценарий выполнения» с моделью Simulink.
Блок «Создать сценарий выполнения» сохраняет сценарий выполнения в виде текстового файла в рабочей папке. Ниже приведен пример содержимого файла сценария запуска:
>> cd C:\Applications\FlightGear-<your_FlightGear_version> >> SET FG_ROOT=C:\Applications\FlightGear-<your_FlightGear_version>\data >> cd \bin\ >> fgfs --aircraft=HL20 --fdm=network,localhost,5501,5502,5503 --fog-fastest --disable-clouds --start-date-lat=2004:06:01:09:00:00 --disable-sound --in-air --enable-freeze --airport=KSFO --runway=10L --altitude=7224 --heading=113 --offset-distance=4.72 --offset-azimuth=0
Используйте интерфейс, поставляемый с FlireGear. Графический интерфейс запуска FlireGear (часть FlireGear, а не продукт Aerospace Blockset) позволяет создавать простые и расширенные опции в видимой команде запуска FlireGear.
Если компьютер обладает достаточной вычислительной мощностью для одновременного запуска как программного обеспечения Simulink, так и FlireGear, простой способ запуска FlireGear в системе Windows состоит в создании кнопки рабочего стола MATLAB, содержащей следующую команду для выполнения сценария запуска, подобного созданному выше:
system('runfg &')
Чтобы создать кнопку рабочего стола:
В окне команд MATLAB выберите «Ярлыки» и нажмите «Создать ярлык». Откроется диалоговое окно Редактор ярлыков (Shortcut Editor).
Установите поля Label, Callback, Category и Icon, как показано на следующем рисунке.

Нажмите кнопку Сохранить.
На рабочем столе MATLAB появится кнопка FlireGear. При щелчке по нему, например, выходной файл runfg.bat, выполняется в текущей папке.
После завершения настройки запустите FlireGear и запустите модель:
Убедитесь, что модель находится в папке для записи. Откройте модель и обновите схему. Этот шаг обеспечивает компиляцию любого ссылочного блочного кода и компиляцию блок-схемы перед выполнением. После запуска FlireGear он использует всю доступную мощность процессора во время работы.
Нажмите кнопку FlireGear или запустите сценарий запуска FlireGear вручную.
При запуске FlireGear отображается начальный вид с исходными координатами, заданными в сценарии выполнения. Если вы используете программное обеспечение Simulink и FlireGear на разных компьютерах, организуйте одновременный просмотр этих двух дисплеев.
Теперь начните моделирование и просмотрите анимацию в FlireGear.
Если модель Simulink сложна и не может выполняться с совокупной скоростью, необходимой для визуализации, может потребоваться
Используйте режим ускорителя в Simulink (выполнение ускорения).
Освободите мощность процессора, запустив модель Simulink на одном компьютере и FlireGear на другом. Используйте параметр Destination IP Address блока Send net_fdm Packet to FlireGear, чтобы указать сетевой адрес компьютера, на котором выполняется FlireGear.
Сначала смоделируйте модель Simulink, затем сохраните результирующие перемещения (ось X, ось Y, ось Z) и положения (широта, долгота, высота), а затем используйте объект FlireGear Animation в Aerospace Toolbox для визуализации этих данных.
Совет
Если FlireGear использует больше ресурсов компьютера, чем требуется, можно изменить его приоритет планирования на меньший. Например, см. команды, подобные Windows start и Linux nice или их эквиваленты.
Можно моделировать аэрокосмическую систему в среде Simulink на одном компьютере (источнике) и использовать ее результаты моделирования для анимации FlireGear на другом компьютере (цели). Шаги аналогичны уже объясненным, с определенными модификациями.
Получите IP-адрес компьютера, на котором выполняется FlireGear. См. Получение IP-адреса назначения.
Введите этот IP-адрес целевого компьютера в блоке Send net_fdm Packet to FlireGear. См. раздел Отправка данных Simulink в FlireGear перед.
Обновите блок «Создать сценарий выполнения» в модели с помощью базовой папки FlireGear целевого компьютера. Повторно создайте сценарий запуска, чтобы отразить отдельное удостоверение целевого компьютера.
См. раздел Создание сценария прогона FlireGear перед.
Скопируйте созданный сценарий запуска на целевой компьютер. Запустите FleyGear там. См. раздел Запуск FlireGear перед.
Если вы также хотите получать данные из FlireGear, используйте блок Receive net_ctrl Packet from FlireGear. В параметре Исходный IP-адрес введите IP-адрес компьютера, на котором выполняется FlireGear.
Обновите сценарий выполнения для полученных данных. Используйте блок «Создать сценарий выполнения» для регенерации сценария выполнения.
Запустите модель Simulink на исходном компьютере. Функция FlireGear, работающая на цели, отображает движение моделирования.
Программное обеспечение Aerospace Blockset содержит пример модели подъемного кузова HL-20, использующего интерфейс FlireGear и проекты. Этот пример иллюстрирует многие функции программного обеспечения Aerospace Blockset. Он также содержит блок Variant Subsystem, который можно использовать для указания источника данных для моделирования. Для изменения источника данных рельефа местности может потребоваться использовать блок «Variant Subsystem», а для моделирования модели - нет.
Сведения об установке и настройке FlireGear перед попыткой моделирования этой модели см. в разделе Интерфейс симулятора полетов. Кроме того, перед попыткой моделирования этой модели прочитайте Install and Start FlireGear.
Примечание
Шаг 2 этого примера копирует предварительно сконфигурированные геометрии для моделирования HL-20 из projectroot\support кому FlightGear\data\Aircraft\. Для этого необходимы права системного администратора. Если у вас нет этих прав, скопируйте эти файлы вручную, в зависимости от платформы.
Копировать HL20 папка из projectroot\support папку в FlightGear\data\Aircraft\ папка. Эта папка содержит предварительно сконфигурированные геометрии для моделирования HL-20 и HL20-set.xml. Файл projectroot\support\HL20\Models\HL20.xml определяет геометрию.
Для платформ Windows запустите приложение MATLAB с правами администратора. Например, в меню Пуск щелкните правой кнопкой мыши приложение MATLAB и выберите Выполнить от имени администратора.
Дополнительные сведения см. в разделе Импорт моделей воздушных судов в FlireGear.
Копировать HL20 каталог из projectroot/support каталог в $FlightGearBaseDirectory/data/Aircraft/ каталог. Эта папка содержит предварительно сконфигурированные геометрии для моделирования HL-20 и HL20-set.xml. Файл projectroot/support/HL20/Models/HL20.xml определяет геометрию.
Дополнительные сведения об этом шаге см. в разделе Импорт моделей летательных аппаратов в FlireGear.
Копировать HL20 папка из projectroot/support папку в $FlightGearBaseDirectory/FlightGear.app/Contents/Resources/data/Aircraft/ папка. Эта папка содержит предварительно сконфигурированные геометрии для моделирования HL-20 и HL20-set.xml. Файл projectroot/support/HL20/Models/HL20.xml определяет геометрию.
Дополнительные сведения об этом шаге см. в разделе Импорт моделей летательных аппаратов в FlireGear.
Запустите интерфейс MATLAB. Откройте пример путем ввода asbhl20 в окне «MATLAB Command Window» или путем поиска элемента примера (HL-20 с интерфейсом FleyGear) на странице «Aerospace Blockset Examples». Проект для модели запускается, и модель открывается.

Если FlireGear для этой модели запускается впервые, необходимо создать и запустить настроенный сценарий запуска FlireGear. Это можно сделать одним из следующих способов:
В модели дважды щелкните блок Install FlireGear и выполните шаги, описанные в блоке. Изначально этот блок красный. При выполнении действий, описанных в блоке, изменяется маска блока.
Чтобы запустить FlireGear для модели, щелкните Запуск (Launch) HL20 в FlireGear.
Теперь запустите моделирование и просмотрите анимацию в FlireGear.
Примечание
В фокусе окна FlireGear нажмите клавишу V, чтобы чередовать различные виды самолета: вид кабины, вид вертолета, вид погони и так далее.
Можно отправлять и получать данные между моделью Simulink и работающим симулятором FlireGear.
Самый простой способ подключения модели к FlireGear с помощью блока - это использование блока «Предварительно настроенная 6DoF анимация FlireGear»:

FlightGear, Предварительно сконфигурированный 6DoF, блок Анимации - подсистема, содержащая Пакет net_fdm Пакет для FlightGear, и Пошлите net_fdm Пакет в блоки FlightGear:

Эти блоки передают данные из модели в сеанс FlireGear. Блоки являются отдельными для максимальной гибкости и совместимости.
Блок Pack net_fdm Packet for FlireGear форматирует двоичную структуру, совместимую с FlireGear, из входных данных модели. В конфигурации по умолчанию блок отображает только 6DoF порты, но можно настроить полный интерфейс FlireGear, поддерживающий более 50 различных сигналов из диалогового окна блока:

Блок Send net_fdm Packet to FlireGear передает этот пакет через UDP на указанный IP-адрес и порт, где сеанс FlireGear ожидает входящий поток данных. Используйте IP-адрес, указанный в разделе Получение IP-адреса назначения.
Блок Simulation Pace замедляет моделирование, так что его совокупная частота выполнения равна 1 секунде времени моделирования в секунду тактового времени. Его также можно использовать для определения других соотношений времени моделирования и времени синхронизации.
Для повышения точности моделирования модели в модель Simulink может потребоваться отправить переменные среды FlireGear. Используйте следующие блоки:

Получение пакета net_ctrl от FleyGear - получение пакета данных сетевого управления и среды net_ctrl либо из моделирования модели Simulink в симуляторе FleyGear, либо из сеанса FleyGear.
Распаковка пакетов net_ctrl из FlireGear - распаковка пакетов переменных net_ctrl, полученных из FlireGear, и делает их доступными для среды Simulink.
Создать сценарий выполнения - создает настраиваемый сценарий выполнения FlireGear на текущей платформе.
Пример использования этих блоков для отправки данных в модель Simulink см. в разделе Проект HL-20 с дополнительным интерфейсом FlireGear.
Эти блоки используют UDP для передачи данных из FlireGear в среду Simulink. Обратите внимание на следующее:
Если хостом и целевым объектом являются платформы Windows или Linux, можно использовать любую комбинацию платформ Windows или Linux для хоста и целевого объекта.
Если хост или конечный объект является платформой Mac, используйте только платформы Mac как для хоста, так и для целевого объекта.