Спасибо за ваше время.
Предположим, у нас есть два 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]
Это совершенно не правильно. Как я могу найти кватернион ошибки, который соответствует с тем же значением Эйлер? Пожалуйста, дайте мне знать.