Define a surface with three points

I want to define a surface with three points. Than I want to move to a point on this surface. After that I want to move the table (which is my surface) to another point in the workingspace, define the surface with three points again and move to exactly that point I moved before. Can somebody please help me to find a solution? I want to program the robot in RAPID! I tried it with define a frame or workobject? But I don’t know how the point has to look like which I want to reach on the surface (Offset …)?
Thank you very much!

Hi Katrin.

  1. Define the workobject. From the Manual Movement window, create a new workobject (with a good name, such wo_Work).
    Use the 3 points method.
  2. Make a trip with the robot in the new system (that is, selecting the new wo_Work in workobject field in manual movement). Be sure you defined the coordinate system correctly, especially for Z axis!
  3. If you’re satisfied with your new system, teach your points in a program. You’ll have a program like:

MoveL p10, v100, fine, tool1wobj:=wo_work;
MoveL p20, v100, fine, tool1wobj:=wo_work;
MoveL p30, v100, fine, tool1wobj:=wo_work;
MoveL p40, v100, fine, tool1wobj:=wo_work;

Now, if you move the table, you just need to redefine wo_Work to fix all the points.
If you need to move to a specified coordinate, you can do something like this:

ConfLOff;
p := p10;
p.trans := [10,10,0];
MoveL p, v100, fine, tool1wobj:=wo_work;
p.trans := [20,10,0];
MoveL p, v100, fine, tool1wobj:=wo_work;

Or, if you prefer:

ConfLOff;
p_Origin:= p10;
p_Origin.trans:=[0,0,0];
MoveL Offs(p_Origin, 10,10,0), v100, fine, tool1wobj:=wo_work;
MoveL Offs(p_Origin, 20,10,0), v100, fine, tool1wobj:=wo_work;

If you don’t like the automatic procedure, you can also set the workobject in the program using:

wo_Work.uframe:=DefFrame(p1,p2,p3);

Quaternions of points p10,p20,p30,p40 depend on the tool orientation you use. Play with EulerZYX and OrientZYX to alter the tool orientation in the program.

I hope this can help.

Bye
Claudio