I am working on calculating the Jacobian Determinant to find the singularity of my 5 DOF Robotic arm, I have calculated the jacobian matrix, and the matrix I got is a very large value
As it is non square matrix(6x5),For singularity I am using Pseudo Inverse method( I studied in a Research Paper)
Jinv=(Jtrans)(Inverse(JJtrans))
But In Matlab when I calculate the Inverse of (J*Jtrans) It goes Out Of memory, what is the alternate or right method to do that
I know It is not the Matlab forum but I want to know is that right jacobian matrices Or I am doing some thing wrong in calculating the jacobian( as being very large matrice)I am also attaching the code am using
-
$\begingroup$ I am having issue with understanding the objective here. Because if you are trying to understand why you are getting a singularity, then it's probably because your robot is underactuated. If you still want to invert your jacobian, can't you just augment your Jacobian, by removing the specific DoF your robot can't achieve? I'm thinking something like from this link: robotacademy.net.au/lesson/jacobian-and-number-of-robot-joints alternatively, you could maybe check "pseudo damped inverse jacobian" methods. $\endgroup$– SpacemanDec 12, 2020 at 16:10
-
$\begingroup$ I want to find the singularity if any, simply I want to find the determinant and inverse, $\endgroup$– Muzammil IbrahimDec 14, 2020 at 4:42
1 Answer
Are you trying to somehow use this to determine lengths of the linkages later or are you trying to find the singular pose of one specific manipulator?
In case you are doing a study on how to calculate linkages lengths, you need a PC with more RAM if you want to progress.
If you already have values for the lengths, you should not use these as symbols, just use them as values instead. The only symbols should be the joint angles. That will make the matrix smaller and will fit in memory.
-
$\begingroup$ I have also tried using length values $\endgroup$ Dec 14, 2020 at 4:44
-
$\begingroup$ still out of memory with length values? that should not be the case. can you post that code instead? $\endgroup$– 50k4Dec 14, 2020 at 11:00