exponenta event banner

Простые переменные массовые 6DOF (углы Эйлера)

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

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

  • Simple Variable Mass 6DOF (Euler Angles) block

Описание

Блок 6DOF простой переменной массы (углы Эйлера) рассматривает поворот фиксированного телом кадра координат (Xb, Yb, Zb) относительно плоского кадра координат Земли (Xe, Ye, Ze).

Описание системы координат и динамики поступательного движения см. в описании блока «Простые переменные массовые 6DOF (углы Эйлера)». Дополнительные сведения о фиксированном телом кадре координат см. в разделе Алгоритмы.

Ограничения

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

Порты

Вход

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

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

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

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

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

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

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

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

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

Euler Angles

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

Quaternion

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

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

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

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

Начальная масса жесткого тела, заданная как двойной скаляр.

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы

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

Поступательное движение неподвижного к телу кадра координат приведено ниже, где приложенные силы [Fx FyFz] T находятся в неподвижном к телу кадре. Vreb - относительная скорость в осях тела, при которой массовый поток () выбрасывается или добавляется к телу в осях тела.

F _ b = [FxFyFz] = m (V¯˙b+ω¯×V¯b) +m˙V¯rebAbe=F¯b−m˙V¯remAbb=[u˙bv˙bω˙b]=F¯b−m˙V¯rem−ω¯×V¯bV¯b=[ubvbwb], λ = [pqr]

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

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

Тензор инерции определяется с помощью табличного поиска, который линейно интерполирует между Ifull и Iempty на основе массы (m). В то время как скорость изменения тензора инерции оценивается по следующему уравнению.

I˙=Ifull−Iemptymfull−memptym˙

Зависимость между фиксированным телом вектором угловой скорости, [p q r] T, и скоростью изменения углов Эйлера, [ϕ˙θ˙ψ˙]T, может быть определена путем разрешения скоростей Эйлера в фиксированный телом кадр координат.

[pqr]=[ϕ˙00]+[1000cosϕsinϕ0−sinϕcosϕ] [0θ˙0]+[1000cosϕsinϕ0−sinϕcosϕ] [cosun0 − sinü 010sinstart0cosstart] [00ψ˙]≡J−1[ϕ˙θ˙ψ˙]

Затем инвертирование J дает требуемое соотношение для определения вектора скорости Эйлера.

[ϕ˙θ˙ψ˙] =J [pqr] = [1 (sinϕtanθ) (cosϕtanθ) 0cosϕ−sinϕ0sinϕcosθcosϕcosθ] [pqr]

Ссылки

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

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

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

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

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