У меня есть датчик с 6 степенью свободы 3 axiz x, y, z и 3 углами рыскания, смолы и рулона. 3-осевое расстояние просто с использованием формулы расстояния, но как вычислить 3 угловых расстояния? Может кто-нибудь здесь, пожалуйста, помогите мне ???Я хочу создать формулу расстояния для 6 степеней свободы?
ответ
Yaw, pitch и roll представляют собой набор углов Эйлера, которые определяют поворот от одной системы координат, XYZ, в другую, X'Y'Z '. Это преобразование также может быть выражено как одно вращение вокруг произвольной оси. Если я правильно понял ваш вопрос, вы хотите, чтобы знал, что этот единственный угол поворота.
Можно преобразовать набор углов Эйлера в четырехэлементную структуру, называемую кватернионом.
Q4 = сов (рыскания/2) соз (шаг/2) соз (рулон/2) + Sin (рыскания/2) sin (шаг/2) sin (рулон/2)
q1 = cos (yaw/2) cos (pitch/2) sin (roll/2) - sin (yaw/2) sin (pitch/2) cos (roll/2)
q2 = cos (yaw/2) sin (pitch/2) cos (roll/2) + sin (yaw/2) cos (pitch/2) sin (roll/2)
q3 = sin (yaw/2) cos (pitch/2) cos (roll/2) - cos (yaw/2) sin (pitch/2) sin (roll/2)
Как только у вас есть кватернион, ось вращения и угол поворота легко вычисляются из компонентов кватерниона. Используя обозначения, приведенный выше автора,
Q = [Q4 Q1 Q2 q2]
Q4 = Cos (тэта/2)
q1 = sin (тэта/2)
q2 = грех (тета/2) B
q3 = грех (тета/2) C
где [ABC] является вектор в системе XYZ с указанием оси вращения, и тета угол поворота вы ищете ,
Таким образом, theta = 2 * acos (q4)
Это зависит от того, как угловые ориентации были физически применены. Можете ли вы описать физическую модель, которую измеряет датчик? – RBarryYoung
вдоль оси y, оси x и оси z. – Ambreen