MATLAB: Finding the values that make the Jacobian matrix singular

jacobian matrixlinear algebrarobotics

I have a Jacobian matrix as,
  -L_1\sin\theta_3\sin\theta_1 &&-L_2\sin\theta_3\sin\theta_2&& \cos\theta_3(L_1\cos\theta_1+L_2\cos\theta_2)\\   L_1\cos\theta_1&&L_2\cos\theta_2&&0  \\   -L_1\sin\theta_1&&-L_2\sin\theta_2&&0  \\
I would like to find the values of theta 1,2,&3 that make J singular. I have L1=L2=0.130. How can I achieve this via Matlab? All I have is this:
L_1=0.130; %[m]

L_2=0.130; %[m]
J=[-L_1*sin(theta_3)*sin(theta_1) -L_2*sin(theta_3)*sin(theta_2) cos(theta_3)*(L_1*cos(theta_1) + L_2*cos(theta_2));
L_1*cos(theta_1) L_2*cos(theta_2) 0;
-L_1*sin(theta_1) -L_2*sin(theta_2) 0]; %Jacobian Matrix

Best Answer

Hi Missael,
there is probablty a way to do this with symbolic variables in Matlab, but it's not necessary because the determinant is easy to write down. It's
cos(th3)*(L1*cos(th1) + L2*cos(th2))*(sin(th1)*cos(th2) - sin(th2)*cos(th1))
= cos(th3)*(L1*cos(th1) + L2*cos(th2))*(sin(th1-th2))
There are three different ways that this can equal zero.
cos(th3) = 0
or
(L1*cos(th1) + L2*cos(th2)) = 0
or
(sin(th1-th2)) = 0
and in all three cases the unspecified angles can be anything. Especially considering the 2pi ambiguity with trig functions, there are many ways to accomplish this.
Related Question