Simple Variable Mass 6DOF Wind (Quaternion)

Реализуйте представление кватерниона шести уравнений степеней свободы движения массы простой переменной относительно осей ветра

  • Библиотека:
  • Aerospace Blockset / уравнения Движения / 6DOF

  • Simple Variable Mass 6DOF Wind (Quaternion) block

Описание

Блок Simple Variable Mass 6DOF Wind (Quaternion) реализует представление кватерниона шести уравнений степеней свободы движения массы простой переменной относительно осей ветра. Это рассматривает вращение зафиксированной ветром координатной системы координат (Xw, Yw, Zw) о плоской Наземной системе координат (Xe, Ye, Ze).

Aerospace Blockset™ использует кватернионы, которые заданы с помощью скалярного первого соглашения. Для получения дополнительной информации о зафиксированной ветром координатной системе координат см. Алгоритмы.

Ограничения

Блок принимает, что приложенные силы действуют в центре тяжести тела.

Порты

Входной параметр

развернуть все

Приложенные силы в виде трехэлементного вектора.

Типы данных: double

Прикладные моменты в виде трехэлементного вектора.

Типы данных: double

Одна или несколько скоростей изменения массы (положительный, если аккумулируется, отрицательный, если удалено) в виде скаляра.

Типы данных: double

Одна или несколько относительных скоростей в виде трехэлементного вектора, в котором масса аккумулируется к или удаляется от тела в зафиксированных телом осях.

Зависимости

Чтобы включить этот порт, выберите Include mass flow relative velocity.

Типы данных: double

Вывод

развернуть все

Скорость в плоской Наземной системе координат, возвращенной как трехэлементный вектор.

Типы данных: double

Положение в плоской Наземной системе координат, возвращенной как трехэлементный вектор.

Типы данных: double

Углы поворота ветра [банк, угол тангажа, направляясь], возвратились как трехэлементный вектор в радианах.

Типы данных: double

Координатное преобразование от плоских Наземных осей до зафиксированных ветром осей, возвращенных как 3х3 матрица.

Типы данных: double

Скорость в зафиксированной ветром системе координат, возвращенной как трехэлементный вектор.

Типы данных: double

Угол нападения и угол заноса, возвращенный как двухэлементный вектор, в радианах.

Типы данных: double

Скорость изменения угла нападения и скорость изменения угла заноса, возвращенного как двухэлементный вектор, в радианах в секунду.

Типы данных: double

Угловые уровни в зафиксированных телом осях, возвращенных как трехэлементный вектор.

Типы данных: double

Угловые ускорения в зафиксированных телом осях, возвращенных как трехэлементный вектор, в радианах в секунду, придали квадратную форму.

Типы данных: double

Ускорения в зафиксированных телом осях относительно системы координат тела, возвращенной как трехэлементный вектор.

Типы данных: double

Состояние топливного бака, возвращенное как:

  • 1 — Бак полон.

  • 0 — Бак не полон и не пуст.

  • -1 — Бак пуст.

Типы данных: double

Ускорения в зафиксированных телом осях относительно инерционной системы координат (плоская Земля), возвращенный как трехэлементный вектор. Вы обычно соединяете этот сигнал с акселерометром.

Зависимости

Этот порт появляется только, когда флажок Include inertial acceleration устанавливается.

Типы данных: double

Параметры

развернуть все

Основной

Модули ввода и вывода в виде Metric (MKS), English (Velocity in ft/s), или English (Velocity in kts).

МодулиСилыМоментУскорениеСкоростьПоложениеМассаИнерция
Metric (MKS) НьютонНьютон-метрМетры в секунду придали квадратную формуМетры в секундуМетрыКилограммКилограммометр придал квадратную форму
English (Velocity in ft/s) ФунтФуто-фунтФуты в секунду за секундуНоги в секундуФутыSlugОтложите нога придала квадратную форму
English (Velocity in kts) ФунтФуто-фунтФуты в секунду за секундуУзлыФутыSlugОтложите нога придала квадратную форму

Программируемое использование

Параметры блоков: units
Ввод: символьный вектор
Значения: Metric (MKS) | English (Velocity in ft/s) | English (Velocity in kts)
Значение по умолчанию: Metric (MKS)

Массовый тип, заданный согласно следующей таблице.

