Professional Documents
Culture Documents
RelativeJob PDF
RelativeJob PDF
RelativeJob PDF
4GNCVKXG,QD
(WPEVKQP/CPWCN
Motoman, Incorporated
805 Liberty Lane
West Carrollton, OH 45449
TEL: (937) 847-6200
FAX: (937) 847-6277
24-Hour Service Hotline: (937) 847-3200
The information contained within this document is the proprietary property of Motoman, Inc., and may not be
copied, reproduced or transmitted to other parties without the expressed written authorization of Motoman,
Inc.
©2003 by MOTOMAN
All Rights Reserved
Because we are constantly improving our products, we reserve the right to change specifications without
notice. MOTOMAN is a registered trademark of YASKAWA Electric Manufacturing.
Section Page
4.3 CONFIRMING RELATIVE JOB INFORMATION.............................26
4.3.1 Coordinate Confirmation....................................................26
4.3.2 Command Position Confirmation ........................................27
4.3.3 Displaying Differences between Command and Current
Position........................................................................27
4.4 EDITING THE RELATIVE JOB ........................................................27
5.0 SIMPLIFIED OFF-LINE TEACHING SYSTEM...............................................29
5.1 JOB DATA FORMAT ......................................................................29
5.2 EXAMPLES OF JOB DATA.............................................................35
5.2.1 Relative Job With Robot Axes and User Frame 3 ...............35
5.2.2 Robot Axes + Base Axes (Base Frame).............................36
5.2.3 Robot Axes + Base Axes + Station Axes (Base Frame,
Synchronous Job) .............................................................36
5.2.4 Robot Axes + Base Axes + Station Axes (Base Frame,
Coordinated Job)...............................................................37
5.2.5 Robot Axes + Robot Axes (Base Frame,
Coordinated Job)...............................................................38
5.3 CONFIGURATION OF POSITION DATA........................................39
5.4 CONFIGURATION OF THE MANIPULATOR.................................. 41
5.4.1 Specification of Wrist Angle............................................... 41
5.4.2 Specification of the Base Three Axes.................................43
5.5 ROBOT FORM CONTROL METHODS ............................................45
5.5.1 Moving the R-and T-Axes to Preserve the Sign
of the B-Axis....................................................................45
5.5.2 Moving R-, B-, and T-Axes to Preserve the Robot's
Form of the Destination Point ...........................................47
6.0 ALARM AND ERROR MESSAGES................................................................ 51
6.1 ALARM MESSAGES ........................................................................ 51
6.2 ERROR MESSAGES......................................................................... 51
7.0 INSTRUCTIONS USED IN RELATIVE JOB ..................................................53
We suggest that you obtain and review a copy of the ANSI/RIA National Safety
Standard for Industrial Robots and Robot Systems. This information can be
obtained from the Robotic Industries Association by requesting ANSI/RIA R15.06.
The address is as follows:
Robotic Industries Association
900 Victors Way
P.O. Box 3724
Ann Arbor, Michigan 48106
TEL: 313/994-6088
FAX: 313/994-3338
Ultimately, the best safeguard is trained personnel. The user is responsible for
providing personnel who are adequately trained to operate, program, and maintain
the robot cell. The robot must not be operated by personnel who have not
been trained!
We recommend that all personnel who intend to operate, program, repair, or use the
robot system be trained in an approved Motoman training course and become
familiar with the proper operation of the system.
DANGER!
Information appearing under the DANGER caption concerns the
protection of personnel from the immediate and imminent
hazards that, if not avoided, will result in immediate, serious
personal injury or loss of life in addition to equipment damage.
WARNING!
Information appearing under the WARNING caption concerns the
protection of personnel and equipment from potential hazards
that can result in personal injury or loss of life in addition to
equipment damage.
CAUTION!
Information appearing under the CAUTION caption concerns the
protection of personnel and equipment, software, and data from
hazards that can result in minor personal injury or equipment
damage.
NOTE: Information appearing in a NOTE caption provides additional information which is helpful in
understanding the item being explained.
U+
R+
B+ T+
U-
R-
L- B-
L+ T-
S- S+
Z Axis
X Axis
Y Axis
Tool Coordinates
Robot Coordinates
Base Coordinates
User Coordinates
User
Coordinates
WARNING!
If the user coordinate number selection is changed carelessly, it
is possible that the manipulator may not move in the anticipated
direction when executing the job. Use caution when modifying
coordinate systems.
CAUTION!
If the steps taught in MOVJ are shifted, the motion to the
instructed steps might differ. Use caution so that the fixture or
other parts do not interfere with the robot's movement.
If a user coordinate system is being used in the relative job and the ORG, XX, or
XY points are modified, creating a different user coordinate (frame), a shift to the
program will occur. The relative job's programmed positions always remain the
same. Job shifting is accomplished by changing or specifying a new coordinate
location (see Figure 3-4).
Z Axis
Z Axis
Y Axis Y Axis
X Axis
X Axis
The job header information indicates that the job is in a pulse format. The
positional information is referenced separately from the move instructions.
Separation of the positional information and move instructions allows motion type
of a point to be edited without affecting its position. The position references use the
following format:
The following represents the standard pulse format of a simple job, ROBCAL:
/JOB
//NAME ROBCAL
//POS
///NPOS 5,0,0,0,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
C0000=10837,26902,-37781,3031,5985,-2564
C0001=12537,24145,-42521,8902,6556,-6188
C0002=8112,37524,-34331,138,1362,-998
C0003=14160,30655,-40077,5519,3881,-2961
C0004=7555,22735,-39080,-841,8992,-1254
//INST
///DATE 1995/07/10 09:25
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=0.78
MOVJ C0002 VJ=0.78
MOVJ C0003 VJ=0.78
MOVJ C0004 VJ=0.78
END
The following represents the format of the same job, ROBCALR, in Relative Job
format:
/JOB
//NAME ROBCALR
//POS
///NPOS 5,0,0,0,0,0
///TOOL 0
///POSTYPE ROBOT
///RECTAN
///RCONF 0,0,0,0,0
C0000=953.401,420.794,31.145,176.00,1.34,4.95
///RCONF 1,0,0,0,0
C0001=956.305,419.772,30.668,173.42,-26.15,5.55
///RCONF 0,0,0,0,0
C0002=951.477,420.561,31.288,-179.97,39.83,6.51
C0003=953.168,419.189,29.995,145.17,-0.67,6.17
C0004=954.199,422.637,33.045,-153.07,-5.73,2.31
//INST
///DATE 1995/07/10 12:19
///ATTR SC,RW,RJ
////FRAME ROBOT
///GROUP1 RB1
NOP
MOVJ C0000 VJ=0.78
MOVJ C0001 VJ=0.78
MOVJ C0002 VJ=0.78
MOVJ C0003 VJ=0.78
MOVJ C0004 VJ=0.78
END
2. Create a user frame. Initially teach the frame using the programming
pendant to teach the origin (ORG), X direction (XX), and Y plane (XY).
(See Figure 3-6.)
X Axis
3. Convert the job to a relative job. The actual operation of the job conversion is
as follows: [STDJOB -1] is modified to User Coordinate No. 1, and the relative
job, [RELJOB -1], is created. (See Section 4.0 Relative Job Operation for
keystroke information on converting the standard job.)
4. If the fixture or workpiece is moved, the user frame can be realigned by
teaching the ORG, XX, and XY points. The job can then be executed using the
modified user frame (see Figure 3-7).
User Frame
After Modification
User Frame
Before Modification
Position
During
Teaching
Camera
YA
SN
MR AC
C
X Axis
Figure 3-8 Example of Searching Out Defined Points Using External Vision Controller
An example of a program that would read the three defined points from the vision
controller and create the frame follows:
FUNCTION COMMENTS
NOP
LOADV P000 Position data detected by the
LOADV P001
LOADV P002 } external sensor are received and the
position variable is stored.
CAUTION!
In some cases, the robot may not be able to reach all points of
the job. Try to orient the fixture so that the robot can reach all
points without modification.
NOTE: In the first example, it is possible to adjust individual points of each job since they are separate
jobs. The second example, however, is a better use of the robot's memory. Each situation and
its usage should be taken into consideration.
Once the manipulator has been taught a job, that job can be shifted to other
positions (see Figure 3-9).
Work
Robot
Figure 3-9 After Job is Initially Taught, Job is Shifted to Other Positions
An example of this follows:
1. Teach a job on the fixture.
2. Create user coordinates on the fixture that the above job was taught on; for
example, UF#1.
3. Convert the job created in Step 1 using the user coordinate in Step 2 to a relative
job. (See Section 4.0, Relative Job Operation, for keystroke information on
converting the standard job.)
CAUTION!
There is a possibility that the robot will not be able to execute
the job in the playback position. Be sure to press FWD/BKWD to
confirm the playback position.
A job that has been taught on one robot can be shifted to other robots on the
production line (see Figure 3-9). An example of copying a job to the next
manipulator follows:
1. Teach the job on robot 1.
2. Set up a user frame (for example UF#1) around the fixture on which the job
was taught.
Work
Robot
CAUTION!
Positions that are taught off-line should be verified in Teach
Mode before executing a program in play.
Simplified off-line teaching of the relative job can be executed when using a
FC1/FC2 floppy disk drive or a computer.
1. Load the following data into the computer:
• Manipulator position data (X,Y,Z)
• Instructions
2. Convert the data into a program (relative job) for the MRC using the computer.
3. Transfer the relative job to the MRC controller. The following two methods can
be used for data transfer:
• Save job data on a floppy disk and transfer to the MRC via the Yasnac FC1
or FC2 floppy disk drive.
• Send job data from the computer to the MRC controller with communication
software.
3.3.1 CALL/JUMP
CAUTION!
When executing a relative job, the manipulator maintains its
current orientation. For this reason, during teaching, the robot
should be oriented similar to how it will be oriented in the first
step of the relative job. If the position of the robot is extremely
different from that of the robot in the first step of the relative
job, there is a possibility that the robot will not perform the
work as anticipated.
Calling a relative job is executed by using the CALL or JUMP instruction. If the
coordinate number is omitted, the job is automatically executed using the
coordinates on which it was originally converted on, for example:
CALL JOB: JOB -1
JUMP JOB: JOB -1 IF IN#(1)= OFF
If the coordinate system used during teaching is a user coordinate, when the CALL
or JUMP instruction is called up, another coordinate system other than the one used
during teaching can be used. The following is an example:
The relative job [JOB-1], which has been converted in user frame No.
1, can be executed using a different frame by specifying it in the call
instruction. [JOB-1] is executed with the user coordinate value of No. 2.
CALL JOB : JOB - 1 UF# (2)
To enter a CALL or JUMP instruction, follow these steps:
1. While in Teach Mode, move the cursor to Address side of the screen and
press EDIT.
2. Press CONTROL (F2).
3. Press JUMP (F1) or press CALL (F2).
4. Press NAME (F1).
5. Move the cursor to Call or Jump Job and press ENTER.
6. Press the ARROW UP soft key.
7. Press UF# (F1).
8. Enter the coordinate number that job will be run on and press ENTER.
9. Press ENTER.
NOTE: Be sure the User Coord No. used is not already in use because it will be overwritten.
8. Enter the User_coord_no. If you need to create a user coordinate frame, refer
to Creating User Frames.
9. Press ENTER.
10. Press PX(F1), LPX (F2), PX [], or LPX[].
11. Enter the position variable with the origin (ORG).
12. Press ENTER.
13. Enter the position variable with the XX coordinate.
14. Press ENTER.
15. Enter the position variable with the XY coordinate.
16. Press ENTER.
17. Press INSERT.
18. Press ENTER.
NOTE: Ensure the robot is not in User Coordinates to define these points.
11. Press MODIFY.
12. Press ENTER.
13. Press XX (F2).
14. Move the robot to a point on the X-axis.
15. Press MODIFY.
16. Press ENTER.
17. Press XY (F3).
18. Move to a point on the +XY plane.
19. Press MODIFY.
20. Press ENTER.
21. Disable the programming pendant.
22. Press EXIT.
The user coordinate frame is now defined.
23. To return to the job display:
a. Press DISP.
b. Press JOB.
c. Press COORD until the red lamp is lit for User Coordinate.
CAUTION!
When executing a relative job, the manipulator maintains its
current orientation. For this reason, during teaching, the robot
should be oriented similar to how it will be oriented in the first
step of the relative job. If the position of the robot is extremely
different from that of the robot in the first step of the relative
job, there is a possibility that the robot will not perform the
work as anticipated.
CAUTION!
When teaching points in a pulse-type job created for relative job
conversion, the amount of movement between the S-, R-, and T-
axis teaching points must not exceed 180°. If it does exceed
180°, the S-, R-, or T-axis will operate in the opposite direction.
b. Press ENTER.
b. Press EDIT
c. Press MORE.
The job is now a relative job with coordinate numbers that have been changed.
/JOB
//NAME JOB NAME
//POS
///NPOS C, BC, EC, PO, BP, EX
///TOOL N
///POSTYPE t
///RECTAN
///RECONF l, m, n, o, p
Cxxxx = X, Y, Z, Rx, Ry, Rz
BCxxxx = X0, Y0, Z0
ECxxxx = 1, 2
//INST
///DATE YY/MM/DD HH:TT
///COMM Command Letter Row
///ATTR Attribution 1, Attribution 2,...Attribution 16
///FRAME ‹C›
///GROUP1 m1, m2, m3
///GROUP2 m1, m2, m3
NOP
MOVJ Cxxx BCxxx ECxxx VJ=xxx.x
END
The pseudo command is distinguished by a single slash. Double, triple, and four
slashes are used to indicate sub-level commands. The levels of commands used are
as shown below in Figure 5-1.
POS NPOS
USER
TOOL
POSTYPE
PULSE
RECTAN
RECONF
INST DATE
COMM
ATTR
FRAME
GROUP1
GROUP2
LVARS
Zb
Base
Coordinate
Xb
Base Axis Coordinate Value
(X0, Y0, Z0)
Zb User
Zu Coordinate
Base
Coordinate
User Axis Coordinate Value
(Xu, Yu, Zu, RXu, RYu, RZu)
0b Yb
Station Axis Pulse
Value (W1, W2)
Yu
Xb
• The "R < 180° or R > = 180°" method (as shown in Figure 5-6 )
For robots with an R-axis that turns 180° or more, it must be specified that the axis
has made a turn from -90° to 90°, 270° to 360°, or -360° to -270°. Similar
specification is also required for position B (see Figure 5-6).
0° A 0°
NOTE: ® is the angle measured from the home position of the R-axis.
0° 360° -360°
-180° 180°
NOTE: ® is the angle measured from the home position of the R-axis.
0° 360° -360°
-180° 180°
NOTE: T is the angle measured from the home position of the T-axis.
Figure 5-8 Front and Back Positions of S-Axis Turned at 0˚ and 180˚
These specifications are required for K and V type six-axis robots. They are,
however, not applicable for Type L robots because they always take the front
position.
2. Specify the form of the L-and U-axis as seen from the right. The upper elbow
position (A) and lower elbow position (B) are shown below in Figure 5-9.
This specification is required for V type six-axis robots. This is not applicable for
L or K type robots because they always take the upper elbow position.
5.5.1 Moving the R-and T-Axes to Preserve the Sign of the B-Axis
This method is used to keep the angle of the B-axis from deviating from the "+"
range to the "-" range. It can be used to prevent the B-axis from moving past 0° in a
job (see Figure 5-10). The R-and T-axes move to reach a defined point, preserving
the sign of the B-axis. This method is especially useful in a job shift, however
should not be used with off-line programming because the form of the robots arm
will be changed with the movement of the R-and T-axes.
+
0°
0°
0°
0°
0°
CAUTION!
Use caution when using this method with a job shift. Robot
movement can be unpredictable, resulting in personal injury or
damage to equipment.
CAUTION!
When teaching points in a pulse-type job created for relative job
conversion, the amount of movement between the S-, R-, and T-
axis teaching points must not exceed 180°. If it does exceed
180°, the S-, R-, or T-axis will operate in the opposite direction.
Because the encoder which reads pulse position is not used in relative job, the robot
recognizes the position of a job using X, Y, and Z coordinates. In this method, the
B-axis is moved to reach a defined point or changing the sine of the R-axis to
preserve the form of all other axes. Because the form of all other axes is preserved,
this method is especially useful when used with off-line teaching.
Caution should be used when using this method with a job shift. If the teaching
position is too close to the pole changing point, the robot may move in a direction
opposite to that of the anticipated motion. An example follows:
If during teaching, for example, a standard job, the angle of the R-axis is near 90°
or less and the position is shifted, the angle of the R-axis may exceed 90°. Before
the shift, the wrist is in a flip position. After shifting it is in a no-flip position (see
Figure 5-13).
R Axis
0°
Flip
-90° 90°
No-Flip
R Axis
0° 0°
-90° 90°
The parameter and values for the robot form control methods are as shown below in
Table 5-1:
Table 5-1 Parameter and Values Used in Robot Form Control Methods
2490 Execute FWD/BWD Operation Once Before Editing the Relative Job,
Press FWD/BWD Operation Once
2500 Cannot Convert the Job A Job Which Only Has a Station
Axis and No Group Axes Cannot
Be Converted to a Relative Job
MESSAGE MEANING
Steps Outside of Working Range When the Relative Job or Standard Job
Have Been Created is Modified, Steps Outside of the
Working Range are Calculated
FLANGE COORDINATES
Xf
TOOL COORDINATES
Yf
Zf
Zf
TOOL CENTER POINT
NOTE: If calibration points have already been taught, it will be necessary to press DATA CL (F3) and
EXECUTE (F5) in order to clear the old values.
6. Press TEACH on the programming pendant.
7. Enable the programming pendant by pressing ENABLE.
8. Using the axis keys, move the robot towards the pointer until the tip of the wire
touches the tip of the pointer (see Figure 8-2).
TOOL
WIRE
POINTER
b. Press MODIFY.
d. Press ENTER.