Simple Variable Mass 6DOF (Quaternion)

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

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

Описание

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

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

Ограничения

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

Порты

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

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

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

Типы данных: 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.

Введен в R2006a