Robot Device Modules

Show the Device Modules Menu

 

X / Y / 3(Z/Theta) Device Module (Xy3)

This robot module controls a mechanism with up to eight degrees of freedom. The mechanism consists of two orthogonal, linear (X/Y) axes followed by three pairs of coaxial linear/revolute (Z/Theta) axes. The three pairs of Z/Theta axes are typically used to control multiple placement heads. At any given time, one of the Z/Theta pairs is selected as the primary head. The primary head, in combination with the X/Y axes, operates in the same manner as a standard X/Y/Z/Theta robot. That is, when the robot position is read as a transformation, or when a transformation is specified as the destination of a motion, the displacement and orientation from the base of the robot to the end of the primary head defines the Cartesian location of the robot.

In addition to designating a primary head, one or both of the additional Z/Theta pairs can be specified as being "slaved" to the primary head. When a head is slaved to the primary head, and the primary head is commanded to a position specified as a transformation, the Z and Theta axes of the slave head will track the Z and Theta axes of the primary head.

To compensate for errors in the perpendicularity of joints 1 and 2, a 2-by-2 matrix is used to express the relationship between the positions of joints 1 and 2, and the corresponding positions of motors 1 and 2.

Module Specifications

Minimum V+ compatibility: 11.0

V+ License Requirements: "Enhanced Kinematics License"

If you install this module but do not have the above license, an "*Option not installed*" message will be displayed when you restart your system.

Device module name: XY3

Device module identification number: 21

This number is displayed with the robot serial and model number after the system boots up and whenever the ID monitor command is issued.

Default startup message: "X/Y/3(Z/Theta) Robot"

The startup message is displayed just after the system boots up.

Default joint configuration:

Joint

Axis

Board/Channel

1

1 (X)

1/1

2

2 (Y)

1/2

3

3 (Z1)

1/3

4

4 (theta1)

1/4

5

5 (Z2)

2/1

6

6 (theta2)

2/2

7

7 (Z3)

2/3

8

8 (theta3)

2/4

With multiple robots, it will be necessary to correct the joint configuration from the SPEC program to avoid conflicts.

Robot Option Word

