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
Offline

DMayAstro


Hi,

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

Advertisement

Guest

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

SkyeFire

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

xx
Calculating TCP

Started by ambersat on KUKA Robot Forum

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

Started by meigo62 on KUKA Robot Forum

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

Started by Junior on Fanuc Robot Forum

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

Started by RoboticsMan on KUKA Robot Forum

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