Quaternions to Direction Cosine Matrix

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

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

  • Quaternions to Direction Cosine Matrix block

Описание

Блок Quaternions to Direction Cosine Matrix преобразовывает четырехэлементный модульный вектор кватерниона (q 0, q 1, q 2, q 3) в 3х3 матрицу направляющего косинуса (DCM). Выведенный DCM выполняет координатное преобразование вектора в инерционных осях к вектору в осях тела. Aerospace 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++ с помощью Simulink® Coder™.

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