Шаблон проектов для приложений симуляции рейса

Приложения симуляции рейса

Используйте проекты, чтобы помочь организовать большие проекты моделирования симуляции рейса и облегчает обмен проектами с другими. Этот шаблон предоставляет среду для совместной разработки приложения для симуляции рейса. Вы можете настроить эту структуру проекта для определенных приложений.

Примечание

Чтобы успешно запустить этот пример, установите компилятор C/C + +.

Программное обеспечение Aerospace Blockset™ предоставляет шаблон проектов, который можно использовать, чтобы создать собственное приложение для симуляции рейса. Этот шаблон использует подсистемы вариантов, варианты модели и модели-ссылки для реализации компонентов приложения симуляции рейса, таких как:

  • Планер, который содержит 6DOF уравнение модели окружения движения и динамики привода

  • Модель датчика инерциального измерительного блока (IMU)

  • Подсистема визуализации, ориентированная на FlightGear

  • Модель нелинейной динамики планера

  • Модель линейной динамики планера

Загрузите шаблон симуляции рейса

  1. Из Simulink® Запустите страницу, выберите Flight Simulation.

  2. В окне Create Project, в Name, введите имя проекта, например FlightSimProj.

  3. В Folder введите папку проекта или перейдите в папку, которая будет содержать проект, например FlightSimFolder.

  4. Нажмите 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.

Добавьте динамику планера и алгоритм регулятора к проекту

  1. Чтобы открыть linearAirframe модель, в flightSimulation дважды кликните подсистему Airframe.

  2. Дважды кликните Нелинейную подсистему.

  3. В модели AC добавьте динамику планера.

  4. Сохраните модель.

Добавьте алгоритм регулятора к проекту

  1. Чтобы открыть flightControlSystem модель, в flightSimulationдважды кликните подсистему FCS.

  2. В Подсистеме Контроллера добавьте алгоритм регулятора.

  3. Сохраните модель.

Другие вещи, чтобы попробовать:

  • Симулируйте свою модель.

  • Исследуйте папку tests для образцов тестов для вашего приложения.

Похожие темы