Puma560 - Geometry and building other 6 axis robots

More
18 Mar 2020 01:29 #160606 by felixcnc
Hello,

I am trying to change the PUMA geometry, basically to create a new robot with 6 joints but I am failing miserably.

What I want to build is rather simple because all the joints must start at the same plane (not like PUMA which have some joints in different planes).

I have attached my drawing of joints. I used the following but it's wrong, when I press home I get "inverse kinematics failed". According to my graph that SHOULD be able to be fit into a puma. I configured the DH parameters like this:
setp genserkins.A-0 0
setp genserkins.A-1 0
setp genserkins.A-2 0
setp genserkins.A-3 0
setp genserkins.A-4 0
setp genserkins.A-5 0

setp genserkins.ALPHA-0 0
setp genserkins.ALPHA-1 1.570796326
setp genserkins.ALPHA-2 -1.570796326
setp genserkins.ALPHA-3 -1.570796326
setp genserkins.ALPHA-4 0
setp genserkins.ALPHA-5 1.570796326

setp genserkins.D-0 14
setp genserkins.D-1 0
setp genserkins.D-2 20
setp genserkins.D-3 0
setp genserkins.D-4 10
setp genserkins.D-5 5

I know already it's wrong (or not correct given the PUMA560 kinematics), because when I try to home it it returns an "invalid kinematic error".

So my question perhaps more GENERICALLY, is there any resource or explanation I can read about how to define these modified DH parameters given a very simple robot like this one?

For example let's say the robot only has 5 segments with the same size and none of them are orthogonal? (which in this case would define just a tube with some torsion).

Thanks in advance for your help, you always have been a source of knowledge when I am in moments despair... :-D

Thanks!
Cheers
Attachments:

Please Log in or Create an account to join the conversation.

More
19 Mar 2020 12:01 #160735 by bbsr_5a
this looks like a scara with a robot base
but why
there is a Reason the WORLD uses 6DOF or Scara or even Hexapot
not a mixing of all

you may run in big trouble on the system to be aligned

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 03:29 #160828 by felixcnc
Well.... the main reason is that I am not a robotic expert :-)

From my notepad the robot should look like the picture I attached.

Not sure if I can fit that inside a puma geometry or not. I believe I should, and that's basically what I am trying to do.

Thanks!
Cheers
Attachments:

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 20:02 - 20 Mar 2020 20:12 #160933 by Aciera
Felix

Have you looked at this:

Be aware that genserkins uses "modified" DH parameters.

The DH definitions are the ones used by John J Craig in
"Introduction to Robotics: Mechanics and Control"

look that up and read the relevant sections (Pages 68,69).

Looking at your sketch I have a feeling that your alphas should always be + or - 1.570796326 except alpha-0 which has to be 0 by definition with the modified DH convention. I also find it strange that you have all the a values set to 0. In your case a and d values should have alternate entries.
Another thing that it may be useful is to set the home position in the ini to 0.001 instead of 0 as you might create a home position at a singularity which produces the kinematic failure.
Last edit: 20 Mar 2020 20:12 by Aciera. Reason: indicate relevant pages

Please Log in or Create an account to join the conversation.

More
24 Mar 2020 12:45 #161347 by andypugh

felixcnc wrote: According to my graph that SHOULD be able to be fit into a puma.


Genserkins should work for any serial robot. (which includes single-sided SCARA, for example, but not Delta)

Be aware that there are two alternative conventions for the DH parameters, and Genserkins uses the one known as "modified DH parameters"

From the man page "The DH definitions are the ones used by John J Craig in "Introduction to Robotics: Mechanics and Control""

Which is a shame, it would have been more convenient had it not been based on a reference that is only available in a very expensive book.
www.amazon.co.uk/Introduction-Robotics-M...-Craig/dp/0133489795

Other than that, I can only add that I share your pain, I am struggling with a 5-joint Faro arm and an arduino library that doesn't even mention which convention it uses.

Please Log in or Create an account to join the conversation.

More
26 Mar 2020 01:38 #161528 by Aciera

Which is a shame, it would have been more convenient had it not been based on a reference that is only available in a very expensive book.

I'm not sure if I'm allowed to say that here but the relevant sections are also available online as pdf.

One way to find out which DH convention is used is to look for a working configuration and look at the DH parameters. With the modified convention used in genserkins parameters a-0 and alpha-0 are both 0 by definition.
If you have a dimensional drawing of your robot you can also use another trick: set all the lenghts (ie a and d parameters) to a very small number (eg 0.01) and work your way up the robot arm. This way you can effectively move the tcp to all the joints starting from the base then use the demo mode of LinuxCNC and verify the calculated xyz positions by rotating the joints.
It took me many attempts to figure it all out for my 6 axis arm but, as usual, in retrospect it all seems so logical.

Please Log in or Create an account to join the conversation.

More
27 Mar 2020 16:51 #161722 by andypugh
What would be really useful would be a diagram of a robot arm with the actual HAL pins as annotations for each measurement.

Please Log in or Create an account to join the conversation.

More
28 Mar 2020 12:10 - 28 Mar 2020 12:11 #161795 by Aciera

diagram of a robot arm with the actual HAL pins as annotations for each measurement.

Do you mean how the DH-parameters are derived from the diagram of a specific robot arm?
If so I could provide that for mine.
Last edit: 28 Mar 2020 12:11 by Aciera.

Please Log in or Create an account to join the conversation.

More
28 Mar 2020 14:06 #161809 by andypugh

Aciera wrote:

diagram of a robot arm with the actual HAL pins as annotations for each measurement.

Do you mean how the DH-parameters are derived from the diagram of a specific robot arm?
If so I could provide that for mine.


That would be useful. I have never managed to figure out how the HAL pin names correspond to the references I have seen.

Please Log in or Create an account to join the conversation.

More
30 Mar 2020 09:59 #162089 by Aciera
I uploaded a PDF document on my other thread on how I derived the modified DH-parameters and how to set the relevant genserkins HAL pins.

forum.linuxcnc.org/10-advanced-configura...th-simulation#158467

I hope its useful
The following user(s) said Thank You: andypugh, tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.257 seconds
Powered by Kunena Forum