Postprocessor for puma type robot

More
22 Mar 2019 21:34 #129295 by Marcodi
Hi everyone.


Me and Janos. We are building robots together. We can solve all linuxcnc related hardware issues so this post is not about this.

I am asking someone to write a postprocessor for puma style robots in either Siemens nx or solidcam.

The question that pops up now on which we both don't have an answer is how should the gcode be built up.

I believe that the post-processing part is the hardest problem for everyone when working with CNC machines. We will share the postprocessor here for anyone to use but we need some help now for an in-depth explanation to the builder how the gcode needs to be build up.

I heard from Andy before that it needs to be centertoolpoint coordinates. But we would be grateful if we could get some more info than this. We know that the robot movements are based on the kinematics but that doesn't answer the question on how the gcode should be build up.

After some reading I have seen many times XYZABC but relative to what.

Most cam programs will generate 5 axis gcode XYZAB (full turning head) easily. Could this be used to get the kinematics to move correctly.

This may seem like a strange question but imagine if linuxcnc would have a postprocessor for Siemens NX for robotic movements. A whole new universe would open for future linuxcnc users.

This development comes at a price which I am willing to pay and share later on. But I need some help from you guys to explain the post processer builder how and what to write.

Hope we can work together to get a working linuxcnc postprocessor for robots on the wiki!

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

More
22 Mar 2019 22:06 - 22 Mar 2019 22:07 #129299 by Grotius
If you have a pre-processor that has j1 to j5 you can use that as post-processor for j1 to j6 with minimal changes if it is a joint based machine code. If it is xyzab, you have to do calculation's in c or in python to do transform movement's (interpolation).

I think when you do this on a paper with a calculator, you can do this in one week. Later on you can make a code of this. Or in fact translate this to computer code. My problem 10 years ago was i lost the code i made in excel, based on a 6 axis kuka robot.

Tesla has many kuka's in the factory i saw on youtube.
Last edit: 22 Mar 2019 22:07 by Grotius.

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

More
22 Mar 2019 22:14 #129300 by Marcodi
Hi Grotius.

What you mention is not the idea. We need to be able to design complicated parts in cad. Make cam and end up with gcode linuxcnc can use. We are talking Siemens NX or solidworks/solidcam. So no ability to manually generate anything.

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

More
22 Mar 2019 22:30 - 22 Mar 2019 22:32 #129302 by Grotius
The manual thing is only designing your source code.

If you have the solidworks g-code output and you now what kind of code need to move your machine, it can be automated easy.
Like G64P0.01 is standard for linux.

A bash script can do the job. A python gui code can do certain job's automaticly, like execute a c code for read in and read out.

I need more info. Manual generating code is not the way it should be indeed.
Last edit: 22 Mar 2019 22:32 by Grotius.

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

More
22 Mar 2019 22:50 #129306 by Marcodi
Hi Grotius,

That is exactly my question: what kind of gcode need solidcam generate and what code would be needed to move the machine if we use the puma kinematics that linuxcnc has already installed? You are assuming I know the answer to my own question :)

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

More
22 Mar 2019 23:08 #129309 by Grotius
I am not in the mood for solidcam, but for linux the first code line could be :

loadrt pumakins (linuxcnc.org/docs/devel/html/man/man9/kins.9.html)

If you find a complete pumakins example, load this one in a simulated linuxcnc version. Then do some g-code test's.
If the g-code is not compatible your gremlin screen becomes black. :blink:

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

More
23 Mar 2019 05:42 #129328 by aleksamc
Hi. What system automate robot? Does it Puma or you`ve changed it to linuxcnc?

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

More
23 Mar 2019 09:43 #129346 by Marcodi
The robot is running on linuxcnc. Just like the the vismach SIM puma robot on linuxcnc.

We want to create a postprocessor for linuxcnc for a 6 DOF robot with 7th lineair axis to move the robot side to side for bigger reach.

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

More
23 Mar 2019 16:46 #129378 by aleksamc
I realy don't know creating postprocessors for Siemens NX or SolidCAM, but I know how to make it in PowerMill. It's relatively easy in it.

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

More
26 Mar 2019 14:42 #129690 by andypugh

Most cam programs will generate 5 axis gcode XYZAB (full turning head) easily. Could this be used to get the kinematics to move correctly.


Yes. If the kinematics in LinuxCNC is set up correctly then the same XYZAB G-code should run with a Puma robot, a gantry mill or anything else. (Or, more usefully for a different Puma with different arm lengths)

That is the point of using kinematics.

XYZ describes the position in space, and then AB describe the angle between the tool axis and the Y axis in the YZ plane and the X axis in the XZ plane (Or, at least I think that is the definition of the AB angles)

You can experiment with the Vismach sim configs for Puma, gantry and tilting table machines by picking them from the LinuxCNC config picker.

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

Time to create page: 0.149 seconds
Powered by Kunena Forum