Simple Variable Mass 6DOF ECEF (Quaternion)

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

  • Библиотека:
  • Аэрокосмический Уравнения Движения/ 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 см. «Алгоритмы».

Аэрокосмическая 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-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

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

Типы данных: 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) ФунтФут-фунтФуты в секунду за секундуФуты в секундуНогиСлизняк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 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]'

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

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

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

Планета

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

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

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

Параметры блоков: 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 относительно origin 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] Стивенс, Брайан и Фрэнк Льюис. Aircraft Control and Simulation, 2nd ed. Hoboken, NJ: John Wiley & Sons, 2003.

[2] McFarland, Richard E. «A Standard Kinematic Model for Flight simulation at NASA-Ames» NASA CR-2497.

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

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

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

.
Введенный в R2006a
Для просмотра документации необходимо авторизоваться на сайте