Simple Variable Mass 6DOF (Quaternion)

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

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

  • Simple Variable Mass 6DOF (Quaternion) block

Описание

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

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

Ограничения

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

Порты

Вход

расширить все

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

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

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

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

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

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

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

Зависимости

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

Типы данных: 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) ФунтФут-фунтФуты в секунду за секундуФуты в секундуНогиСлизнякSlug foot quared
English (Velocity in kts) ФунтФут-фунтФуты в секунду за секундуУзлыНогиСлизнякSlug foot quared

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

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

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

Тип массыОписаниеПо умолчанию для
Fixed

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

Simple Variable

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

Custom Variable

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

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

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

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

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

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

Quaternion

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

Euler Angles

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

The 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]'

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

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

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

Коэффициент усиления для поддержания нормы вектора кватерниона равной 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
Тип: Вектор символов
Значения: '' | разделенный запятыми список, окруженный скобками
По умолчанию: ''

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

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

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

Алгоритмы

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

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

Ссылки

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

[2] Zipfel, Peter H. Моделирование и симуляция аэрокосмической Динамики аппарата. 2nd ed. Reston, VA: AIAA Education Series, 2007.

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

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

.
Введенный в R2006a