Quaternions to Direction Cosine Matrix

Преобразуйте вектор кватерниона в матрицу косинуса направления

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

  • Quaternions to Direction Cosine Matrix block

Описание

Блок Quaternions to Direction Cosine Matrix преобразует вектор кватерниона с четырьмя элементами (q 0, q 1, q 2, q 3) в матрицу косинуса направления 3 на 3 (DCM). Выведенный DCM выполняет координатное преобразование вектора в инерционных осях в вектор в осях тела. Аэрокосмическая Blockset™ использует кватернионы, которые заданы с помощью скалярно-первого соглашения. Для получения дополнительной информации см. «Алгоритмы».

Порты

Вход

расширить все

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

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

Выход

расширить все

Матрица косинуса направления, возвращенная как матрица 3 на 3.

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

Алгоритмы

Используя алгебру кватерниона, если P точки подвержена вращению, описанному q кватерниона, она изменяется на P′, заданную следующей зависимостью:

P=qPqcq=q0+iq1+jq2+kq3qc=q0iq1jq2kq3P=0+ix+jy+kz

Расширение P′ и сбор терминов в x, y и z дает следующее для P′ с точки зрения P в векторном формате кватерниона:

P=[0xyz]=[0(q02+q12q22q32)x+2(q1q2q0q3)y+2(q1q3+q0q2)z2(q0q3+q1q2)x+(q02q12+q22q32)y+2(q2q3q0q1)z2(q1q3q0q2)x+2(q0q1+q2q3)y+(q02q12q22+q32)z]

Так как отдельные условия в P′ - линейные комбинации условий в x, y, и z, матричные отношения, чтобы вращать вектор (x, y, z) к (x′, y′, z′) могут быть извлечены из предыдущего. Эта матрица вращает вектор в инерционных осях, и, следовательно, транспонируется, чтобы сгенерировать DCM, который выполняет координатное преобразование вектора в инерционных осях в оси тела.

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

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

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

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