6-axis arm, where to start LinuxCNC configuration?
11 Dec 2014 03:48 #53899
by cwmk577
6-axis arm, where to start LinuxCNC configuration? was created by cwmk577
Hi all,
I've been using LinuxCNC for about 5 years now including on my Tormach mill currently so I am familiar with the basics of the system. I'm building a 6-axis arm and have made enough progress with the mechanics and electronics that it's time to get serious about the control side. I would like to get it running with LinuxCNC if possible.
The arm currently has a reach of about 31" (~78cm) and is designed to be capable of moving at least one pound (~450g) at a reach of 24" with reasonable speed. It uses ordinary bearings, gears, and geared steppers so the parts cost and complexity are relatively low. I'm documenting it all to be an open-source design to be useful to others who would like a robot arm with decent payload and reach that can be built for under $2000.
Here is a video of a payload test this past weekend:
This is being operated by LinuxCNC using an ini file from my old 7x lathe conversion, so it is not really useful except for basic tests. I would like to get it working with a proper configuration with inverse kinematics and world-mode coordinates and all the other fun stuff. I know this won't be a point-and-click setup
Anyway, what I need are some hints on how to start getting a LinuxCNC configuration together for this. I'm pretty familiar with HAL and INI files, and I know how to get signals to stepper drives, but my only experience is with mills and lathes using a precompiled LiveCD build and the stepconf wizard. So I have a rough sense I will need a bunch of new parts and will probably have to set up largely from scratch, but not really sure where to begin.
Thanks in advance!
I've been using LinuxCNC for about 5 years now including on my Tormach mill currently so I am familiar with the basics of the system. I'm building a 6-axis arm and have made enough progress with the mechanics and electronics that it's time to get serious about the control side. I would like to get it running with LinuxCNC if possible.
The arm currently has a reach of about 31" (~78cm) and is designed to be capable of moving at least one pound (~450g) at a reach of 24" with reasonable speed. It uses ordinary bearings, gears, and geared steppers so the parts cost and complexity are relatively low. I'm documenting it all to be an open-source design to be useful to others who would like a robot arm with decent payload and reach that can be built for under $2000.
Here is a video of a payload test this past weekend:
This is being operated by LinuxCNC using an ini file from my old 7x lathe conversion, so it is not really useful except for basic tests. I would like to get it working with a proper configuration with inverse kinematics and world-mode coordinates and all the other fun stuff. I know this won't be a point-and-click setup
Anyway, what I need are some hints on how to start getting a LinuxCNC configuration together for this. I'm pretty familiar with HAL and INI files, and I know how to get signals to stepper drives, but my only experience is with mills and lathes using a precompiled LiveCD build and the stepconf wizard. So I have a rough sense I will need a bunch of new parts and will probably have to set up largely from scratch, but not really sure where to begin.
Thanks in advance!
The following user(s) said Thank You: Ehsan_R
Please Log in or Create an account to join the conversation.
11 Dec 2014 19:31 - 11 Dec 2014 19:42 #53913
by andypugh
Replied by andypugh on topic 6-axis arm, where to start LinuxCNC configuration?
If you start LinuxCNC from the CNC menu so that you get the config selector, have a look in sim->axis->bismach->puma for a pair of sample configs running Puma style robots and with a nice Vismach preview of a similar machine
The puma_sim_6 config uses "pumakins". This has 4 HAL parameters that need to be set to suit your robot arm lengths. It uses only 4 parameters, (DH, see later) but the sample hal configs don't seem to demonstrate how to set them (the sim config uses the defaults)
The puma560 config uses "genserkins" which is a more complex module that can support a much wider variety of robots. And therefore needs more parameters defining. Genserkins uses Denavit-Hartenberg parameters, there was a nice video explanation of them on the Wikipedia page ( en.wikipedia.org/wiki/Denavit%E2%80%93Hartenberg_parameters ) but that appears to have gone. I think it was this one:
The puma560 config does have all the "setp" commands to set up the DH parameters.
linuxcnc.org/docs/html/man/man9/kins.9.html
The puma_sim_6 config uses "pumakins". This has 4 HAL parameters that need to be set to suit your robot arm lengths. It uses only 4 parameters, (DH, see later) but the sample hal configs don't seem to demonstrate how to set them (the sim config uses the defaults)
The puma560 config uses "genserkins" which is a more complex module that can support a much wider variety of robots. And therefore needs more parameters defining. Genserkins uses Denavit-Hartenberg parameters, there was a nice video explanation of them on the Wikipedia page ( en.wikipedia.org/wiki/Denavit%E2%80%93Hartenberg_parameters ) but that appears to have gone. I think it was this one:
The puma560 config does have all the "setp" commands to set up the DH parameters.
linuxcnc.org/docs/html/man/man9/kins.9.html
Last edit: 11 Dec 2014 19:42 by andypugh.
Please Log in or Create an account to join the conversation.
16 Dec 2023 06:22 #288299
by Ehsan_R
Replied by Ehsan_R on topic 6-axis arm, where to start LinuxCNC configuration?
Hello, I hope you are well.
I also want to do something similar to your work.
Is it possible to share your experience with us? And write what stage you are at
I also want to do something similar to your work.
Is it possible to share your experience with us? And write what stage you are at
Please Log in or Create an account to join the conversation.
Time to create page: 0.062 seconds