Simple Variable Mass 6DOF (Quaternion)

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

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

Описание

Simple Variable Mass 6DOF (Quaternion) реализует представление кватерниона шести уравнений степеней свободы движения массы простой переменной относительно осей тела.

Для описания системы координат и поступательной динамики, см. описание для блока Simple Variable Mass 6DOF (Euler Angles). Aerospace Blockset™ использует кватернионы, которые заданы с помощью скалярного первого соглашения. Для получения дополнительной информации об интегрировании скорости изменения вектора кватерниона см. Алгоритмы.

Ограничения

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

Порты

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

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

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

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

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

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

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

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

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

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

Вывод

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

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

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

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

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

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

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

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

Типы данных: 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) ФунтФунт ногиНоги в секунду придали квадратную формуНоги в секундуФутыКраткий заголовокОтложите нога придала квадратную форму
English (Velocity in kts) ФунтФунт ногиНоги в секунду придали квадратную формуУзлыФутыКраткий заголовокОтложите нога придала квадратную форму

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

Параметры блоков: 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

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

ПредставлениеОписаниеЗначение по умолчанию для

Euler Angles

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

Quaternion

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

Quaternion выбор соответствует ранее описанным уравнениям движения.

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

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

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

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

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

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

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

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

Трехэлементный вектор для начальных Эйлеровых углов ориентации [список, подача, отклонение от курса], в радианах.

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

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

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

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

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

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

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

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

Скалярное значение для инерции тела.

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

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

Скалярное значение для пустой массы тела.

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

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

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

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

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

3х3 матрица тензора инерции для пустой инерции тела.

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

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

3х3 матрица тензора инерции для полной инерции тела.

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

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

Усиление, чтобы обеспечить норму вектора кватерниона равняется 1,0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задайте имена состояния положения.

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

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

Задайте скоростные имена состояния.

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

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

Задайте имена состояния вектора кватерниона. Этот параметр появляется, если параметр Representation устанавливается на Quaternion.

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

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

Задайте имена состояния уровня вращения тела.

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

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

Задайте Эйлеровы имена состояния угла поворота.

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

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

Задайте массовое имя состояния.

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

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

Алгоритмы

Уравнение интегрирования скорости изменения вектора кватерниона следует. Усиление K управляет нормой вектора состояния кватерниона к 1,0, должно ε становиться ненулевым. Необходимо выбрать значение этого усиления с осторожностью, потому что большое значение улучшает уровень затухания ошибки в норме, но также и замедляет симуляцию, потому что введены быстрые движущие силы. Ошибка в величине в одном элементе вектора кватерниона распространена одинаково среди всех элементов, потенциально увеличив ошибку в векторе состояния.

[q˙0q˙1q˙2q˙3]=12[0pqrp0rqqr0prqp0][q0q1q2q3]+Kε[q0q1q2q3]ε=1(q02+q12+q32+q42)

Ссылки

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

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

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

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

Введен в R2006a