Kinematics... again:/
29 Apr 2017 06:40 #92318
by Boogie
Kinematics... again:/ was created by Boogie
Hi folks!
have you seen detailed tutorials/instructions how to make non trivial kinematic module for machine like robot manipulator and how to compile it to run under linuxcnc? I like linuxcnc and i use it for my bench pcb plotter. It's standard trivkins machine and i'd like to make one that behave like the one in the video:
it is sooo hard to figure out how to bite this subject if you are not programist/mathematician and not english speaking guy (at least not good enough to understand complex descriptions that usually assume that the reader have Ph. D in programming or robotics:))
Let's make some tutorial:)
have you seen detailed tutorials/instructions how to make non trivial kinematic module for machine like robot manipulator and how to compile it to run under linuxcnc? I like linuxcnc and i use it for my bench pcb plotter. It's standard trivkins machine and i'd like to make one that behave like the one in the video:
it is sooo hard to figure out how to bite this subject if you are not programist/mathematician and not english speaking guy (at least not good enough to understand complex descriptions that usually assume that the reader have Ph. D in programming or robotics:))
Let's make some tutorial:)
Please Log in or Create an account to join the conversation.
29 Apr 2017 09:34 #92325
by andypugh
Replied by andypugh on topic Kinematics... again:/
It is impossible to do kinematics without mathematics, unfortunately. Though you can do it with school-level geometry.
There is a simple 2D example here:
linuxcnc.org/docs/2.7/html/motion/kinematics.html
There is a clever LinuxCNC kinematics model called "genserkins" which uses very clever maths (matrix manipulation) and Denavit Hartenberg parameters. Luckily you don't need to understand the maths to work out the parameters:
If you do have ambitions towards a robotics PhD, then there is this
linuxcnc.org/docs/devel/html/motion/5-axis-kinematics.html
But it was written by a professor of engineering, and as such fits your description exactly.
There is a simple 2D example here:
linuxcnc.org/docs/2.7/html/motion/kinematics.html
There is a clever LinuxCNC kinematics model called "genserkins" which uses very clever maths (matrix manipulation) and Denavit Hartenberg parameters. Luckily you don't need to understand the maths to work out the parameters:
If you do have ambitions towards a robotics PhD, then there is this
linuxcnc.org/docs/devel/html/motion/5-axis-kinematics.html
But it was written by a professor of engineering, and as such fits your description exactly.
Please Log in or Create an account to join the conversation.
01 May 2017 09:19 #92417
by Boogie
Replied by Boogie on topic Kinematics... again:/
Thank you Andy for reply. I'm afraid i'm too old to think about PhD in robotics:) I'll look at genserkins as you suggest. I did also read about D-H parameters. Clever though i'll have to read more to understand it enough.
Please tell me If i understand you right: i can create my own matrices according to D-H rules for both forward and reverse transformations and put them into genserkins and genserkins will do what? Then i will have to compile new kinematics module?
Linuxcnc reference i found here (point 7):
linuxcnc.org/docs/devel/html/motion/5-ax...inematics_components
says:
"The kinematics modules provided by LinuxCNC are typically written in the C-language. Since a standard structure is used, creation of a custom kinematics module is facilitated by copying an existing source file to a user file with a new name, modifying it, and then installing."
So do i have to write my own kinematics in C language or genserkins will create it based on D-H params i develop?
Have a good day.
Please tell me If i understand you right: i can create my own matrices according to D-H rules for both forward and reverse transformations and put them into genserkins and genserkins will do what? Then i will have to compile new kinematics module?
Linuxcnc reference i found here (point 7):
linuxcnc.org/docs/devel/html/motion/5-ax...inematics_components
says:
"The kinematics modules provided by LinuxCNC are typically written in the C-language. Since a standard structure is used, creation of a custom kinematics module is facilitated by copying an existing source file to a user file with a new name, modifying it, and then installing."
So do i have to write my own kinematics in C language or genserkins will create it based on D-H params i develop?
Have a good day.
Please Log in or Create an account to join the conversation.
01 May 2017 10:28 #92421
by andypugh
Replied by andypugh on topic Kinematics... again:/
No, if you use genserkins you just need to set the DH parameters in the HAL file. You don't need to see any matrices, and you don't need to compile anything.
Look at this example HAL file:
github.com/LinuxCNC/linuxcnc/blob/master...uma560_sim_6.hal#L37
However, genserkins can't be used for the robot in the video, because it only handles angular joints, and that robot had a sliding base joint.
Look at this example HAL file:
github.com/LinuxCNC/linuxcnc/blob/master...uma560_sim_6.hal#L37
However, genserkins can't be used for the robot in the video, because it only handles angular joints, and that robot had a sliding base joint.
Please Log in or Create an account to join the conversation.
02 May 2017 05:57 #92493
by Boogie
Replied by Boogie on topic Kinematics... again:/
that sliding joint... i thought that it would be easier because this joint coincide with X axis so it is trivial: joint 0 = X axis.
Please Log in or Create an account to join the conversation.
02 May 2017 08:33 #92495
by andypugh
Replied by andypugh on topic Kinematics... again:/
It is trivial if you are writing the kinematics from scratch, but not something that (as far as I know) genserkins can handle.
It might be that sliding joints are represented by special numbers in DH parameters. I don't know.
It might be that sliding joints are represented by special numbers in DH parameters. I don't know.
Please Log in or Create an account to join the conversation.
02 May 2017 08:53 #92497
by andypugh
Replied by andypugh on topic Kinematics... again:/
Here is a discussion about the kinematics of the actual machine in your first post:
sourceforge.net/p/emc/mailman/emc-users/...ail.com/#msg26845536
Missing from that conversation are several off-list messages that Viesturs and I exchanged. He did get quite a long way down the line of making a version of genserkins that handles sliding joints, I have attached the modified genserkins.c and gensekins.h files that we came up with, but be aware that they don't necessarily work
In the end Viesturs used a modified version of scarakins, called robotkins.c for that welding robot, I have also attached that.
sourceforge.net/p/emc/mailman/emc-users/...ail.com/#msg26845536
Missing from that conversation are several off-list messages that Viesturs and I exchanged. He did get quite a long way down the line of making a version of genserkins that handles sliding joints, I have attached the modified genserkins.c and gensekins.h files that we came up with, but be aware that they don't necessarily work
In the end Viesturs used a modified version of scarakins, called robotkins.c for that welding robot, I have also attached that.
Please Log in or Create an account to join the conversation.
04 May 2017 21:06 #92675
by Boogie
Replied by Boogie on topic Kinematics... again:/
How can i thank you for this? Now i'm reading it and trying to understand what is going on there. It will take same time and i'm sure more questions will arise. C-language file have to be compiled, right? And compillation process will create proper folders and files automatically, right??
Please Log in or Create an account to join the conversation.
04 May 2017 22:08 #92677
by andypugh
Replied by andypugh on topic Kinematics... again:/
You should be able to compile and install the robotkins.c file using the LinuxCNC Halcompile utility.
linuxcnc.org/docs/2.7/html/hal/comp.html
sudo halcompile --install robotkins.c
linuxcnc.org/docs/2.7/html/hal/comp.html
sudo halcompile --install robotkins.c
Please Log in or Create an account to join the conversation.
06 May 2017 08:09 #92731
by Boogie
Replied by Boogie on topic Kinematics... again:/
After reading:
linuxcnc.org/docs/2.7/html/hal/comp.html
i know that the robotkins.c (or other C language files with kinematics) is a real time component and it is to be compiled and installed 'outside the source tree' - but what does it mean 'outside the source tree'? You know the sentences like this make a non-linux user very confused. One is reading things like this and thinks he understand what he is reading but in fact he don't:)
I couldn't find the answer where should i go in the terminal? Should i be in home directory and then issue
sudo halcompile --install custonkim.c or maybe it is no important where am i? Where customkin.c file should be located when issuing halcompile?
Please tell me: after succesful compiling and installation of the new kinematics will there be a new configuration (i.e. 'customkin') available in 'My Configurations' tree in the LinuxCNC Configuration selector window?
Sorry for so newbie questions... it is all Gill Bates from Michaelsoft corp. fault;P
linuxcnc.org/docs/2.7/html/hal/comp.html
i know that the robotkins.c (or other C language files with kinematics) is a real time component and it is to be compiled and installed 'outside the source tree' - but what does it mean 'outside the source tree'? You know the sentences like this make a non-linux user very confused. One is reading things like this and thinks he understand what he is reading but in fact he don't:)
I couldn't find the answer where should i go in the terminal? Should i be in home directory and then issue
sudo halcompile --install custonkim.c or maybe it is no important where am i? Where customkin.c file should be located when issuing halcompile?
Please tell me: after succesful compiling and installation of the new kinematics will there be a new configuration (i.e. 'customkin') available in 'My Configurations' tree in the LinuxCNC Configuration selector window?
Sorry for so newbie questions... it is all Gill Bates from Michaelsoft corp. fault;P
Please Log in or Create an account to join the conversation.
Time to create page: 0.123 seconds