This module does not use any bits of the robot option word (see the AdeptMotion VME Developer’s Guide or the SmartMotion Developer's Guide for details on this parameter). You should leave its value set at 0 (zero).

Axis Configuration

The eight axes of motion for this mechanism are defined as follows:

1. Joint 1 is a linear axis that moves in the world-X direction. A positive displacement of the joint moves the robot end effector in the positive world-X direction.
2. Joint 2 is a linear axis that moves in the world-Y direction. A positive displacement of the joint moves the robot end effector in the positive world-Y direction.
3. Joint 3 is a linear axis that moves in the world-Z direction. A positive displacement of the joint moves the robot end effector in the negative world-Z direction.
4. Joint 4 is a revolute (theta) axis about the world-Z direction. A positive rotation of the joint turns the robot end effector in a negative direction relative to the world-Z axis. If the first head is designated as the primary head, the axis of rotation of joint 4 defines the nominal Z axis of the robot tool frame of reference. That is, if a NULL tool is defined, the Z axis of the tool frame will be collinear with the axis of rotation of joint 4, and will be pointed in the direction of the negative world-Z axis.
5. Joint 5 is a linear axis that moves in the world-Z direction. A positive displacement of the joint moves the robot end effector in the negative world-Z direction. This joint sits on the same carriage as joint 3 and 7, and its motion is mechanically independent of the movements of joints 3, 4, 5, and 6.
6. Joint 6 is a revolute (theta) axis about the world-Z direction. A positive rotation of the joint turns the robot end effector in a negative direction relative to the world-Z axis. If this head is designated as the primary head, the axis of rotation of joint 6 defines the nominal Z axis of the robot tool frame of reference.
7. Joint 7 is a linear axis that moves in the world-Z direction. A positive displacement of the joint moves the robot end effector in the negative world-Z direction. This joint sits on the same carriage as joints 3 and 5, and its motion is mechanically independent of the movement of joints 3, 4, 5, and 6.
8. Joint 8 is a revolute (theta) axis about the world-Z direction. A positive rotation of the joint turns the robot end effector in a negative direction relative to the world-Z axis. If this head is designated as the primary head, the axis of rotation of joint 8 defines the nominal Z axis of the robot tool frame of reference.

As with all robot modules, the standard V+ BASE and TOOL transformations can be used in combination with the geometric model to specify and compute the end point of the robot relative to the world coordinate frame. The TOOL transformation is always applied relative to the primary head.

Maximum operating range of rotational joints

This module has up to three rotary joints. Their maximum operating range is as follows.

Joints 4, 6, 8: -179.9° to +179.9°

Warning: Be sure to set the software joint limits properly before attempting to move the robot in a V+ program. It is especially important for revolute axes to have correct software limits set before attempting any motion instruction. If the limits are improperly set, a revolute axis can rotate unexpectedly in order to stay in range.

Variations in Axis Configuration

This module can be configured to control joints 1 through 4, joints 1 through 6, or joints 1 through 8. That is, the X/Y stage with 1, 2, or 3 heads.

Link Dimensions (Geometric Dimensional Constants)

Tool Z-offset distance

The Tool Z-offset distance defines the distance from the center of the wrist to the tool mounting flange. See the AdeptMotion VME User Guide for a description of this parameter.

Other Dimensional Constants

This module requires six constants that define the X/Y position of each head relative to the main X/Y stage. When a head is selected as the primary Z/Theta pair, its X/Y offsets (stored in the link geometry array) are added to the positions of joints 1 and 2 to compute the position of the head. The offsets are stored in the order shown in the following table.

Link Dimension Parameters for X / Y / 3(Z/Theta) Robot

 

Parameter

Units

Value

1

X offset for head 1

mm

 

2

Y offset for head 1

mm

 

3

X offset for head 2

mm

 

4

Y offset for head 2

mm

 

5

X offset for head 3

mm

 

6

Y offset for head 3

mm

 

Interpretations of Cartesian Rotation

During program-generated straight-line motions, the first Cartesian rotation speed controls the rate at which the primary Theta rotates, and the speed should be set to be consistent with the joint-interpolated speed for the Theta joints.

Coupling Between Robot Joints and Motors

To compensate for errors in the perpendicularity of joints 1 and 2, a 2-by-2 matrix is used to express the relationship between the positions of joints 1 and 2, and the corresponding positions of motors 1 and 2.

Robot Configuration Control Program Instructions

The following robot configuration-control program instructions do not have any effect upon the operation of mechanisms controlled by this module:

ABOVE, BELOW, FLIP, NOFLIP, LEFTY, RIGHTY

(See the V+ Reference Guide for more information on these instructions.)

Additional Restrictions

None.

Special Features

When the system is first booted, the first Z/Theta pair is selected as the primary head, and the second and third heads are not slaved. The ROBOT.OPR program instruction must be executed to specify a different primary head, and to slave heads.

ROBOT.OPR is a general-purpose instruction, whose interpretation varies from one robot module to another. The general syntax for this instruction is:

ROBOT.OPR (function_code) exp1, exp2, ..., expn

For "function_code" 0:

This instruction is used to select the primary and secondary Z/Theta axes that are to be moved when a transformation set point is specified. The arguments for this instruction are interpreted as follows:

exp1 Number of the primary Z/Theta axes (1-N).
exp2 (Optional) Number of the secondary Z/Theta axes (1-N).
exp3 (Optional) Number of the third Z/Theta axes (1-N).
exp4 (Optional) Number of the fourth Z/Theta axes (1-N).

NOTE: "N" is the number of configured Z/Theta pairs, which can be 1 to 4. There is no check for an axis pair being specified more than once.

For "function code" 1:

This instruction sets offset values that are applied to the Z and RZ set points for the slaved axes. Any unspecified values are set to 0. As a safety precaution, before the offsets are set, any axes currently being slaved are taken out of slave mode. The arguments for this function are interpreted as follows:

exp1 Z offset for first slaved axes.
exp2 (Optional) RZ offset for first slaved axes.
exp3 (Optional) Z offset for second slaved axes.
exp4 (Optional) RZ offset for second slaved axes.
exp5 (Optional) Z offset for third slaved axes.
exp6 (Optional) RZ offset for third slaved axes.

NOTE: The offsets for the fourth set of slaved axes cannot be set.

The following points should be kept in mind when utilizing ROBOT.OPR to change the head selection:

1. This instruction breaks any executing continuous-path motion and modifies the head selection after the robot has come to a stop.
2. Before you slave one head to another head, you should ensure that the Z and Theta values for the slave head are identical to those of the primary head. If any differences exist, at the start of the next motion, the axes of the slave head will quickly jump to the same joint positions as the primary head.

Please submit comments to: techpubs@adept.com

Last modified on: 12/05/2007
Copyright © 2007 by Adept Technology, Inc.
All rights reserved.