exponenta event banner

6DOF Ветер (кватернион)

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

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

  • 6DOF Wind (Quaternion) block

Описание

Блок 6DOF Wind (Quaternion) рассматривает вращение фиксированного ветром кадра координат (Xw, Yw, Zw) относительно плоского опорного кадра Земли (Xe, Ye, Ze). Дополнительные сведения о фиксированном ветром кадре координат см. в разделе Алгоритмы.

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

Ограничения

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

Порты

Вход

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

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

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

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

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

Продукция

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

Quaternion

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

Wind Angles

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Имена состояний Velocity, заданные как символьный вектор.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы

Началом закреплённой ветром рамки координат является центр тяжести тела, а тело предполагается жёстким, предположение, исключающее необходимость учитывать силы, действующие между отдельными элементами массы. Плоская система отсчёта Земли считается инерционной, превосходной аппроксимацией, позволяющей пренебречь силами, обусловленными движением Земли относительно «неподвижных звёзд».

Поступательное движение фиксированного ветром кадра координат приведено ниже, где приложенные силы [Fx Fy Fz] T находятся в фиксированном ветром кадре, и масса тела m принимается постоянной.

F w = [FxFyFz] = m (V¯˙w+ω¯w×V¯w) Abe = DCMwbF wmV w = [V00], ω¯w=[pwqwrw]=DMCwb[pb−β˙sinαqb−α˙rb+β˙cosα], ω¯b=[pbqbrb]Abb=[u˙bv˙bw˙b]=DCMwb[F¯wm−ω¯w×V¯w]

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

M¯b = [LMN] =Iω¯˙b +ω¯b× (Iω¯b) я = [Ixx−Ixy−Ixz−IyxIyy−Iyz−Izx−IzyIzz]

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

[q˙0q˙1q˙2q˙3]=−12[0pqr−p0−rq−qr0−p−r−qp0] [q0q1q2q3]

Ссылки

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

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

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

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