02-14-2011 06:22 PM
Perhaps you can post your code, or a sanitized non-confidential version thereof so that I can troubleshoot this better.
02-14-2011 06:54 PM
Easier to modify the example code as follows:
Inverse Kinematics for Puma 560.vi add an indicator for the joint angles so the end-of-run angles are captured.
Run once and save a copy of the resulting end-of-run joint angles.
Create Puma560.vi change any “rotation" value(s) in the kinematic parameters constant cluster.
Run Inverse Kinematics for Puma 560.vi again and compare resulting end-of-run angles (I get no difference)
S_Kamath wrote:Perhaps you can post your code, or a sanitized non-confidential version thereof so that I can troubleshoot this better.
02-15-2011 03:47 PM
This is expected behaviour, if you want to make a persistent change use the offset field. i.e. take the joint angles and add them to the theta offset. You should only need to use the theta field in the configuration for links that are not revolute.
03-04-2011 12:15 PM
No, it is not working correctly!
If I want a joint (using the Puma example above) where the tupe goes into the face of the red square not the edge.
You can't do it, but you should be able to.
03-04-2011 01:12 PM
Perhaps you can be more clear about the failure mode you are describing. Word is that S_Kamath is the man.
Personally, I've given up using the LV Theta "Rotation" values. LVs implementation appears to use their "Joint Coordinate Offset" term the way I thought I the DH Theta "Rotation" was supposed to. From what I understood, the Theta term is an integral part of the arm description. In LV it appears to be a placeholder for your own zero rotation offset. Diving into their link transformation code it reveals that this term is very much not ignored. I just haven't spent the time to figure out why changing a Theta value has zero effect.
This only became an issue at assigning the end effector it's correct rotation. I started making more progress once I started using my own math from the the robots end effector flange. The solution is less general but it works. I know there are "get" and "set" end effector transform vis but I quickly got the functionality before looking into these further.
-T
03-04-2011 01:34 PM
I too am tring to create the end effector's correct rotation
to this end I took the Puma example and changed the DH constants to a control.
Now run the example with both vi's open, you can change the DH values and see the results.
There is NO combination of values that I can see that will allow the end effector it's correct rotation/placment.
By correct placment - I want the link to go into the RED square (going to next link) to be going into the face of the red square, not the side of the red square.
If I am wrong, please post the DH values that work.
Thanks
03-04-2011 01:40 PM
If I want a joint (using the Puma example above) where the tupe goes into the face of the red square not the edge.
You can't do it, but you should be able to.
I am not entirely certain that I understand your question. I think that what you want to do is have a joint that rotates about its X axis. This is not allowed in the DH convention, all joints should rotate about their Z- Axes.
Having gotten myself into this state before, I can suggest two nuggets of counter intuitive Denavit-Hartenberg wisdom.
1) The joint of your DH representation is not necessarily in the same place as the joint actuator of your physical robot arm. It can lie anywhere along the axis of rotation. This freedom is essential to succesfully describe some arms.
2) Building a DH matrix link by link is going to get you in trouble. You will often find yourself in a dead end where there is no apparent method to add the next link to your matrix. The solution is often to change the parameters of a link or two before the problem.
So in creating any arm, first set all joints as rotating about their z axes. Second, set all x axis pointing either in the direction of the previous or next link (depending on convention). Third, move joints along the axis of rotation as required to get solutions. And finally figure out the DH parameters of your arm.
04-08-2011 09:38 AM
I am trying to build a model of my fanuc robot arm.
And like the others i can not do it, because i dont know how to place the link orthogonal to the red square (refering to the visualization of the "Puma 590" example).
S_Kamath, if you can do it, please could you post a screenshot, plus the labview table with twist angle, length, rotation angle, and so on?
To make it more clear i have attached a screenshot. The yellow marked link should be in the direction of the green arrow. The rotational axis of both links attached to the joint should be the same. Is that possible?
Thank you.
04-12-2011 06:32 AM - edited 04-12-2011 06:33 AM
I have found a solution for this problem by using a "trick".
Just combine two joints and lock the first one by a constant. Please check the attached VI's for more information.