Массовый типОписаниеЗначение по умолчанию для
Fixed

Масса является постоянной в течение симуляции.

Simple Variable

Масса и инерция варьируются линейно в зависимости от массового уровня.

Custom Variable

Масса и изменения инерции настраиваемы.

Simple Variable выбор соответствует уравнениям движения в Алгоритмах.

Программируемое использование

Параметры блоков: mtype
Ввод: символьный вектор
Значения: Fixed | Simple Variable | Custom Variable
Значение по умолчанию: Simple Variable

Уравнения представления движения, заданного согласно следующей таблице.

ПредставлениеОписание

Quaternion

Используйте кватернионы в рамках уравнений движения.

Wind Angles

Используйте углы ветра в рамках уравнений движения.

Quaternion выбор соответствует уравнениям движения в Алгоритмах.

Программируемое использование

Параметры блоков: rep
Ввод: символьный вектор
Значения: Wind Angles | Quaternion
Значение по умолчанию: 'Quaternion'

Начальное местоположение тела в плоской Наземной системе координат в виде трехэлементного вектора.

Программируемое использование

Параметры блоков: xme_0
Ввод: символьный вектор
Значения: '[0 0 0]' | трехэлементный вектор
Значение по умолчанию: '[0 0 0]'

Начальная скорость полета, угол нападения и угол заноса в виде трехэлементного вектора.

Программируемое использование

Параметры блоков: Vm_0
Ввод: символьный вектор
Значения: '[0 0 0]' | трехэлементный вектор
Значение по умолчанию: '[0 0 0]'

Начальные углы ветра [банк, угол тангажа, и направляющийся] в виде трехэлементного вектора в радианах.

Программируемое использование

Параметры блоков: wind_0
Ввод: символьный вектор
Значения: '[0 0 0]' | трехэлементный вектор
Значение по умолчанию: '[0 0 0]'

Начальная буква зафиксированные телом угловые уровни относительно NED структурирует в виде трехэлементного вектора в радианах в секунду.

Программируемое использование

Параметры блоков: pm_0
Ввод: символьный вектор
Значения: '[0 0 0]' | трехэлементный вектор
Значение по умолчанию: '[0 0 0]'

Начальная масса твердого тела в виде двойного скаляра.

Программируемое использование

Параметры блоков: mass_0
Ввод: символьный вектор
Значения: '1.0' | двойной скаляр
Значение по умолчанию: '1.0'

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

Программируемое использование

Параметры блоков: mass_e
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '0.5'

Полная масса тела в виде двойного скаляра.

Программируемое использование

Параметры блоков: mass_f
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '2.0'

Матрица тензора инерции для пустой инерции тела в виде 3х3 матрицы, в зафиксированных телом осях.

Программируемое использование

Параметры блоков: inertia_e
Ввод: символьный вектор
Значения: 'eye(3)' | 3х3 матрица
Значение по умолчанию: 'eye(3)'

Матрица тензора инерции для полной инерции тела в виде 3х3 матрицы, в зафиксированных телом осях.

Программируемое использование

Параметры блоков: inertia_f
Ввод: символьный вектор
Значения: '2*eye(3)' | 3х3 матрица
Значение по умолчанию: '2*eye(3)'

Установите этот флажок, чтобы добавить массовый скоростной порт родственника потока. Это - относительная скорость, при которой масса аккумулируется или удаляется.

Программируемое использование

Параметры блоков: vre_flag
Ввод: символьный вектор
Значения: off | on
Значение по умолчанию: off

Установите этот флажок, чтобы добавить инерционный ускоряющий порт.

Зависимости

Чтобы включить порт Abe, выберите этот параметр.

Программируемое использование

Параметры блоков: abi_flag
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: off

Атрибуты состояния

Присвойте уникальное имя каждому состоянию. Можно использовать имена состояния вместо путей к блоку во время линеаризации.

  • Чтобы присвоить имя к одному состоянию, введите уникальное имя между кавычками, например, 'velocity'.

  • Чтобы присвоить имена к нескольким состояниям, введите список, разделенный запятыми, окруженный фигурными скобками, например, {'a', 'b', 'c'}. Каждое имя должно быть уникальным.

  • Если параметр пуст (' '), никакое имя не присвоено.

  • Имена состояния применяются только к выбранному блоку параметром имени.

  • Количество состояний должно разделиться равномерно среди количества имен состояния.

  • Можно задать меньше имен, чем состояния, но вы не можете задать больше имен, чем состояния.

    Например, можно задать два имени в системе с четырьмя состояниями. Имя применяется к первым двум состояниям и второму имени к последним двум состояниям.

  • Присваивать имена состояния с переменной в MATLAB® рабочая область, введите переменную без кавычек. Переменная может быть вектором символов, массивом ячеек или структурой.

