Need help understanding tilted user coordinate/frame

  • Hello all, I'm new to Yaskawa robots and I need help understanding how a tilted user coordinate/frame works. I'm currently testing on a YRC1000micro and the Motomini but will be using a YRC1000 and another Yaskawa robot in the field whose model escapes me at the moment, but it is definitely bigger than the Motomini. I will also be fed position variables from a camera hence my dilemma.


    After creating a user frame on a 'flat' surface, meaning the same Z height for all 3 points, ORG, XX, XY, I check current position at origin and I get X, Y, Z, Rx, Ry, Rz = 0. However, when I created another user frame with XX on a different Z height for a user frame on a tilted plane, Rx and Rz when at origin is -179.9993 and -89.9969. I tried to force movement to X, Y, Z, Rx, Ry, Rz = 0 but it refused to move due to pulse limit. Can anyone explain why everything isn't 0? I was under the impression that everything = 0 when at origin for a user frame. I'm definitely missing something here so I'd appreciate any light shed on this. I've uploaded a picture of the coordinates for reference.


    Is there something that can either force everything to be 0 or can I set a point to be X, Y, Z, Rx, Ry, Rz = 0, a work home like how it's done for CNC milling?


    Last but not least, I believe MULMAT/SFTON is the go to when trying to do shifts. I haven't tried SFTON yet due to time constraints and will report back after doing so but when I tried to shift Rz by say 30 degrees, the value I got was -120 and not -60, assuming that I can not do anything about Rxyz not being 0, do I have to use INVMAT before MULMAT or the -120 isn't wrong as it's just a different reference point.


    Thank you for reading.

  • Here are two pictures that may help explain.


    UF-1 has the robot at essentially the origin of the User Frame. My frame has Z+ going down. Not a problem in this example. My X, Y, and Z are 0. The Rx, and Rz are 0. The tool is currently positioned 45 degrees in the Ry direction with respect to the user frame. My tcp has a 45 degree angle in it. In this case my tool would have to rotate about the Y-axis 45 degrees to read a position of 0. Where this frame was taught is not possible. The position the robot would have to rotate to is too close to the body of the robot.


    RF has the robot still at the same position as the origin of the user frame. Now, I am looking at the position of the active tool to the origin of the robot. If I tried to get 0, the tool would have to move the tcp to the origin of the robot. Ugly things will happen. The origin is inside or behind the robot, in most cases. The tool would have to rotate around to have its Z match the robot's Z. The tool would have to rotate 163 degrees about the robot X to have the tool's Z (extends out of the T-axis flange, going positive) match the robot's frame (with Z going up positive).


    It's all in what you are referencing the tool to.


    Could you get the tool to go to X, Y, Z, Rx, Ry, and Ry as 0 of the User Frame. Maybe, maybe not. Most times absolutely.


    As far as INVMAT and MULMAT go, I rarely use them. I can SFTON a position variable. This will temporarily mathematically shift my positions by a direction and amount inside the position variable until I execute a SFTOF. If you want to reference direction and amount such as a User Frame then you would write the instruction as SFTON Pxxx UF#(xx). The x's represent the position variable number and the user frame number.

  • Thank you, it definitely helped clear up a few things. My shifts will most likely be done using SFTON as it is closer to what I want. I do have a few more follow up questions with regards to that. If I want to do multiple SFTON commands in a row, am I right in that I have to use a GETS command after the initial SFTON command as the subsequent SFTONs will cancel out the initial one?

    For example

    SFTON P000 UF#1

    MOVL P001

    SFTOF

    GETS P002 PX001 (Writing in XYZ)

    SFTON P003 UF#1

    MOVL P002

    SFTOF


    And my other question is, in a user frame with Z+ going down, is X, Y, Z, Rx, Ry, Rz = 0. parallel to the user frame in the X, Y direction and perpendicular in the Z direction?

Advertising from our partners