6DOF ECEF (Quaternion)

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

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

  • 6DOF ECEF (Quaternion) block

Описание

Блок 6DOF ECEF (Quaternion) Реализуйте кватернионное представление уравнений движения с шестью степенями свободы в координатах Earth-fixed (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-by-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 foot quared
English (Velocity in kts) ФунтФут-фунтФуты в секунду за секундуУзлыНогиСлизнякSlug foot quared

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

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

Выберите тип массы для использования:

Тип массыОписаниеПо умолчанию для
Fixed

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

Simple Variable

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

Custom Variable

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

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

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

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

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

Планета

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

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

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

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

Зависимости

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

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

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

Уплощение планеты, заданное как двойной скаляр.

Зависимости

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

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

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

Скорость вращения планеты, заданная как скаляр, в рад/с.

Зависимости

Чтобы включить этот параметр, установите Модель Планеты на 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'}. Каждое имя должно быть уникальным.

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

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

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

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

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

  • Назначение имен состояний с переменной в 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 относительно origin 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]

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

Ссылки

[1] Стивенс, Брайан и Фрэнк Льюис. Aircraft Control and Simulation, 2nd ed. Hoboken, NJ: John Wiley & Sons, 2003.

[2] McFarland, Richard E. «Стандартная кинематическая модель для симуляции рейса в НАСА-Эймс». CR-2497 НАСА.

[3] «Дополнение к Всемирной геодезической системе министерства обороны 1984 года Технический доклад: Часть I - Методы, техники и данные, используемые в разработке WGS84». DMA- TR8350.2-A.

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

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

.
Введенный в R2006a