January 17, 2019, 07:29:06 PM
Robotforum | Industrial Robots Community

 Help calculating an offset

Author Topic:  Help calculating an offset  (Read 1188 times)

0 Members and 1 Guest are viewing this topic.

August 14, 2017, 05:55:36 AM
Read 1188 times



I'm brand new to the forum.  I'm having trouble with calculating an offset for pick and place equipment.

Here's the story.  I have a JIG that we use a pin to get specific X,Y and Z encoder values.  I want to use this same JIG to teach all the different product types we Pick and Place.  The hole in the JIG represents the X and Y center of a device on a tray.  I know the distance from the tray edge to the center of the pocket for both axis.

I have the same information for the other product. 

I erroneously thought the answer would be to add the difference between these two center points to the original point for both X and Y axis.  This obviously doesn't work.

This strikes me as more a geometry problem.


Linkback: https://www.robot-forum.com/robotforum/index.php?topic=24107.0
  • Like    Thanks

Today at 07:29:06 PM
Reply #1



August 14, 2017, 03:58:44 PM
Reply #1


Global Moderator
It is a geometry problem, but one the robot should be equipped to handle natively.  The details depend on your brand, of course.

The critical point is that any reference frame in a robot (UFrame, Base, etc) is a relative transform from a reference frame, in 6 Degrees Of Freedom -- that is, X,Y,Z, and Rx, Ry, Rz.

In every industrial robot, there is a facility to create these frames by touching 3 or 4 points on the frame you're trying to create -- usually the Origin, a point defining the X+ vector, and a point somewhere in the positive quadrant of the XY plane.  This will generate an XYZRxRyRz set of 6 coordinates that, basically, say:  "Starting from the frame of reference (usually the robot's World/Root/Base-0), move this many mm along X, then Y, then Z, then rotate this many degrees around X, then this many degrees around the new Y, then this many degrees around the new Z."  The rotation angles are Euler or Tait-Bryan values, usually.

Let's assume for the sake of argument that you do this, and your new frame's XY plane is perfectly parallel to the World XY plane, but rotated 45deg relative around Z.

If you go to the values of your new frame, and simply add 10mm to the X value, you will not be moving along your frame's X axis, but along the World X axis.  To move along your frame's X axis, you need to perform some math.  Or, generally, most robots include a function to do this for you.

The underlying math is usually to convert each frame into a matrix, perform a cross-multiplication of the two matrices, then convert the result back into your robot's preferred coordinate nomenclature (this can be tricky, since there are many different valid Euler sequences, and every brand seems to use a different one.  And then there's ABB, which uses quaternions....)

  • Like    Thanks

Share via facebook Share via linkedin Share via pinterest Share via reddit Share via twitter

Calculating TCP

Started by ambersat on KUKA Robot Forum

5 Replies
Last post June 29, 2015, 10:20:10 AM
by Puck
Re-calculating C value at point

Started by meigo62 on KUKA Robot Forum

4 Replies
Last post November 18, 2014, 09:36:21 PM
by JensDeckers
Calculating the difference between two WOBJ's

Started by Junior on Fanuc Robot Forum

1 Replies
Last post November 25, 2015, 07:54:12 PM
by Lerak
Calculating coordinates in tool frame

Started by RoboticsMan on KUKA Robot Forum

3 Replies
Last post May 04, 2015, 12:47:58 PM
by panic mode