Используйте проекты (Simulink), чтобы помочь организовать большие проекты имитационного моделирования рейса, и облегчает совместно использовать проекты с другими. Этот шаблон служит основой для совместной разработки приложения симуляции рейса. Можно настроить эту структуру проекта для определенных приложений.
Чтобы успешно запустить этот пример, установите компилятор C/C++.
Программное обеспечение Aerospace Blockset™ предоставляет шаблон проектов, который можно использовать, чтобы создать собственное приложение симуляции рейса. Этот шаблон использует различные подсистемы, образцовые варианты и модели, на которые ссылаются, чтобы реализовать компоненты приложения симуляции рейса, такие как:
Корпус, который содержит 6DOF уравнение модели среды движения и динамики привода
Модель датчика инерционного модуля измерения (IMU)
Подсистема визуализации ориентирована для FlightGear
Модель нелинейной динамики корпуса
Модель линейной динамики корпуса
От Simulink® Start Page выберите Flight Simulation.
В окне Create Project, в Name, вводят название проекта, например, FlightSimProj
.
В Folder введите папку проекта или обзор к папке, чтобы содержать проект, например, FlightSimFolder
.
Нажмите OK.
Если папка не существует, диалоговое окно предлагает вам создавать ее. Нажмите Yes.
Программное обеспечение компилирует проект, заполняет папки проекта и открывает основную модель, flightSimulation
. Все модели и вспомогательные файлы существуют для вас, чтобы настроить для вашего приложения симуляции рейса.
Шаблон проекта симуляции рейса содержит следующие папки
mainModels
Содержит имитационную модель верхнего уровня, flightSimulation
.This модель открывается на запуске. Этот файл содержит блоки верхнего уровня для среды симуляции рейса. Simulink использует Различную Подсистему, Образцовые Варианты и блоки Model на этом уровне, чтобы адаптироваться к различным условиям симуляции.
Корпус самолета может отличаться между нелинейным линейный подход.
Команды к самолету могут отличаться между блоком Signal Editor, джойстиком или переменной из рабочей области.
Датчики могут отличаться между моделями, которые включают динамику датчика или сквозное соединение (никакая связанная динамика).
Значения среды могут отличаться между значениями состояния зависимыми (значения температуры, давление и так далее зависят от локального положения, широты, и т.д.), или постоянные значения, которые не зависят от значений состояния.
Подсистема Визуализации обеспечивает рычаги, которые позволяют вам работать с состояниями. Например, можно визуализировать использование состояний FlightGear, или они могут быть зарегистрированы в переменной в рабочей области для последующего анализа. Состояния могут также визуализироваться с помощью Инспектора Данных моделирования.
libraries
Содержит библиотеки, пользовавшиеся моделями.
nonlinearAirframe
Содержит модель нелинейной динамики корпуса.
Определенная подсистема (модель AC), который содержит заполнителя для динамики вашей модели самолета. Характеристики этой подсистемы:
Приводы и входные параметры среды. Приводы относятся к типичным сигналам, которые могут влиять на поведение самолета (например, электрический сигнал в напряжении, которое сменит положение гидравлического привода, соединенного с поверхностью управления, такой как элерон).
Силы и моменты выходные параметры. Эффективный при центре тяжести самолета в связанной оси.
Блок 6DOF Body Quaternion, который решает дифференциальные уравнения сил и моменты, чтобы получить состояния самолета.
linearAirframe
Содержит линейную динамику корпуса и модели, чтобы получить эти линейные движущие силы. Пример получает эти движущие силы путем линеаризации нелинейной модели с помощью функции trimLinearizeOpPoint
и модели trimNonlinearAirframe
. Эта функция использует программное обеспечение Simulink Control Design, чтобы выполнить линеаризацию. Это выполняет линеаризацию нелинейной модели для данного набора известных входных параметров и условий. Для получения дополнительной информации относительно обрезки и линеаризации, см. документацию Simulink Control Design™). Функция trimLinearizeOpPoint
хранит вывод в MAT-файле.
controller
Содержит модели для Системы управления полетом (FCS) и ее проект. Эти модели содержат модели, на которые ссылаются, для различной архитектуры контроллера, необходимой для проекта симуляции самолета.
src
Содержит исходный код, такой как код С. Для симуляции это также имеет две папки, которые содержат S-функции для симуляции. Эти S-функции сопоставляют шины с векторами и наоборот для линейной модели корпуса. Это отображение может быть изменено в зависимости от схемы линеаризации и набора вводов и выводов для модели. Чтобы отредактировать индексы для различных сигналов, можно использовать блок S-Function Builder
tasks
Содержит скрипты, чтобы запустить модель. Эти скрипты не запускаются постоянно во время процесса симуляции.
Папка также содержит определения невиртуальной шины для состояний, среды и шин датчика. Эти определения, набор сигналы и характеристики, что различные элементы в использовании среды симуляции. Эта папка также содержит определения для переменных, используемых в рабочей области маски для Датчиков, FlightGear, linearAirframe и блоков nonlinearAirframe. Эти утилиты хранят значения параметров в структурах данных. Например, если нелинейная модель использует параметр для блока Gain, сохраненной переменной в структуре является Vehicle.Nonlinear.Gain.gainValue
, который указывает на параметр.
tests
Содержит демонстрационную тестовую обвязку:
Файл linearTest
содержит фактическую тестовую точку. Этот файл сравнивает подмножество выходных параметров линеаризовавшей модели корпуса к выходным параметрам нелинейного корпуса для определенного условия для обрезки.
Файл runProjectTests
запускает все доступные файлы, классифицированные как "Тесты" в проекте.
utilities
Содержит специфичные для проекта утилиты задачи обслуживания, такие как:
projectPaths
- Перечисляет местоположение папок, которые будут добавлены к пути MATLAB®.
rebuildSFunction
- Восстанавливает S-функции для linearInputBus
и linearOutputBus
.
startVars
- Задает переменные, которых среда симуляции требует, чтобы быть в базовом рабочем пространстве. Эта утилита также управляет вариантами с помощью структуры Variants
. Эта структура позволяет примеру переключить между нелинейным и линейным airframefrom рабочую область путем изменения VSS_VEHICLE
от 1
(для нелинейной модели) к 0
(для линейной модели). Для получения дополнительной информации о подсистеме варианты видят Модель.
work
Содержит файлы, сгенерированные от каждого выполнения. Эти файлы выводят от исходных файлов, таких как файл MEX, который вы создаете из кода С S-функции.
В Ярлыках проекты создают ярлыки для общих задач:
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
дважды кликают подсистему Корпуса.
Дважды кликните Нелинейную подсистему.
В модели AC добавьте свою динамику корпуса.
Сохраните модель.
Чтобы открыть модель flightControlSystem
, в flightSimulation
, дважды кликают подсистему FCS.
В Подсистеме контроллера добавьте свой алгоритм регулятора.
Сохраните модель.
Другие вещи попробовать:
Моделируйте свою модель.
Исследуйте папку tests для демонстрационных тестов для вашего приложения.