exponenta event banner

6DOF (Эйлеровы углы)

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

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

  • 6DOF (Euler Angles) block

Описание

Блок 6DOF (Эйлеровы углы) реализует представление угла Эйлера уравнений движения с шестью степенями свободы, принимая во внимание поворот неподвижной телом рамки координат (Xb, Yb, Zb) относительно плоской системы координат Земли (Xe, Ye, Ze). Дополнительные сведения об этих опорных точках см. в разделе Алгоритмы.

Ограничения

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

Порты

Вход

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

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

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

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

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

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

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

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

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

Euler Angles

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

Quaternion

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

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Тип массы значение Fixed.

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

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

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

Зависимости

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

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

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

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

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

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

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

  • Если параметр пуст (' '), присвоение имени не происходит.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы

Блок 6DOF (Euler Angles) использует эти концепции системы координат.

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

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

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

    F _ b = [FxFyFz] = m (V¯˙b+ω¯×V¯b) Abb=[u˙bv˙bw˙b]=1mF¯b−ω¯×V¯bAbe=1mFbV¯b=[ubvbwb], λ = [pqr]

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

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

  • Зависимость между фиксированным телом вектором угловой скорости, [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] Стивенс, Брайан и Фрэнк Льюис, отдел управления и моделирования воздушных судов. Хобокен, Нью-Джерси: Второе издание, John Wiley & Sons, 2003.

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

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

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

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