Robots in Architecture Forum

KUKA|prc - parametric robot control for Grasshopper => Support => Topic started by: sialam on October 30, 2020, 06:05:42 PM

Title: kuka PRC for parametric Laser Cladding
Post by: sialam on October 30, 2020, 06:05:42 PM
Hello everyone.
My name is Syed and I am a student at University of Alberta, I am working in the automation of a laser cladding facility along with another fellow in the university. As for our setup we have a Laserline 9kw laser,  a Thermach powder feeder, a siemens PLC, a Kuka kr16 and a dkp400, in terms of software we decided to use Kuka prc as we believe it truly potentializes the  flexibility and ease of programming for multiple and complex geometries of our worn out parts that we are working in repairing.

So our workflow involves a 3D scanner that we use to create our model of the worn out part and then we use the 3D model in rhino in order to create the toolpath adding polylines. Once we do this, the laser and powders are controlled with the I/Os of the Beckhoff module and the siemens PLC.

Any how we are now struggling when we try to use our DKP and maintaining the tool as statically as possible and let the dkp do the most of the work in terms of moving. We are aiming at rebuilding a pipe as a test but for now we are using a plate.

My specific question is what type of values does the external axis accepts, angles? vectors? I tried to find this on the documentation but probably I missed it and just can't figure out and understand how should I input the values and also understand what I am inputting.

Finally I want to thank Karl and Johannes, your work is amazing and we are using most of the resources to put this together. My colleague Daniel reached Karl I believe but we didn't wanted to share anything until we had something much more useful or specific. So now We are showing our work here in order to share, hoping to get a bit of help as well as show the capabilities of in engineering processes. We will be featured in WELD magazine soon talking about our setup and the use of parametric programming and we are very happy to share this with you and hope to get more thing and collaborations in the future.

Thanks in advance  for everything and hope you find this interesting.

Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on November 02, 2020, 07:48:58 AM
Hello Syed,

The external axis uses simple degrees as the input value, in the case of the DKP you have got one axis that sets the tilt and one that sets the rotation. Which one is E1 and which one is E2 depends on your particular setup and can be changed in the simulation (to fit your physical setup!) by right-clicking the DKP 400 component.
You can of course calculate the value so that e.g. the tool stays as vertical as possible, that code may be useful as a pointer, through it only uses one rotational axis:
https://forum.robotsinarchitecture.org/index.php/topic,822.0.html
Give it a try and if you get stuck somewhere, let me know - and clearly define what movement you want to delegate to the DKP, "most work" is too vague, do you want to keep the tool vertical? Keep the robot very close for stability?

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on November 04, 2020, 08:23:19 PM
Hi Johannes
Thanks so much for the reply, sorry if my description is not accurate.

What I mean is I want the e1 to maintain a 90 degree angle always and then the e2 to continuously rotate if necessary according to the toolpath, i.e. if I put a pipe in our chuck, I want e2 to rotate continuously and the tool maintain its position and just move a bit further to the end of the piece after every iteration.

I just downloaded the code that you pointed to me I will study the case and try again and let you know how are we doing. Thanks for the assistance.

We are working on a demo incorporating the Inconel powders and the laser so we might have a video of this to share with all of you guys. Also the Weld magazine should be out soon, I'll post the link for anyone to have a look at what we wrote, feedbacks, comments and anything is very well appreciated.

Johannes, Thanks again and I'll be in touch with you.

Syed

Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on November 05, 2020, 09:00:11 AM
Hello Syed,

I think the linked code should work well for that, please give it a try and if it doesn't work as expected let me know and I'll look at it in detail, OK?
And it would be great if you could post a link to the article you mentioned once it's online!

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on November 12, 2020, 07:48:14 PM
Hi Johannes
I'm still working on the code you sent me trying to understand each part of it, I'm not sure if I understand everything correctly but also I am configuring the tool, the positioner and everything according to our setup.

