exponenta event banner

Настраиваемая переменная масса 6DOF ECEF (кватернион)

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

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

  • Custom Variable Mass 6DOF ECEF (Quaternion) block

Описание

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

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

Ограничения

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

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

  • Предполагается, что Земля является эллипсоидальной. Установив сведение на 0,0, можно получить сферическую планету. Прецессия Земли, нутация и полярное движение игнорируются. Небесная долгота Гринвича - гринвичское среднее сидереальное время (ГМСТ) и обеспечивает грубое приближение к сидерическому времени.

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

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

Порты

Вход

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

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

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

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

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

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

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

Масса, заданная как скаляр.

Зависимости

Чтобы включить этот порт, задайте для параметра Mass type значение Custom Variable.

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

Скорость изменения матрицы тензора инерции, определяемая как матрица 3 на 3.

Зависимости

Чтобы включить этот порт, задайте для параметра Mass type значение Custom Variable.

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

Матрица тензора инерции, заданная как матрица 3 на 3.

Зависимости

Чтобы включить этот порт, задайте для параметра Mass type значение Custom Variable.

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

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

Зависимости

Чтобы включить этот порт, установите для небесной долготы Гринвича значение External.

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

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

Зависимости

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

Типы данных: 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, возвращаемые как трехэлементный вектор.

Зависимости

Чтобы включить эту точку, включите инерционное ускорение.

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

Выберите тип используемой массы:

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

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

Параметр блока: mtype
Текст: символьный вектор
Значения: Fixed | Simple Variable | Custom Variable
По умолчанию: 'Custom 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]'

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

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

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

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

Зависимости

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

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

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

Планета

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Internal

Используйте значение небесной долготы из небесной долготы Гринвича.

External

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

Зависимости

Установка для этого параметра значения External активизирует порт LG (0).

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

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Небесная долгота источника Гринвича значение 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 упрощается, чтобы учитывать только постоянное вращение эллипсоида Земли (starte), включая начальную небесную долготу (LG (0 )).

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

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)) Уток = [u˙bv˙bw˙b] =F¯b−m˙ (V¯reb+DCMbf (we×Xf)) m− [ω¯b×V¯b+DCMω¯e×V¯b+DCMbf (ω¯e (ω¯e×Xf))] Ab​ecef=F¯b−m˙ (V¯reb+DCMbf (ωe×Xf)) m

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

x¯˙f=DCMfbV¯b

и скорость тела по отношению к кадру ECEF, выраженную в кадре тела (V _ b), угловые скорости тела по отношению к кадру ECI, выраженные в кадре тела (λ _ b). Скорость вращения Земли (λ fe) и относительные угловые скорости тела по отношению к кадру на северо-восток вниз (NED), выраженные в кадре тела (startbetrel), определяются как

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) − VE • tanλ/( N + h)]

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

M¯b=[LMN]=I¯ω¯˙b+ω¯b× (I-ом ом-б) +I˙ω¯bI=[Ixx−Ixy−Ixz−IyxIyy−Iyz−Izx−IzyIzz]

Скорость изменения тензора инерции определяется следующим уравнением.

I˙=[I˙xx−I˙xy−I˙xz−I˙yxI˙yy−I˙yz−I˙zx−I˙zyI˙zz]

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

[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-й ред. Хобокен, Нью-Джерси: John Wiley & Sons, 2003.

[2] Макфарланд, Ричард Э. «Стандартная кинематическая модель для полета в НАСА-Эймс». НАСА CR-2497.

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

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

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

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