exponenta event banner

dcm2rod

Преобразование косинусной матрицы направления в вектор Эйлера-Родригеса

Описание

пример

R = dcm2rod(dcm) функция вычисляет вектор Эйлера-Родригеса (R) от косинусной матрицы направления. Эта функция применяется только к координатно-косинусным матрицам, ортогональным с определителем + 1.

R = dcm2rod(dcm,action) выступает action если косинусная матрица направления недопустима (не ортогональна).

R = dcm2rod(dcm,action,tolerance) использует tolerance уровень для оценки, если направление косинусная матрица, n, является допустимым (ортогональным).

Примеры

свернуть все

Определите вектор Родригеса по косинусной матрице направления.

DCM = [0.433 0.75 0.5;-0.25 -0.433 0.866;0.866 -0.5 0.0];
r = dcm2rod(DCM)
r =

    1.3660    0.3660    1.0000

Определите вектор Родригеса по косинусной матрице направления, проверенной в пределах допуска.

DCM = [0.433 0.75 0.5;-0.25 -0.433 0.866;0.866 -0.5 0.0];
r = dcm2rod(DCM,'Warning',0.1)
r =
    1.3660    0.3660    1.0000

Входные аргументы

свернуть все

3-by-3-by-M, содержащий М косинусных матриц направления.

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

Поведение функции при недопустимой косинусной матрице направления (не ортогональной).

  • Предупреждение (Warning) - отображает предупреждение и указывает, что матрица направления косинуса недопустима.

  • Ошибка - отображает ошибку и указывает, что матрица направления косинуса недопустима.

  • Нет - не отображает предупреждение или ошибку (по умолчанию).

Типы данных: char | string

Допуск допустимости косинусной матрицы направления, заданный как скаляр. Функция считает косинусную матрицу направления действительной, если выполняются следующие условия:

  • Транспонирование матрицы направления косинуса само по себе равно 1 в пределах заданного допуска (transpose(n)*n == 1±tolerance)

  • Определитель косинусной матрицы направления равен 1 в пределах заданного допуска (det(n) == 1±tolerance).

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

Выходные аргументы

свернуть все

M-by-3 матрица, содержащая М векторов Родригеса.

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

Алгоритмы

Вектор Эйлера - Родригеса b⇀ представляющий поворот путем интегрирования направления косинуса оси вращения с касательной половины угла поворота следующим образом:

b→=[bxbybz]

где:

bx=tan (12θ) sx, by=tan (12θ) sy, bz=tan (12θ) sz

являются параметрами Родригеса. Вектор s⇀ представляет единичный вектор, вокруг которого выполняется вращение. Из-за касательной вектор поворота неопределён, когда угол поворота равен ± pi радиан или ± 180 o. Значения могут быть отрицательными или положительными.

Ссылки

[1] Dai, J.S. «Вариации формулы Эйлера-Родригеса, кватернионное сопряжение и внутренние связи». Механизм и теория машин, 92, 144-152. Elsevier, 2015.

См. также

| | | |

Представлен в R2017a