I have a robot that we are setting up that needs to go to an air blowoff station. I need to move the EOA around in the blowoff station to get all the coolant/chips off the parts. I would like to just have 1 PR that I teach and then use offsets from there for the other positions so that I would only ever need to touchup a single point, or at least ideally that is all I'd ever need to do. I am familiar with adding a standard Cartesian PR offset, but would like to just do a joint offset. All I really want to do is rotate J6 +/- from my taught point. I tried playing around with it and couldn't find a way to just have it rotate J6 without teaching additional points.
Offset a position in joint
-
K-Sky -
May 3, 2017 at 1:52 PM -
Thread is marked as Resolved.
-
-
When you are in the PR looking at its data, there is an option on the bottom right that says [REPRE].
This option will let you change the data in the PR from Cartesian to Joint, so you can now use joint offsets.
Therefore:
X => J1
Y => J2
Z => J3
W => J4
P => J5
R => J6 -
PR1 Blowoff (Taught position)
PR2 MoveBlowL PR[1]4000mm/sec FINE ;
PR[2]=JPOS ;PR[2,6]=PR[2,6]+180 ;
J PR[2] 4000mm/sec CNT60
This should work for what you are asking. Hope it helps
Only teach PR1 then PR2 will always follow it and you can change how much you want to rotate and which direction. You can even go + then - to unwind the EOAT. -
Here is another method that just worked in Roboguide. I tested this with an uninitialized PR and the JPOS=JPOS zeroed out the PR and made it appear in the Joint representation in DATA.
L PR[1] 1000mm/sec FINE
PR[2]=JPOS-JPOS
PR[2,6]=30
J PR[1] 30% FINE Offset, PR[2]
-
-
Thanks for all the suggestions!
Here is what I ultimately ended up doing. I created PR[60] that is taught using UTOOL=0. From there I use Pr[60] with Tool_Offset, PR[XX] added to it. I use a couple of PRs for the tool offsets, and I set everything to 0 except the R value of those PRs. Whatever value the R is set to is how many degree J6 rotates +/-. This is working just the way I wanted so that I can roll just J6 whichever way I want.
I played around with a couple of the methods from the posts above and came across an issue I couldn't find an explanation for. When I tried using the following:
PR[2]=JPOS-JPOS
And then when I looked at the values in PR[2] it set J1-J3 to 0, but did nothing to J4-J6. The values in J4-J6 did not zero out for some reason. Any ideas? I've since tried it in Roboguide and it set all joint values to 0, but not on the actual robot. Now when I tried using this method all joint values did get set to 0 on the robot:
PR[2]=JPOS
PR[2]=PR[2]-PR[2]Thanks for all the help guys!