Состояние положения называет в виде списка, разделенного запятыми окруженный фигурными скобками.

Программируемое использование

Параметры блоков: xme_statename
Ввод: символьный вектор
Значения: '' | список, разделенный запятыми окружается фигурными скобками
Значение по умолчанию: ''

Скоростное состояние называет в виде вектора символов.

Программируемое использование

Параметры блоков: Vm_statename
Ввод: символьный вектор
Значения: '' | вектор символов
Значение по умолчанию: ''

Имя состояния угла установки в виде вектора символов.

Программируемое использование

Параметры блоков: alpha_statename
Ввод: символьный вектор
Значения: ''
Значение по умолчанию: ''

Угол заноса утверждает имя в виде вектора символов.

Программируемое использование

Параметры блоков: beta_statename
Ввод: символьный вектор
Значения: ''
Значение по умолчанию: ''

Вектор кватерниона утверждает имена в виде списка, разделенного запятыми, окруженного фигурными скобками.

Программируемое использование

Параметры блоков: quat_statename
Ввод: символьный вектор
Значения: '' | список, разделенный запятыми окружается фигурными скобками
Значение по умолчанию: ''

Уровень вращения тела утверждает имена, заданный список, разделенный запятыми, окруженный фигурными скобками.

Программируемое использование

Параметры блоков: pm_statename
Ввод: символьный вектор
Значения: '' | список, разделенный запятыми окружается фигурными скобками
Значение по умолчанию: ''

Массовое имя состояния в виде вектора символов.

Программируемое использование

Параметры блоков: mass_statename
Ввод: символьный вектор
Значения: '' | вектор символов
Значение по умолчанию: ''

Алгоритмы

Источник зафиксированной ветром координатной системы координат является центром тяжести тела, и тело принято, чтобы быть твердым, предположение, которое избавляет от необходимости рассматривать силы, действующие между отдельными элементами массы. Плоская Наземная система координат рассматривается инерционной, превосходное приближение, которое позволяет силам из-за движения Земли относительно “фиксированных звезд” быть пропущенными.

Поступательное движение зафиксированной ветром координатной системы координат приведено ниже, где приложенные силы [финансовый год Fx Fz]T находятся в зафиксированной ветром системе координат. Vre w является относительной скоростью в осях ветра в который массовый поток (m˙) извлекается или добавляется к телу.

F¯w=[FxFyFz]=m(V¯˙w+ω¯w×V¯w)+m˙V¯rewV¯w=[V00],ω¯w=[pwqwrw]=DMCwb[pbβ˙sinαqbα˙rb+β˙cosα],w¯b[pbqbrb]

Вращательные движущие силы зафиксированной телом системы координат приведены ниже, где прикладными моментами является [L MN]T, и тензор инерции I относительно источника O. Тензор инерции I намного легче задать в зафиксированной телом системе координат.

M¯b=[LMN]=Iω¯˙b+ω¯b×(Iω¯b)+I˙ω¯bI=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]

Тензор инерции определяется с помощью поиска по таблице, который линейно интерполирует между Ifull и Iempty на основе массы (m). В то время как скорость изменения тензора инерции оценивается следующим уравнением.

I˙=IfullIemptymfullmemptym˙

Интегрирование скорости изменения вектора кватерниона приведено ниже.

[q˙0q˙1q˙2q˙3]=1/2[0pqrp0rqqr0prqp0][q0q1q2q3]

Ссылки

[1] Стивенс, Брайан и Франк Льюис. Управление самолетом и Симуляция, 2-й редактор Хобокен, NJ: John Wiley & Sons, 2003.

[2] Zipfel, Питер Х., Моделирование и Симуляция Космической Динамики аппарата. 2-й редактор Рестон, ВА: Образовательный Ряд AIAA, 2007.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введен в R2006a