RSI KUKA Robot Sensor Interface

Started by amaurythomas@hotmail.com, June 15, 2016, 03:32:28 PM

Previous topic - Next topic

amaurythomas@hotmail.com

Hi,

I would like to know if it possible to control a kuka robot in real time (dynamique) from Grasshopper KukaPRC using RSI ?
Does the next update of KukaPRC will allow it ?

http://vip.gatech.edu/wiki/images/3/3c/KUKARobotSensorInterface.pdf

Best,

Amaury

Johannes @ Robots in Architecture

Hello Amaury,

The problem with RSI is that it requires you to communicate with the robot at the robot's cycle time, i.e. 4/12ms. With a Windows system, doing so is generally not reliably possible (some special solutions exist, though). We actually created a client but decided against making it publicly available as errors in communication when Windows doesn't reply in time can even damage the machine, and wrong inputs are generally dangerous. Most of our users who work with RSI developed their own RSI server that takes the data from Grasshopper/KUKA|prc and then communicates with the robot.
However, KUKA|prc does support mxAutomation, which uses a buffer and therefore does not require perfect real-time communication. As a consequence, it's also not fast enough to e.g. catch a ball, but you can nicely stream toolpaths over to the robot in a relatively save and reliable way. It's also quite a bit more affordable than RSI.
The Grasshopper components for mxAutomation are available to all members, but are not part of the usual download from the member section. The setup of mxAutomation can be tricky, so by making the components only available on demand we ensure that we are in direct contact with all our users.

Hope that helps!
Best,
Johannes

amaurythomas@hotmail.com

Johannes,

Thank you for your reply !!
It is possible to get a documentation of the mxAutomation ?
I actually don't need pure real time !
Does it work with KRC1, KRC2 or more ?

Best,

Amaury


Johannes @ Robots in Architecture

Hello Amaury,

mxAutomation is a new product and therefore unfortunately only available for KRC4 controllers with KSS8.3+
I've attached the manual for the CodeSys version - there is no special manual for the integration through UDP.

Best,
Johannes

amaurythomas@hotmail.com


Xylotica

Hi Johannes,

I'm stuck with my Plasma Torch Height Control problem, and I think that this topic is the right place to discuss it further because it deals with real-time changes to the toolpath.
On this topic : https://www.robot-forum.com/robotforum/kuka-robot-forum/plasma-torch-height-control/ in the RobotForum, SkyeFire talks of the "Function generator" as a precursor of "RSI", which has an equivalent in "Mxm automation"...
Ok, lots of fancy names and acronyms, but how does a newb like me get on board ?

From what I understand, MXM automation is not for me because I have a KRC2, so all I have left is "RSI" which costs an arm (how much exactly ?) or the "Function generator" which is some elusive beast for which no documentation exists.

In short, what would YOU do if you needed to alter a toolpath in real time with a KRC2 ?

Johannes @ Robots in Architecture

Hello,

I didn't see the reference to mxAutomation, it's a bit different from RSI. You can use RSI not only to control the robot in real-time, but it's actually primarily used to offset the tool in realtime, just like you would need it.

How "hectic" is the movement of the plasma torch height control? Because if it does not have to react superfast, my idea would be as follows...

So let's say a line looks like that...
LIN {E6POS: X 86.613, Y 516.346, Z -73.467, A 89.987, B 67.155, C 51.078, E1 0, E2 0, E3 0, E4 0} C_DIS
Then you search in Notepad(++) for ", A" and replace it with "+ PLASMAOFFSET , A " so that the line would look like that...
LIN {E6POS: X 86.613, Y 516.346, Z -73.467 + PLASMAOFFSET, A 89.987, B 67.155, C 51.078, E1 0, E2 0, E3 0, E4 0} C_DIS

You will need to set the PLASMAOFFSET variable in the sps.sub cyclically from your analogue value, probably with some scaling and safety measures so that it does not move too much.

The robot will read the variable in the advance run, so you will have some delay, and you will need to create toolpaths with very fine spacing to reduce latency.

I haven't tried that out, so it's entirely possible that it won't work. But you might give it a try.

However, my gut feeling would be to simply do that with an external microcontroller. Get an Arduino for 10EUR, a stepper driver for 15EUR and a linear stepper for 30EUR from china, and something so that the analog value coming from the plasma torch does not fry the Arduino. And then plenty of time to set it up ;)

Best,
Johannes

Xylotica

Hi Johannes,

I revived an old topic of mine to discuss this. Maybe it's better to follow-up there.
I thought of the Arduino thing, but I'd like to spend the little free time I have learning KRL.
To be honnest, KUKA-PRC allows me to do amazing things, but it also has made me lazy in respect to learning the basics of KUKA programming...
The "Function Generator" seems a good direction ; maybe in your case, you were spoiled by RSI and skipped this included feature :)

Cheers,

Johannes @ Robots in Architecture

Hello,

Are you sure that the "Function Generator" is an included feature? If you take a look at the manual (e.g. here https://kupdf.com/download/techpack-function-manual_597108b8dc0d609266a88e7d_pdf) it looks like a tech package like RSI.
But keep me updated, I'm curious about that as well!

Best,
Johannes