Quaternions to Rotation Angles

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

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

  • Quaternions to Rotation Angles block

Описание

Блок Кватернионы в Углы Поворота преобразует четырехэлементный вектор кватерниона (q 0, q 1, q 2, q 3) в поворот, описанный тремя углами поворота (R1, R2, R3). Блок генерирует преобразование путем сравнения элементов матрицы косинуса направления (DCM) как функции углов поворота. Элементы DCM являются функциями единичного вектора кватерниона. Аэрокосмическая Blockset™ использует кватернионы, которые заданы с помощью скалярно-первого соглашения. Для получения дополнительной информации о матрице косинуса направления см. Алгоритмы.

Ограничения

  • Для 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-x, DCM определяется как:

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ψ)cosϕcosθ]

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

DCM=[(q02+q12q22q32)2(q1q2+q0q3)2(q1q3q0q2)2(q1q2q0q3)(q02q12+q22q32)2(q2q3+q0q1)2(q1q3+q0q2)2(q2q3q0q1)(q02q12q22+q32)]

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

ϕ=atan(DCM(2,3),DCM(3,3))=atan(2(q2q3+q0q1),(q02q12q22+q32))θ=asin(DCM(1,3))=asin(2(q1q3q0q2))ψ=atan(DCM(1,2),DCM(1,1))=atan(2(q1q2+q0q3),(q02+q12q22q32))

где И R1, и R2, и R3.

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

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

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