Для испытания робототехники на Coursera мне нужно реализовать простую версию обратной кинематики для системы с двумя руками.Это в качестве справочной информации.Я поставил уравнения в символической форме, которые уже работали для прямой кинематики.Тогда я пытаюсь решить это и получить два одинаковых решения.
function [rads1,rads2] = computeRrInverseKinematics(X,Y)
syms theta1 theta2 ;
eqns= [cos(theta1)+cos(theta2+theta1)==X, sin(theta1)+sin(theta2+theta1)==Y];
[theta1, theta2]=solve(eqns, [theta1 theta2]);
rads1=theta1;
rads2=theta1;
То, что я должен получить, или, по крайней мере, я думал, это одно значение для theta1 и theta2 - два восторга, два результата, обычно.Вот что я получаю:
t1 =
2*atan(7^(1/2)/3 + 4/3)
-2*atan(7^(1/2)/3 - 4/3)
t2 =
2*atan(7^(1/2)/3 + 4/3)
-2*atan(7^(1/2)/3 - 4/3)
Есть идеи, что я сделал не так?Спасибо.