exponenta event banner

Настраиваемые переменные массовые 6DOF (кватернион)

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

  • Библиотека:
  • Аэрокосмический блок/Уравнения движения/ 6DOF

  • Custom Variable Mass 6DOF (Quaternion) block

Описание

Блок Custom Variable Mass 6DOF (Quaternion) реализует кватернионное представление уравнений шести степеней свободы движения пользовательской переменной массы относительно осей тела. Описание системы координат и динамики поступательного движения см. в описании блока «Настраиваемые переменные массовые 6DOF (углы Эйлера)».

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

Ограничения

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

Порты

Вход

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

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

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

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

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

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

Зависимости

Чтобы включить этот порт, выберите Включить относительную скорость массового потока.

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

Масса, заданная как скаляр.

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

Скорость изменения матрицы тензора инерции, определяемая как матрица 3 на 3.

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

Матрица тензора инерции, заданная как матрица 3 на 3.

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

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

Зависимости

Чтобы включить этот порт, выберите Включить относительную скорость массового потока.

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

Продукция

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

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

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

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

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

Углы поворота Эйлера [крен, тангаж, рыскание], возвращаемые в виде трёхэлементного вектора, в радианах.

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

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

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

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

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

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

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

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

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

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

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

Тип массы, указанный в следующей таблице.

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

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

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

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

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

Quaternion

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

Euler Angles

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

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

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

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

Начальное расположение тела в плоской системе координат Земли, определяемое как трехэлементный вектор.

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

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

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

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

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

Начальные углы ориентации Эйлера [крен, тангаж, рыскание], заданные как трехэлементный вектор, в радианах. Углы поворота Эйлера - это углы между системой координат корпуса и системой координат «север-восток-вниз» (NED).

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

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

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

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

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

Коэффициент усиления для поддержания нормы вектора кватерниона равным 1,0, определяемый как двойной скаляр.

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

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

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

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

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

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

Зависимости

Для активизации порта Abe выберите этот параметр.

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

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

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

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

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

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

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

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

  • Число состояний должно равномерно делиться между числом имен состояний.

  • Можно указать меньше имен, чем состояний, но нельзя указать больше имен, чем состояний.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы

Интегрирование скорости изменения вектора кватерниона приведено ниже. Коэффициент усиления K возбуждает норму вектора состояния кватерниона до 1,0, должен стать ненулевым. Вы должны выбрать значение этого усиления с осторожностью, потому что большое значение улучшает скорость распада ошибки в норме, но также замедляет моделирование, потому что быстрая динамика вводится. Ошибка в величине в одном элементе вектора кватерниона равномерно распределяется между всеми элементами, потенциально увеличивая ошибку в векторе состояния.

[[qШ0qШ1qШ2qШ3] =12 [0−p−q−rp0r−qq−r0prq−p0] [q0q1q2q3] +Kε [q0q1q2q3] ε\= 1− (q02+q12+q22+q32).

Ссылки

[1] Стивенс, Брайан и Фрэнк Льюис. Управление и моделирование летательных аппаратов, 2-й ред. Хобокен, Нью-Джерси: John Wiley & Sons, 2003.

[2] Зипфель, Питер Х. Моделирование и моделирование динамики аэрокосмических аппаратов. 2-я ред. Рестон, VA: AIAA Education Series, 2007.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2006a