exponenta event banner

Кватернионы к углам поворота

Определение вектора вращения из кватерниона

  • Библиотека:
  • Аэрокосмический блок/Преобразования инженерных сетей/осей

  • Quaternions to Rotation Angles block

Описание

Блок кватернионов в углы поворота преобразует четырехэлементный вектор кватернионов (q0, q1, q2, q3) в поворот, описанный тремя углами поворота (R1, R2, R3). Блок генерирует преобразование путем сравнения элементов в косинусной матрице направления (DCM) как функции углов поворота. Элементы в DCM являются функциями единичного кватернионного вектора. В аэрокосмической Blockset™ используются кватернионы, определенные с помощью соглашения scalar-first. Дополнительные сведения о косинусной матрице направления см. в разделе Алгоритмы.

Ограничения

  • Для ZYX, ZXY, YXZ, YZX, XYZ, и XZY при вращениях блок генерирует угол R2, лежащий между ± pi/2 радианами, и R1 и R3 углами, лежащими между ± pi радианами.

  • Для поворотов «ZYZ», «ZXZ», «YXY», «YZY», «XYX» и «XZX» блок генерирует угол R2, лежащий между 0 и pi радианами, и углы R1 и R3, лежащие между ± pi радианами. Однако в последнем случае, когда R2 равно 0, R3 устанавливается в 0 радиан.

Порты

Вход

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

Кватернион, заданный как вектор 4 на 1.

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

Продукция

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

Углы поворота, возвращенный вектор 3 на 1, в радианах.

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

Параметры

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

Порядок поворота вывода для трех углов поворота.

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

Параметр блока: rotationOrder
Текст: символьный вектор
Значения: ZYX | ZYZ |ZXY | ZXZ | YXZ | YXY | YZX | YZY | XYZ | XYX | XZY | XZX
По умолчанию: 'ZYX'

Алгоритмы

Элементы в DCM являются функциями единичного кватернионного вектора. Например, для порядка поворота z-y-xDCM определяется как:

DCM = [cosθcosψcosθsinψ−sinθ (sinϕsinθcosψ−cosϕsinψ) (sinϕsinθsinψ + cosϕcosψ) sinϕcosθ (cosϕsinθcosψ + sinϕsinψ) (cosϕsinθsinψ−sinϕcosψ) becauseϕcosθ]

DCM, определяемый единичным кватернионным вектором, является:

DCM = [(q02 + q12 q22 q32) 2 (q1q2 + q0q3) 2 (q1q3 q0q2) 2 (q1q2 q0q3) (q02 q12 + q22 q32) 2 (q2q3 + q0q1) 2 (q1q3 + q0q2) 2 (q2q2)

Из предыдущего уравнения можно вывести следующие соотношения между элементами DCM и индивидуальными углами поворота для порядка поворота ZYX:

start= atan (DCM (2,3), DCM (3,3)) = atan (2 (q2q3 + q0q1), (q02 q12 q22 + q32))

где Start- это R1, Start- это R2, а Start- это R3.

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

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

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