Rotation Angles to Quaternions

Вычислите кватернион от углов поворота

  • Библиотека:
  • Aerospace Blockset / Утилиты / Преобразования Осей

  • Rotation Angles to Quaternions block

Описание

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

Ограничения

  • Ограничения для ZYX, ZXY, YXZ, YZXx, y, z , и XZY реализации генерируют угол R2, который является между ±90 градусами, и R1 и углами R3, которые являются между ±180 градусами.

  • Ограничения для ZYZ, ZXZ, YXY, YZY, XYX, и XZX реализации генерируют угол R2, который является между 0 и 180 градусами, и R1 и углами R3, которые являются между ±180 градусами.

Порты

Входной параметр

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

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

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

Вывод

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

Кватернион в виде 4 1 вектора.

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

Параметры

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

Задает выходной порядок вращения для трех углов поворота ветра.

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

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

Алгоритмы

Вектор кватерниона представляет вращение вокруг единичного вектора (μx,μy,μz) через угол θ. Сам модульный кватернион имеет модульную величину и может быть написан в следующем векторном формате:

q=[q0q1q2q3]=[cos(θ/2)sin(θ/2)μxsin(θ/2)μysin(θ/2)μz]

Альтернативное представление кватерниона как комплексное число,

q=q0+iq1+jq2+kq3

где, в целях умножения:

i2=j2=k2=1ij=ji=kjk=kj=iki=ik=j

Преимущество представления кватерниона таким образом является простотой, которой продукт кватерниона может представлять получившееся преобразование после двух или больше вращений.

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

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

Представленный в R2007b