Как я могу получить ошибку между двумя кватернионами? - PullRequest
0 голосов
/ 21 января 2020

Спасибо за ваше время.

Предположим, у нас есть два 3-осевых угла Эйлера (в порядке X(Phi), Y(Theta), Z(Psi))

E1 = [ 5, 5, 5 ] and E2 = [ 6, 6, 6 ]

и преобразован в кватернион следующим образом

Q1 = [0.9972,    0.0416,    0.0454,    0.0416]
Q2 = [0.9960,    0.0495,    0.0549,    0.0495]

в случае Эйлера, просто, мы можем знать, что ошибки равны [1, 1, 1].

Но Quaternion - это расширенная сложная система, имеющая 3 вектора. Итак, нам нужно использовать правило кватернионов ошибок. правило:

error_quaternion = Q1 * conjugate(Q2) // Если требуется Q2,

или

error_quaternion = Q2 * conjugate(Q1) // Если требуется Q1 ,

Итак, если вычислить Q1 и Q2 с этим правилом, результат будет следующим:

Q_error = [0.9998, 0.0079, 0.0095, 0.0080]

и преобразование If это для Эйлера, результат выглядит следующим образом.

[0.9130, 1.0845, 0.9213]

Это совершенно не правильно. Как я могу найти кватернион ошибки, который соответствует с тем же значением Эйлер? Пожалуйста, дайте мне знать.

...