Off axis rotations

• Hello,

I am new to this forum and to robotic arm programming so sorry if this is posted elsewhere, I have tired to find and decipher what I could but still cant get it to work. I have an RJ3iB controller for a Fanuc robotic arm and I'm picking up a circular part with a suction gripper, the part will be picked up offset from its center point (the J6 center point and the parts center point will not line up). After it is picked up I need to rotate the circle around its center point 180° for a cutting application. This means the J6 center point will have to travel in a circle while the J6 axis rotates the 180°.

I have tried a few things but cannot get them to work. Does any one have any tips ideas on how to do this?

All help is greatly appreciated!

• Is the offset between the center of J6 and the center of the part consistent? If so, you could create a second tool frame and switch to it programatically when it is time to rotate the part, then back when that portion is over.

• There are 3 different offsets distances. I was thinking something similar I just didn't know how the motion instruction would look if i did that?

I know I would start with the TCP offset to make it align with the circle center point but then would I do a linear motion instruction with the rotation included?

• Thanks for the help!

I got it to work with moving the TCP.

I used the code UTOOL[?] = PR
where the position register is set the distance I need to move the TCP in xyz coords. Then I do a linear motion instruction with an offset equal to the amount I want to rotate on the axis I want to rotate around. Something like this:

L PR[1] 5.0 sec CNT100 Offset PR[2]

PR[1] - some position in space
PR[2] - x=0, y=0, z=0, w=0, p=0, r= 180

The speed needed to be set as a time because the TCP isn't moving in xyz just rotating so the robot didn't like that.