I attached our old code which has almost everything already configured according to the post you shared here https://forum.robotsinarchitecture.org/index.php/topic,115.0.html (https://forum.robotsinarchitecture.org/index.php/topic,115.0.html) , anyway we cant make that one work. I also attached a draft of how we want the process to run. Which is basically leave the positioner first axis always at 90 degrees, then rotate continuously rotate the second axis and let the kuka robot almost all the time at 90 degrees form the surface of the working piece.

Taking a look at the code you sent me I believe that I might have to change the orientation planes according to the object, process direction and robot tool, right? anyway I will dig more into it .

We are completely new to rhino and Grasshopper, so that is why we are taking sometime in not just making it work but actually understanding the workflow, sorry if that is a but annoying. For sure we Will share with you guys the link of the article.

Kind regards

Syed

Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on November 12, 2020, 11:32:48 PM
Hi Johannes

I've been working in the code and got better results but my toolpath seems to be wrong aligned, I assume that the transformation done ( rotate, orient, rotate) in the code has to be coherent to my turn table and process directions right? how do I evaluate this. I'm trying to understand the whole set of operations.

I put a green rectangle on the part of the code I am talking about, They yellow rectangles represent the code I changed in order to get what seems a better orientation of my whole process. (turntable, piece).

I hope this is a clear explanation.


If not please let me know.

Thanks

Syed
Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on November 13, 2020, 01:51:27 PM
Hello Syed,

That was a bit tricky, the challenge is that when you calculate an angle, you get some value in degrees, let's say 355 degrees and 5 degrees. When the turntable moves from 355 to 5 it will go 350 degrees in negative direction. What you want it to do is to move from 355 to 365, i.e. just 10 degrees.
I made a quick C# script for that, but treat it carefully as I'm pretty sure that there are border-case where it does not work. I only tested that with your current setup.
The rest was pretty straightforward. Just note that there are some positions where the robot runs into A5 limits. Probably some normals of faces are a bit off in the 3D scan, smoothing the scan might help for that.
Also, I would strongly suggest to use ReduceMesh to reduce the complexity of mesh geometry you import into Grasshopper.

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on November 16, 2020, 06:31:34 PM
Hi Johannes

Sorry for my late reply, Friday we needed to do some stuff and I was not able to work on the programming part of the project. Any how here I am and  I will download the file, scan another part and test it.

I believe we can also reduce the mesh when scanning, I will look at our options in order to have a native file from the 3D scanner, any how I will also test the ReduceMesh in Rhino.

I'll start to work in the scans today and get to you, I appreciate your help.

I'll keep you posted.

Kind Regards
Syed
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on December 25, 2020, 10:16:42 PM
Hi Johannes

These past days have been very intense, we faced an early shutdown of our lab due to health regulations during the pandemic. Hence we have to prepare a few things and got a bit disconnected from the project itself to solve other issues.

Anyway, we have been working with the 3D scanning pre-processing, location of the coordinate system of the scanned object. Reduction of the Stl file, recognition of the Area of Interest ( for cladding purposes). Tool Calibration to achieve repeatability and accuracy with any nozzle and different powder feeder speeds. ( please take a look at attached image).

In the mean time I wanted to thank you Johannes, Karl and every member of the forum. Every sentence of information is truly valuable. We are taking a week break to rest but hopefully we will be able to catch up  soon continuing our discussion and development of this exciting applications.

In the meantime I hope everyone stays safe and sound with their most beloved ones.

See you soon guys!
Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on December 28, 2020, 03:45:51 PM
Hello Syed,

That sounds all super interesting, enjoy the break and then all the best with your project in a hopefully less complicated year 2021!

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on January 19, 2021, 10:46:04 PM
Hi Johannes

I hope you are safe and sound. Starting great the new year!

I saw your video with Karl Singline, it was very interesting thanks for dedicating time for us.
We are eager to show our project and highlight kuka prc advantages after finishing it. We are very close to that stage and during the "break" we where working on three different patterns for our tests. Our purpose is to create a methodology from the ground up in order to clad plates, pipes, and 3D amorphous shapes.

As it was expected we are starting from the easiest a plate. then moving to the bit more difficult ones which are the different possible cladding patterns. In the attached image I hope I explained myself on the differences and what we are aiming to use as parameters to control the patterns.

