Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Create SPL motion for KUKA

#1
Hello!

I would like to ask if it is possible to create spline motion from a number of points for KUKA KRC4? As shown in the picture below.

   

Thank you in advance!
Robo
#2
Hi Robo,

A client requested a post-processor able to generated spline motion for the Kuka controller some times ago.
I did create the post-processor but never received any feedback regarding that.
Here's one thread related to that subject: https://robodk.com/forum/Thread-Ability-...ght=spline

You can find the post-processor attach to one of my answers.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#3
(01-26-2021, 09:46 PM)Jeremy Wrote: Hi Robo,

A client requested a post-processor able to generated spline motion for the Kuka controller some times ago.
I did create the post-processor but never received any feedback regarding that.
Here's one thread related to that subject: https://robodk.com/forum/Thread-Ability-...ght=spline

You can find the post-processor attach to one of my answers.

Jeremy


Hi Jeremy,

Thank you for your reply!

So here is the example that I want to try. There are four points and I used Joint Motion to connect them together. This becomes PTP in KUKA KRC4 post-processor by default right? 

   

I've then added the post-processor "KUKA_KRC4_SPLINE_DevVersion.py" you created and chose that as the post-processor, it still shows PTP in the exported file. Not sure if I used the post-processor correctly...

         


The trial station is attached here: 
.rdk   splinetrial.rdk (Size: 178.14 KB / Downloads: 374)


Best regards,
Robo
#4
Hi Robo, 

I forgot to mention two things. 

The Spline post-processor only works with RoboDK Linear motions (that could potentially change that to accept the MoveJ, but that doesn't seem to make sense according to the Kuka documentation, but I could be wrong.)

You also need to define where the spline block starts and ends. 
To so, add a program call "startspline" at the beginning and "endspline" at the end. 

   

Have a great day. 
Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#5
(01-27-2021, 04:27 AM)Jeremy Wrote: Hi Robo, 

I forgot to mention two things. 

The Spline post-processor only works with RoboDK Linear motions (that could potentially change that to accept the MoveJ, but that doesn't seem to make sense according to the Kuka documentation, but I could be wrong.)

You also need to define where the spline block starts and ends. 
To so, add a program call "startspline" at the beginning and "endspline" at the end. 



Have a great day. 
Jeremy


Hi Jeremy,

It worked! However, this only shows on the exported .src file right? The RoboDK UI will only simulate the linear movements and not the actual spline path?

   

I do have another question though. Whenever I use linear motion, there will always have a warning of "Joint XX is too close to a singularity", but I don't understand why and how it is too close to singularity. I see that it is possible to change the tolerance in Tools-Option-Motioon, but which parameter should I change?

   

Have a great day!
Robo
#6
Hi Robo,

Spline: You are right, the spline will only show on the real robot, the simulation will show normal linear motion.


Singularity: You are hitting a wrist singularity right now (J5 reached 0 deg +/- 2.5), you can reduce the tolerance in the "Tools"->"Options"->"Motion" as you stated.
I don't know how familiar you are with singularities, but if you are too close to one, there are good chances that your TCP velocity will go drastically down in that area, which defeats the purpose of the spline motion.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#7
(01-27-2021, 04:27 AM)Jeremy Wrote: Hi Robo, 

I forgot to mention two things. 

The Spline post-processor only works with RoboDK Linear motions (that could potentially change that to accept the MoveJ, but that doesn't seem to make sense according to the Kuka documentation, but I could be wrong.)

You also need to define where the spline block starts and ends. 
To so, add a program call "startspline" at the beginning and "endspline" at the end. 



Have a great day. 
Jeremy

Hi Jeremy,

I have implemented the example you have provided above however when post processing with the latest KUKA KRC4 Spline I get the following

startspline()
SPLINE WITH $VEL.CP = 0.5
 SPL {X 300.000,Y 0.000,Z 0.000,A 180.000,B 0.000,C 180.000,E1 0.00000}
 ...
 SPL {X 298.509,Y -29.870,Z 0.000,A 180.000,B 0.000,C 180.000,E1 0.00000}
 SPL {X 299.627,Y -14.954,Z 0.000,A 180.000,B 0.000,C 180.000,E1 0.00000}
ENDSPLINE
endspline()

How can I get rid off startspline() and endspline(). I tried to find a setting in the post processor to adjust but could not find any.

Thank you in advance.
Best regards,
Vince
#8
The startspline and endspline is probably triggered from your program. Can you send us the RDK project file? Are you using the default KUKA KRC4 Spline post processor?
#9
Hi Albert,

Please find the file attached.
I am using the default KUKA KRC4 Spline post processor.
This file is work in progress, the aim is execute every layer as spline block (due size limitations of spline blocks it will not be possible to execute the whole trajectory as a single spline). I still need to add some custom instructions for blending between splines.
Thank you in advance.

Best,
Vince


Attached Files
.rdk   3DP_KR20_py.rdk (Size: 1.88 MB / Downloads: 27)
#10
Found the solution by reading the post processor.
In Jeremy´s example the program call was startspline however the post processor is looking for the keyword start_spl.
  




Users browsing this thread:
1 Guest(s)