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 на 3-бай- M, содержащие матрицы косинуса M направления.

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

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

b=[bxbybz]

где:

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

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

Ссылки

[1] Dai, J.S. «Euler-Rodrigues изменения, кватернионное сопряжение и внутренние связи». Механизм и теория машин, 92, 144-152. Elsevier, 2015.

См. также

| | | |

Введенный в R2017a