Matlab: дубликаты результатов с символическим решателем для системы двух тригонометрических уравнений? - PullRequest
0 голосов
/ 02 октября 2018

Для испытания робототехники на 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) 

Есть идеи, что я сделал не так?Спасибо.

...