Simple Variable Mass 6DOF ECEF (Quaternion)

Реализуйте представление кватерниона шести уравнений степеней свободы движения массы простой переменной в координатах Сосредоточенного землей зафиксированного землей (ECEF)

  • Библиотека:
  • Aerospace Blockset / уравнения Движения / 6DOF

  • Simple Variable Mass 6DOF ECEF (Quaternion) block

Описание

Блок Simple Variable Mass 6DOF ECEF (Quaternion) реализует представление кватерниона шести уравнений степеней свободы движения массы простой переменной в координатах Сосредоточенного землей зафиксированного землей (ECEF). Это рассматривает вращение системы координат координаты Сосредоточенного землей зафиксированного землей (ECEF) (XECEF, YECEF, ZECEF) о системе координат Сосредоточенного землей инерционного (ECI) (XECI, YECI, ZECI). Источник системы координат координаты ECEF является центром Земли. Для получения дополнительной информации о системе координат координаты ECEF см. Алгоритмы.

Aerospace Blockset™ использует кватернионы, которые заданы с помощью скалярного первого соглашения.

Ограничения

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

  • Эта реализация генерирует геодезическую широту, которая находится между ±90 градусами и долготой, которая находится между ±180 градусами. Кроме того, высота MSL является аппроксимированной.

  • Земля принята, чтобы быть эллипсоидальной. Путем установки сглаживающийся к 0,0, может быть достигнута сферическая планета. Прецессией Земли, нутацией и полярным движением пропускают. Астрономическая долгота Гринвича является Гринвичским средним значением сидерическим временем (GMST) и предоставляет грубое приближение сидерическому времени.

  • Реализация системы координат ECEF принимает, что источник находится в центре планеты, x - ось пересекает Гринвичский меридиан и экватор, z - ось является средней осью вращения планеты, положительной на север и y - ось завершает правую систему.

  • Реализация системы координат ECI принимает, что источник находится в центре планеты, x - ось является продолжением линии от центра Земли к весеннему равноденствию, z - ось указывает в направлении Северного полюса средней экваториальной плоскости, положительного на север и y - ось завершает правую систему.

Порты

Входной параметр

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

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

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

Прикладные моменты в виде трехэлементного вектора.

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

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

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

Начальная буква Гринвичского меридиана астрономический угол долготы в виде скаляра.

Зависимости

Чтобы включить этот порт, установите Celestial longitude of Greenwich на External.

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

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

Зависимости

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

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

Вывод

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

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

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

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

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

Положение в геодезической широте, долготе и высоте, в градусах, возвращенный как трехэлементный вектор или массив M-3, в выбранных единицах длины, соответственно.

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

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

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

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

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

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

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

Координатное преобразование от осей ECEF до осей NED, возвращенных как 3х3 матрица.

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

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

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

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

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

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

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

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

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

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

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

Состояние топливного бака, возвращенное как:

  • 1 — Бак полон.

  • 0 — Бак не полон и не пуст.

  • -1 — Бак пуст.

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

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

Зависимости

Включить эту точку, 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)

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

Массовый типОписаниеЗначение по умолчанию для
Fixed

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

Simple Variable

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

Custom Variable

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

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

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

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

Начальное местоположение самолета в геодезической системе координат в виде трехэлементного вектора. Широта и значения долготы могут быть любым значением. Однако значения широты +90 и-90 могут возвратить неожиданные значения из-за сингулярности в полюсах.

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

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

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

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

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

Планета

Модель Planet, чтобы использовать, Custom или Earth (WGS84).

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

Параметры блоков: ptype
Ввод: символьный вектор
Значения: 'Earth (WGS84)' | 'Custom'
Значение по умолчанию: 'Earth (WGS84)'

Радиус планеты в ее экваторе в виде двойного скаляра, в тех же модулях как желаемые модули для положения ECEF.

Зависимости

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

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

Параметры блоков: R
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '6378137'

Выравнивание планеты в виде двойного скаляра.

Зависимости

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

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

Параметры блоков: F
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '1/298.257223563'

Вращательный уровень планеты в виде скаляра, в rad/s.

Зависимости

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

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

Параметры блоков: w_E
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '7292115e-11'

