6DOF ECEF (Quaternion)

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

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

  • 6DOF ECEF (Quaternion) block

Описание

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

Ограничения

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

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

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

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

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

Порты

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

Включить эту точку, Include inertial acceleration.

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

Параметры

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

Основной

Модули ввода и вывода в виде Metric (MKS), English (Velocity in ft/s), или English (Velocity in kts).

МодулиСилыМоментУскорениеСкоростьПоложениеМассаИнерция
Metric (MKS) НьютонНьютон-метрМетры в секунду придали квадратную формуМетры в секундуМетрыКилограммКилограммометр придал квадратную форму
English (Velocity in ft/s) ФунтФуто-фунтФуты в секунду за секундуНоги в секундуФутыSlugОтложите нога придала квадратную форму
English (Velocity in kts) ФунтФуто-фунтФуты в секунду за секундуУзлыФутыSlugОтложите нога придала квадратную форму

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

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

Выберите тип массы, чтобы использовать:

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

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

Simple Variable

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

Custom Variable

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

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

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

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

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

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

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

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

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

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

Зависимости

Чтобы включить порт 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
Ввод: символьный вектор
Значения: '' | скаляр
Значение по умолчанию: ''

Алгоритмы

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

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

F¯b=[FxFyFz]=m(V¯˙b+ω¯b×V¯b+DCMbfω¯e×V¯b+DCMbf(ω¯e×(ω¯e×X¯f)))

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

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.

Abb=[u˙bv˙bω˙b]=1mF¯b[ω¯b×V¯b+DCMbfω¯e×V¯b+DCMbf(ω¯e×(ω¯e×X¯f))]Abecef=FbmM¯b=[LMN]=Iω¯˙b+ω¯b×(Iω¯b)I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]

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

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

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

Ссылки

[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