exponenta event banner

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

Реализация кватернионного представления уравнений шести степеней свободы движения простой переменной массы в координатах земного центра (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™ используются кватернионы, определенные с помощью соглашения scalar-first.

Ограничения

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

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

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

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

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

Порты

Вход

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

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

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

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

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

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

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

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

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

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

  • 1 - Бак заполнен.

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

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

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

Тип массы, указанный в следующей таблице.

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

Планета

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

Имя массового состояния, указанное как символьный вектор.

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

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

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

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) VEtanλ/( N + h)]

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

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

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

I˙=Ifull−Iemptymfull−memptym˙

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

[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». TR8350.2-A DMA.

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

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

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