Calculating user frames

  • How can I calculate the xyz components of a user frame given the user frame rotation offsets such that the resultant use frame position is zero. Basically trying to create a new origin point. See the attached image. I got the user frame xyz offsets by trial and error, but I want to be able to calculate them. I got the wpr offsets by measuring the mounted angle of the robot.

  • It's hard to know what you're actually asking.


    If you're looking to create that new user frame, everyone is right and you should use the three point method.


    https://mh142.com/wiki/User_Frame_Lab


    Direct entry is mostly used for when you already know how much an existing user frame is changing and just want to enter one or two measured values on the fly. This for example would be if you need to move the pickup position for products on an assembly line slightly up the line to make room for sensors or other things.

  • I would do the three point method however, i cant actually reach the point that will become the new zero position. The intended zero position is outside the reach of the robot. So i could use the three point method to get the frame in the correction orientation, but the xyz position would still need to be adjusted.

  • Link to the thread.


    If you are trying to create a new frame with a point defined in your current frame, you would just do a matrix multiply of your user frame by your point in the frame. This would give you a location in world, which you would use to define your new frame.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Wasn't aware of the Matrix functions, was exactly what i was looking for. Allows me to enter an offset along a principal axis and shift frames origin.

  • I would do the three point method however, i cant actually reach the point that will become the new zero position. The intended zero position is outside the reach of the robot. So i could use the three point method to get the frame in the correction orientation, but the xyz position would still need to be adjusted

    I dont undertad why you say that, usually Z is normal to the surface in the user frame (unless you want Z in the X or Y directions) and X and Y points are positive and you choose the orientation.

Advertising from our partners