Hi All,
Does anyone understand how Kuka implements it's automatic collision detection on "inline" commands? Is there any easy way to implement this on non-inline moves?
Thanks!
KRC2 5.6 Controller
KR60-HA Robot
Hi All,
Does anyone understand how Kuka implements it's automatic collision detection on "inline" commands? Is there any easy way to implement this on non-inline moves?
Thanks!
KRC2 5.6 Controller
KR60-HA Robot
Hmm. That's weird. Maybe the "CA" option doesn't work with path variable orientation (option 3)? I'd try running your second block of code without the "CA 180"'s if you haven't already...
In your first block of code, is there something after the CIRC line in your program that's causing the robot to misbehave? To me, it seems like the robot should stop at the halfway point in the circle but it keeps going (or perhaps it start's twisting before it makes it halfway?)...
Out of curiosity, what kind of accuracy are you able to hold while machining? Our KR60-HA is usually about 0.020 in off from the nominally programmed dimension and we need to fine tune the program if we need higher accuracy...
Hi Matt,
I think the standard approach in your situation would be to teach a single BASE on the part (say in the corner) and then teach or program each circle separately. If you are welding, this approach would be advantageous because you could modify (‘touch up’) the points in each circle separately, without messing up the rest of the program.
That said, it’s also possible to replicate a single circle with bases as you describe. In that case, I’d recommend reading up on the geometric operator (“:”). Using this, you could define a single BASE on your part and then shift it by known amounts in the BASE you just defined. So if your part base is base_data[12], then you could use a snippet of code like this to create an identical BASE shifted +100 mm in + X of base 12.
You would then repeat your circle in base 13. Note: you would have to update the base you're using prior to running (either by updating the base specified in the inline commands or using the BAS() function.
Hopefully that helps,
Thanks, I_Robot. I did need to look at my code a bit more...turns out I had an "atan2(A/B)" instead of "atan2(A, B)".
It seems the 'default parameter' message I received is Kuka's way of complaining that they're weren't enough inputs for atan2().
I'm getting a callerstack error while trying to update tool_data. My exact line of code is:
The exact error I receive is "Default Parameter - Cause: A default parameter or no parameter has been transferred to a predefined C function. - Remedy: Call the C function as a parameter".
I've tried setting tool_data[9] elsewhere (in the beginning of the program) and it seems to work fine, I just can't seem to do it when I need too.
I'm stumped -- any thoughts are much appreciated, thanks!