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

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

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

Примечание

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

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

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

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

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

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

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

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

  1. От Simulink® Start Page выберите Flight Simulation.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы