I am working on an ABB IRB120 simulation using MATLAB Simulink. I use the decoupling method to solve the inverse kinematic of the robot. However, I have some questions related to the computation of the last three joints (spherical wrist).
I have read many books and I found that the solutions for the last 3 joints are not the same for theta 5,theta 4, theta 6 consequently. My question is that: Those formulas that I found in books or in the INTERNET, aren't they the same, or dependent on the D-H parameters of the robot (how we choose alpha, adding special angles 0,pi,pi/2 to Theta...). If they are dependent on the D-H parameters, then how could I choose the easiest posture to solve the robot.
a. In the book Robot modeling and control (Siciliano), he chose the the final coordinate frame for the anthromopophic arm’s end-effector with X pointing upward (No special angle added to Theta6).
b. However, in RoKiSim, X points downward (Pi is added to Theta6). Thus, I have looked at other papers and I saw different formulas. The question is: Why they choose these postures, and how they got those formulas.
When I run the simulation, I saw that there are some points, the Theta 4 and Theta 5 rotate 180 degrees (change of signs), however, the end-effector is the same. Is there anyway for me to know if my code is correct (sample codes/ papers/ softwares…) so I can know I’m still on the right track.
I have built the robot and ready to implement the code at any time. I have built the controller and the only thing left is the kinematic itself. Should I keep enhancing my decoupling method inverse kinematic or move to analytical solutions, or any method that suit me. Please give me advice on this (I use 32bit ARM chip for the controller).