Источник начальной буквы Гринвичского меридиана астрономическая долгота в виде:

Internal

Используйте астрономическое значение долготы от Celestial longitude of Greenwich.

External

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

Зависимости

Установка этого параметра на External включает порт LG(0).

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

Параметры блоков: angle_in
Ввод: символьный вектор
Значения: 'Internal' | 'External'
Значение по умолчанию: 'Internal'

Начальный угол между Гринвичским меридианом и x - ось ECI структурирует в виде двойного скаляра.

Зависимости

Чтобы включить этот параметр, установите Celestial longitude of Greenwich source на Internal.

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

Параметры блоков: LG0
Ввод: символьный вектор
Значения: двойной скаляр
Значение по умолчанию: '0'

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

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

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

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

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

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

  • Количество состояний должно разделиться равномерно среди количества имен состояния.

  • Можно задать меньше имен, чем состояния, но вы не можете задать больше имен, чем состояния.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Значением по умолчанию является ''.

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

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

Астрономическая долгота Гринвича утверждает имя в виде вектора символов.

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

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

Массовое имя состояния в виде вектора символов.

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

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

Алгоритмы

Источник системы координат координаты ECEF является центром Земли. Тело интереса принято, чтобы быть твердым, предположение, которое избавляет от необходимости рассматривать силы, действующие между отдельными элементами массы. Представление вращения системы координат ECEF от системы координат ECI упрощено, чтобы рассмотреть только постоянное вращение Земли эллипсоида (ωe) включая начальную астрономическую долготу (LG (0)). Это превосходное приближение позволяет силам из-за комплексного движения Земли относительно “фиксированных звезд” быть пропущенными.

Поступательное движение системы координат координаты ECEF приведено ниже, где приложенные силы [Fx Fy Fz] T находятся в системе координат тела. Vre b является относительной скоростью в осях ветра в который массовый поток (m˙) извлекается или добавляется к осям тела.

F¯b=[FxFyFz]=m(V¯˙b+ω¯b×V¯b+DCMbfω¯e×V¯b+DCMbf(ω¯e×(ω¯e×X¯f)))+m˙(V¯reb+DCMbf(ω¯e×X¯f))Abb=[u˙bv˙bw˙b]=F¯bm˙(V¯reb+DCMbf(we×Xf))m[ω¯b×V¯b+DCMω¯e×V¯b+DCMbf(ω¯e(ω¯e×Xf))]Abecef=F¯bm˙(V¯reb+DCMbf(ωe×Xf))m

где изменение положения в ECEF x¯˙f(x¯˙i) вычисляется

x¯˙f=DCMfbV¯b

и скорость тела относительно системы координат ECEF, описанной в системе координат тела (V¯b), угловые уровни тела относительно системы координат ECI, описанной в системе координат тела (ω¯b). Заземлите уровень вращения (ω¯e), и относительные угловые уровни тела относительно северо-востока вниз (NED) система координат, описанная в системе координат тела (ω¯rel) заданы как

V¯b=[uvw] ω¯rel=[pqr] ω¯e=[00ωe]ω¯b=ω¯rel+DCMbfω¯e+DCMbeω¯nedω¯ned=[l˙cosμμ˙l˙sinμ]=[VE/(N+h)VN/(M+h)VEtanμ/(N+h)]

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

M¯b=[LMN]=I¯ω¯˙b+ω¯b×(I¯ω¯b)+I˙ω¯bI=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]

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

I˙=IfullIemptymfullmemptym˙

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

[q˙0q˙1q˙2q˙3]=12[0ωb(1)ωb(2)ωb(3)ωb(1)0ωb(3)ωb(2)ωb(2)ωb(3)0ωb(1)ωb(3)ωb(2)ωb(1)0][q0q1q2q3]

Ссылки

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

[2] Макфарлэнд, Ричард Э. "Стандартная Кинематическая Модель для симуляции Рейса в NASA-Ames" НАСА CR-2497.

[3] "Добавьте к миру министерства обороны геодезическую систему 1 984 технических отчета: первая часть - методы, методы и данные, используемые в разработке WGS84". DMA TR8350.2-A.

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

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

Введен в R2006a