I am also attaching the files for helix and patch patterns, I was wondering what are your thoughts? do you believe the way we are tackling is correct? the program is the same we just are creating the curves and helixes. Daniel, my colleague is working on creating a general case for the helix in which we can modify the length and pitch with grasshopper.

The one we have been struggling is the one in which we want to clad and arc of lets say 30 degrees skip 60 degrees and then another arc of any given length. We tried to join the curves but have no luck. We also though about creating different layers and on each layer have a drawing of the curve then sent them to the robot, but this is an approach that we will try soon.

Just wondering if you believe that our way of simulating the pipe, creating the entities and doing our programming is a good choice in terms of how to handle the problems.

Finally, I'm happy to announce you that we are back in the lad and we will soon start the tests of all the programming done by Daniel, we will keep you posted.

Have a nice day.
Syed

Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on January 20, 2021, 12:03:12 PM
Hello Syed,

I took a look at the file, beyond the robot sitting on the turntable I don't see any particular problems.
Just take care not to calibrate the base as a normal base, but as an offset base!
Regarding the question with the arcs, could you clarify that a bit? I think I don't know enough about the process to understand how the segmented arcs would fit in.

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on January 20, 2021, 07:38:41 PM
Yes you are right, we need to recalibrate the base. That was an error in our side  :-\  .

Regarding the arcs, is a kind of simple approach in which if we only want to clad 30 degrees of a circle then skip the next 60 and start the cladding again for another 30 degrees or so. This being done in a pipe. We had problems in selecting multiple curves and then creating the path. I'll ask Daniel to put together a better explanation but  Let me know if I explained my self better on how we pursue the pipe cladding for the laser.

Also, Johannes I was wondering if there is any possibility of us having a meeting whenever possible for you, Daniel is the postdoc working in the programming, yesterday he watched your video and pointed out the part in which it was shown the use of a creaform 3d scan and the mxAutomation module to carve a pumpkin. It it of great interest for us to learn more about this approach.

Ours is different because we:

As it is now, it works for us and we are doing part location manually with a few cues for us to orient correctly the part. We have done dry runs before our suspension of the lab for the pandemic protocols.

But Daniel pointed out that what you have achieved is the "ultimate" application. Nevertheless, we haven't reach that point because we do not have any experience with mxAutomation and we are pretty new with rhino and grasshopper, but very very eager to continue our learning.

We find out this 2 posts from you and Karl pointing out some further and very useful information regarding this topic.
https://forum.robotsinarchitecture.org/index.php/topic,1067.msg2995.html#msg2995 (https://forum.robotsinarchitecture.org/index.php/topic,1067.msg2995.html#msg2995)
https://forum.robotsinarchitecture.org/index.php/topic,952.msg2618.html#msg2618 (https://forum.robotsinarchitecture.org/index.php/topic,952.msg2618.html#msg2618)

In the second post Karl mentions a possible beginners tutorial, is there any possibility that this will happen?

I hope we can engage a bit more and possibly have a zoom meeting. We would like to discuss how can we potentialize our collaboration and  learn more about the software and the possibilities we have for our automated cell. We believe we need to learn lots but we want to make the best use of our hardware, and your software.

Please let me know if there is something we could do.

Thanks Johannes

Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on January 21, 2021, 10:20:55 AM
Hello Syed,

Sure, let's have a call soon, send me an eMail and we can arrange a time!

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on February 08, 2021, 09:53:32 PM
Hi Johannes it was great to have a more personal word with you.  Daniel and myself are both very happy and we worked on what we talked, we where able to locate and only select the part of the surface of the pipeline we want to clad. We created points, lines, then used the Drape command, then meshBoleanSplit to only work with what we needed to. We also reduced the mesh to compare ( the cladding surface I mean).

Finally the path is generated but some how there seems to be a few issues, the first one is that the tool doesn't seem to be maintained at the top part of the positioner to maintain it at 90 degrees with our cladding surface. The other issue is on the simulation, if you look closely to the Scan of the part and the Cladding surface they do not match in the simulation but they do on the non simulation models.

