Hello,
I am having a little challenge that I am struggling with.
For our application, I wish to make a "failsafe" function. This to ensure that, if for any reason the running program gets reset, the robot will drive backwards along its tool's Z-axis to within a safe radius around its axis A1 first before starting the program anew. I would, before running a program, check whether the TCP is in the acceptable starting position.
The robot is in sort of a concentric warehouse-pick-and-place setup, where it stands in the middle of multiple rows, concentrically placed around the robot. But, not all positions the robot will reach are concentrically placed, which complicates matters. Otherwise, I could always withdraw straight to the robot's origin.
I wish to be able to calculate the distance that I need to drive the TCP backwards, along the tool's Z axis, to get back into a "safe radius". It is important to "back out" along the tool's Z axis to ensure it leaves any row the way it went in. I know how to drive the tool relative to its coordinate system.
To illustrate, I included a sketch, as you would see the robot from above. Here, you see the pink circle, radius1, the "safe radius" I defined (radius2 is just for illustration of a possible tighter requirement) and the red tool aligned with A6. Basically, I would like to be able to calculate x (the distance to drive the tool backwards) for any position the tool might be in. To clarify, I included the green position for a tool position which has no solution. In this case, I would adjust A, the TCP's orientation, until it would be able to be driven backwards into the "safe radius".
I hope my description is clear, the solution would need to work for any position & orientation the TCP might be found in.
I'd appreciate hearing if anyone encountered a similar situation or has an idea on how best to tackle this.
Kind regards,
Tembai
">">
KR-C4
KSS 8.6.5
KR 210 R2700-2