Используйте проекты (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 использует Variant Subsystem, Model Variants и блоки 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
(для линейной модели). Для получения дополнительной информации о подсистеме варианты видят Model.
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 для демонстрационных тестов для вашего приложения.