Do you think this is due to something we did wrong or do we have to find a way to always sync the planes to be normal to the tool? By the way at this moment the tool is always the same we changed the scanned par to a cylinder that we want to use.

I also attached the program files in case you want to take a more detailed look.

We believe we are pretty close but well... still some issues hehe
Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on February 09, 2021, 12:12:55 PM
Hello Syed,

I've tried to propose some changes, but please remember that I don't know the exact process parameters or tool geometry.

Some things that I noticed/changed...
...When cutting the mesh, in Rhino use Mesh / Mesh Edit Tool / Mesh Split so that you can get just the surface. In your original file, there was some extra geometry from - I guess - a Boolean operation.
...I've added some components so that you can get a zig-zag movement.
...I've made some changes to the calculation of the external axis angles, which was reverse before.
...Finally, the change between the geometry of the mesh geometry that you provided at the turntable and the one you used to program was due to the base values you used. The turntable simply places the geometry on the table, so if you put it at Rhino's origin, it stays at the origin. In contrast, your toolpaths were transformed according to the base values that you provided. So I've just added an inverse transformation. Note that this only affects the simulation, but not the code generation.
...To make the geometry more lightweight, I've also reduced the complexity again. The split geometry is at the initial resolution, though.
...Before you bring it to the robot, change the base number to the base number you used to calibrate the base. At the moment it's 0, which cannot work for a synchronized rotary axis.

Hope that helps!
Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on February 12, 2021, 08:31:41 PM
Hi Johannes.

I believe we made a bit of a mess in our calibration process and that is why we had a few issues, that by now we are trying to fix. By this moment I am writing to you, we already seem to fix a few things and now we are writing any tiny change in our logbook so this doesn't happen again.

This was in our side in the robot, not in the software so when we finish our calibration verification , we will just verify our software values. Thanks for pointing us this as well.

We might be able to try this today hopefully we have it working soon!

We'll study the changes you mention, we want to get to understand it as much as we can.
Again thanks we'll keep you posted!

Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on February 15, 2021, 12:08:18 PM
Great, fingers crossed!
Regarding calibration consider just mounting a simple tip on your tool and just go to a few selected points (i.e. not just the three points you used to measure the base) to check the accuracy. If those points look fine, you can have confidence in the points in-between as well.

Best,
Johannes
Title: Re: kuka PRC for parametric Laser Cladding
Post by: sialam on March 26, 2021, 05:36:57 PM
Hi Johannes its been quite some time since we had a word. This time I am here with Daniel writing to catch up with you on what we have been doing for the past weeks.

First, Daniel went out to Toronto to have a KUKA retraining on programing 1 & 2 as his experience was with ABB robots. Everything went well and he seems to feel more comfortable and knowledgeable of tiny but important details.

We installed the chuck, did the calibrations that were not as accurate and mounted the scanned pipe in place in order to do a dry run. Here I am sharing a tiny bit of the first dry run where the error of the e2 axis appeared (Maximum Following Error Exceeded) , I believe it is regarding the bigger load on the E2 axis.https://www.youtube.com/watch?v=BFUUn94hGnQ (https://www.youtube.com/watch?v=BFUUn94hGnQ) Nothing fancy but we try to record as much as possible.

We are characterizing our laser beam with a beam profiler in order for us to compute the catchment efficiency and the correct cladding parameters.

I was wondering if there is a possibility to add another angle configuration with the existing code or would we have to add some code in the script that you made. We want to add another degree of configuration to our beam for more catchment efficiency. We might start to dig into this possibility inside the code but we where wondering if you could help us with a 30 min or so session in order for us to understand better the workflow and the script.

I hope this is not to much to ask, but we would also like to learn a bit more in depth.

Also find attached a few images of the setup that we will run just for reference.

We hope things are getting back to normal and you are safe and sound. Sorry for the very very late response.
Syed & Daniel
Title: Re: kuka PRC for parametric Laser Cladding
Post by: Johannes @ Robots in Architecture on March 26, 2021, 05:55:28 PM
Hello Syed,

I replied on your DKP400 post a few days back! Regarding the meeting, please get in touch via eMail!

Best,
Johannes