04-30-2013 03:36 PM - edited 04-30-2013 03:46 PM
I'm attempting to find the inverse kinematics of a user defined 4DOF robot.
I'm following example code found in the "Inverse Kinematics for Puma 560.vi". This example code runs just fine but when I try to find the inverse kinematics solution of another robot, I get an error.
I've attached a block diagram that has the forward kinematics working and the example code just pasted in... used as a test (although I did delete the code that finds the forward kinematic solutions of the Puma robot).
I've also attached code that substitutes the definition of the Puma with the 4DOF robot. This is the code where I get an error:
"NI_Kinematics.lvlib:Manipulator Jacobian (End Effector Frame).vi:2->NI_Kinematics.lvlib:Manipulator Jacobian (World Frame).vi:1->NI_Kinematics.lvlib:Inverse Kinematics (Point).vi->four joint robot arm w IK 2.vi" with error code: "-310041".
I think this might have to do with my robot definition... the number of links is different between the two... but I'm not sure.
Solved! Go to Solution.
04-30-2013 11:19 PM
I've expanded the number of joints to match those of the of the Puma (ie, a 6DOF arm). I can get the forward kinematics to work... but I can't get the inverse kinematics to converge to a solution.
So, two questions then...
Why does a 6DOF arm "work"... ie, why don't I receive the above error for a 6DOF arm but I do for a 4DOF arm?
(I don't see where I am using arrays of different sizes in the block diagram. Could it be that the "Initialize Plot.vi" expects arrays of certain sizes but this isn't documented?
Secondly, why won't the inverse kinematic solution converge to a solution?
v5 has both the forward and inverse kinematics included. I simplified the inverse kinematics loop significantly.
v6 has the inverse kinematic blocks removed so as to show that the 6DOF robot is in fact a valid configuration.
05-02-2013 05:59 PM - edited 05-02-2013 05:59 PM
ok. figured it out.
It turns out that the reason that the inverse kinematics weren't being calculated is because of the collapsed shoulder joing as defined in the D-H table in the "4 DOF arm" VI. I've added a non-zero length to the first link in the D-H table and am now seeing a stable IK solution.
11-06-2014 02:33 AM
Hello,
For your code, Can I know whehter you have considered the length on each joints, and relative rotation?
Thank you.
B.R
05-09-2015 07:01 AM
this error message appears when changing the x,y,z to max limit
05-27-2018 12:19 PM
Hi there, actually i am seeking to add make a 5 DOF robotic arm using LabVIEW . so may you please tell me how to adjust your code ?? waiting for your kindly response Sir,
Appreciate.
This my mail for further discussion dali.charfi@ieee.org
Thanks.
05-29-2018 05:41 PM
Considering that user commented on this post several years ago, I would suggest making a new post with more details for what you are trying to accomplish. What robotic arm are you trying to control? Is it the same as in this post? If so, I would believe you would need to add another dimension to match the number of joints you are working with.
05-29-2018 06:09 PM
Well i sought to do so, i didn't find any clue from where can i create a post !!
please tell where and how to post ? thanks
05-30-2018
12:28 PM
- last edited on
01-24-2025
12:09 PM
by
Content Cleaner
Now it is important to mention the context:
What is your robotic arm?
What code have you implemented by now?
What are the difficulties you are having?