0% found this document useful (0 votes)
11 views22 pages

Programming 2

The document outlines the programming structure and applications for the STAUBLI TX90XL robot, detailing variable types, functions, and the use of frames and transformations. It explains how to define reference frames, perform geometric movements, and manage point locations in a robotic cell. Additionally, it covers the creation and teaching of frames using specific points for accurate positioning and movement execution.

Uploaded by

omarchrif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views22 pages

Programming 2

The document outlines the programming structure and applications for the STAUBLI TX90XL robot, detailing variable types, functions, and the use of frames and transformations. It explains how to define reference frames, perform geometric movements, and manage point locations in a robotic cell. Additionally, it covers the creation and teaching of frames using specific points for accurate positioning and movement execution.

Uploaded by

omarchrif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Programming

STAUBLI TX90XL

Dr. Kurtuluş Erinç Akdoğan


kurtuluserinc@[Link]
Applications: Structure
Variable types:
pointRx: a point location in cartesian
coordinates (p1, p2, p3, ...)
jointRx: a joint location in joint coordinates
(jStart)
tool: a tool defined by the user (tTool)
trsf: a transformation (trAApl)
mdesc: motion descriptor (mNomSpeed)
Applications: Structure
Functions:
movej(joint, tool, mdesc): move to a (point or
joint) coordinate with specified tool and motion
descriptor
movel(point, tool, mdesc): move linearly a
point coordinate with specified tool and motion
descriptor
appro(point, trsf): calculate a transformed
point by using a point and a transformation
waitEndMove: wait for the current movement
to end.
FRAME type
The frame type is used to define the position of reference frames in
the cell.
a reference frame is linked to the world frame, either directly or via
other frames.
Use

To give a more intuitive view of the application points


 The display of the cell's points is structured according to the hierarchical structure
of the frames.
To update the position of a set of points quickly
 When an application point is linked to an object, it is advisable to define a frame
for that object and link the VAL 3 points to the frame. If the object is moved,
simply reteach the frame to allow all linked points to be corrected at the same
time.
To reproduce a trajectory in several places in the cell
 Define the trajectory points relative to a working frame and teach a frame for
each position in which the trajectory is to be reproduced. By assigning the value
of a taught frame to the working frame, the entire trajectory "moves" to the
taught frame.
To make it easier to calculate geometrical movements
 The compose() instruction allows geometrical movements expressed in any
reference frame to be performed on any point. The position() instruction is used
to calculate the position of a point in any reference frame.
TRSF type
 A transformation (trsf type) defines a position and / or orientation change. It is the
mathematical composition of a translation and a rotation.
 A transformation itself doesn´t represent a position in space, but can be interpreted as the
position and orientation of a Cartesian point or frame relative to another frame.
 The trsf type is a structured type whose fields are, in this order:

num x Translation along the x axis


num y Translation along the y axis
num z Translation along the z axis
num rx Rotation around the x axis
num ry Rotation around the y axis
num rz Rotation around the z axis

 The x, y and z fields are expressed in the unit of length of the application (millimeter or inch,
see the chapter entitled Unit of length). The rx, ry and rz fields are expressed in degrees.
 The x, y and z coordinates are the Cartesian coordinates of the translation (or the position of a
point or frame in the reference frame). When rx, ry and rz are zero, the transformation is a
translation without change of orientation.
 When a trsf type variable is initialized, its default value is {0,0,0,0,0,0}.
Translation
The position of frame R2 (grey)
relative to R1 (black) is:
x = 250mm, y=350mm, z =
450mm,
rx = 0°, ry = 0°, rz = 0°
Orientation
orientation rx = 20°, ry = 10°, rz =
30° is obtained as follows.
First, the frame (x,y,z) is rotated
through 20° around the x axis. This
gives a new frame (x’,y’,z’). The x
and x’ axis coincide.
Then the frame is rotated through
10° around the y’ axis of the frame
obtained at the previous step. This
gives a new frame (x’’,y’’,z’’). The
y’ and y’’ axis coincide.

Lastly, the frame is rotated


through 30° about the z’’ axis of
the frame obtained at the previous
step. The orientation of the new
frame obtained (x’’’,y’’’,z’’’) is
defined by rx, ry, rz. The z’’ and z’’’
axis coincide

The position of frame R2 (grey)


relative to R1 (black) is:
x=250mm,
y=350 mm,
z=450mm,
rx = 20°,
ry = 10°,
rz = 30°
Approach with Compose
point compose(point pPosition, frame
fReference, trsf trTransformation)
This instruction returns the pPosition to
which the geometrical transformation
trTransformation is applied relative to
the reference frame
Approach with Compose is according to
coordinate frame -100
 trShiftz={0,0,100,0,0,0}

 p=compose(pPick,world,trShiftz)
 movel(p,tGrip,mFast)

10
APPROACH ON POINT
COMPLEX APPROACH - 1 -
COMPLEX APPROACH - 2 -
Local Coordinate system &
Palettization
WHY USING A FRAME ?
FRAME CREATION
FRAME TEACHING
Defined with 3
points to teach :
 Use a precise tool :
pointer
 Define this tool as Y
current
 Teach points as far Axis y X
as possible each
other (+ accurate)

Y Axis x

X Y
World
Origin X
fPallet
POINTS IN A FRAME
Create in tree of
frame, the needed
points :
During teaching
coordinates are
displayed in frame
reference
For the move
instruction , it is
not needed to pA
specify the frame : Y
movej(pA ,tGrip,
mFast)
X Y
World
X
fPallet
COMPUTE A FRAME BY PROGRAM
nError = setFrame(pOrigin, pX,pY, fRef)

3 points O, +X, +Y Frame to compute

Error Code :

0 : no error
-1 : ptX too closed from ptOrigin
-2 : 3 points are nearly aligned

setFrame(p0,px,py,fPallet)
PALETTIZATION IN A FRAME
Compose(point,frame,trsf) : compute a point by translation and rotation
defined in trsf relative to menntioned frame in the function

p=compose(pFirst,fPallet,{160,50,0,0,0,0})
Position
Center of
Frame relative to fPallet
closest hole
defined as
to the origin
fPallet
of fPallet
movel(p,tGrip,mSlow)

Y
Y
X
World X fPallet

You might also like