Используйте проекты, чтобы помочь организовать большие проекты моделирования симуляции рейса и облегчает обмен проектами с другими. Этот шаблон предоставляет среду для совместной разработки приложения для симуляции рейса. Вы можете настроить эту структуру проекта для определенных приложений.
Примечание
Чтобы успешно запустить этот пример, установите компилятор C/C + +.
Программное обеспечение Aerospace Blockset™ предоставляет шаблон проектов, который можно использовать, чтобы создать собственное приложение для симуляции рейса. Этот шаблон использует подсистемы вариантов, варианты модели и модели-ссылки для реализации компонентов приложения симуляции рейса, таких как:
Планер, который содержит 6DOF уравнение модели окружения движения и динамики привода
Модель датчика инерциального измерительного блока (IMU)
Подсистема визуализации, ориентированная на FlightGear
Модель нелинейной динамики планера
Модель линейной динамики планера
Из Simulink® Запустите страницу, выберите Flight Simulation.
В окне Create Project, в Name, введите имя проекта, например FlightSimProj
.
В Folder введите папку проекта или перейдите в папку, которая будет содержать проект, например FlightSimFolder
.
Нажмите OK.
Если папка не существует, диалоговое окно предлагает создать ее. Нажмите Yes.
Программа компилирует проект, заполняет папки проекта и открывает основную модель flightSimulation
. Все модели и вспомогательные файлы доступны для настройки в приложении симуляции рейса.
Шаблон проекта симуляции рейса содержит следующие папки
mainModels
Содержит симуляционную модель верхнего уровня, flightSimulation
Эта модель открывается при запуске. Этот файл содержит блоки верхнего уровня для среды симуляции рейса. Simulink использует блоки Variant Subsystem, Model Variants и Model на этом уровне, чтобы адаптироваться к различным условиям симуляции.
Планер самолета может варьироваться между нелинейным и линейным подходом.
Команды к самолету могут варьироваться между блоком Редактор, джойстиком или переменной из рабочей области.
Датчики могут варьироваться между моделями, которые включают динамику датчика или питательную способность (без связанной динамики).
Значения окружения могут варьироваться между зависящими от состояния значениями (значения температуры, давления и так далее зависят от локального положения, широты и т.д.) или постоянными значениями, которые не зависят от значений состояния.
Подсистема визуализации предоставляет крючки, которые позволяют работать с состояниями. Например, можно визуализировать состояния с помощью FlightGear или они могут быть записаны в переменную в рабочей области для последующего анализа. Состояния также могут быть визуализированы с помощью Данных моделирования Inspector.
libraries
Содержит библиотеки, используемые моделями.
nonlinearAirframe
Содержит модель нелинейной динамики планера.
Определенная подсистема (модель AC), которая содержит заполнитель для динамики вашей модели самолета. Характеристики этой подсистемы:
Приводы и входы окружения. Приводы относятся к типовым сигналам, которые могут повлиять на поведение самолета (для примера электрического сигнала в напряжении, которое изменит положение гидравлического привода, соединенного с поверхностью управления, такой как элерон).
Силы и моменты выходы. Эффективен в центре тяжести самолета по оси кузова.
Блок 6DOF Тела Кватерниона, который решает дифференциальные уравнения сил и моментов, чтобы получить состояния самолета.
linearAirframe
Содержит линейную динамику планера и модели, чтобы получить эту линейную динамику. Пример получает эту динамику путем линеаризации нелинейной модели с помощью trimLinearizeOpPoint
функции и trimNonlinearAirframe
модель. Эта функция использует программное обеспечение Simulink Control Design, чтобы выполнить линеаризацию. Он выполняет линеаризацию нелинейной модели для данного набора известных входов и условий. Для получения дополнительной информации о обрезке и линеаризации смотрите документацию Simulink Control Design™). trimLinearizeOpPoint
функция сохраняет выходы в MAT-файле.
controller
Содержит модели для системы рейса (FCS) и ее проекта. Эти модели содержат модели-ссылки для различных архитектур контроллеров, необходимых для проекта симуляции самолета.
src
Содержит исходный код, такой как код С Для симуляции в ней также есть две папки, которые содержат S-функции для симуляции. Эти S-функции сопоставляют шины с векторами и наоборот для линейной модели планера. Это отображение может быть изменено в зависимости от схемы линеаризации и набора входов и выходов для модели. Чтобы отредактировать индексы для различных сигналов, можно использовать блок S-Function Builder
tasks
Содержит скрипты для запуска модели. Эти скрипты не выполняются постоянно в процессе симуляции.
Папка также содержит определения невиртуальной шины для состояний, окружения и шин датчика. Эти определения, устанавливают сигналы и характеристики, которые используют различные элементы в среде симуляции. Эта папка также содержит определения переменных, используемых в рабочей области маски для блоков Sensors, FlightGear, linearAirframe и nonlinearAirframe. Эти утилиты хранят значения параметров в структурах данных. Для примера, если нелинейная модель использует параметр для блока Gain, сохраненная переменная в структуре Vehicle.Nonlinear.Gain.gainValue
, который указывает на параметр.
tests
Содержит образец тестовой обвязки:
The linearTest
файл содержит фактическую тестовую точку. Этот файл сравнивает подмножество выходов линеаризированной модели планера с выходами нелинейного планера для определенного условия обрезки.
The runProjectTests
файл запускает все доступные файлы, классифицированные как «Тесты» в проекте.
utilities
Содержит специфичные для проекта утилиты задач обслуживания, такие как:
projectPaths
- Список расположения папок, добавляемых в MATLAB® путь.
rebuildSFunction
- Перестраивает S-функции для linearInputBus
и linearOutputBus
.
startVars
- Определяет переменные, которые требуется среде симуляции в базовом рабочем пространстве. Эта утилита также управляет вариантами, используя Variants
структура. Эта структура позволяет примеру переключаться между нелинейным и линейным airframefrom рабочей области путем изменения VSS_VEHICLE
от 1
(для нелинейной модели), чтобы 0
(для линейной модели). Для получения дополнительной информации о вариантах подсистемы см. Model.
work
Содержит файлы, сгенерированные при каждом запуске. Эти файлы получают из исходных файлов, таких как файл MEX, который вы создаете из кода S-функции C.
В ярлыках проекты создают ярлыки для общих задач:
Initialize Variables - Запускает startVars
скрипт, который инициализирует переменные в базовом рабочем пространстве.
Rebuild S-functions - перестраивает S-функции в src
папка.
Run Project Tests - запускает тестовые точки, отмеченные Tests, для тестовых файлов в проекте .
Top Level Simulation Model - Открывает flightSimulation
модель. Он запускается при запуске проекта.
Предоставляет метки классификации файлов для автоматической сортировки и сортировки компонентов. Эта утилита добавляет метки шаблонов, такие как Tests, Airframe Design, Flight Controller Design и Calibration Data.
Чтобы открыть linearAirframe
модель, в flightSimulation
дважды кликните подсистему Airframe.
Дважды кликните Нелинейную подсистему.
В модели AC добавьте динамику планера.
Сохраните модель.
Чтобы открыть flightControlSystem
модель, в flightSimulation
дважды кликните подсистему FCS.
В Подсистеме Контроллера добавьте алгоритм регулятора.
Сохраните модель.
Другие вещи, чтобы попробовать:
Симулируйте свою модель.
Исследуйте папку tests для образцов тестов для вашего приложения.