XYZTheta Module

This module controls an X/Y/Z/Theta mechanism that consists of 3 orthogonal linear axes followed by a rotary theta axis.  This module can be optionally configured to be used with any combination of 1 to 4 axes. For example, this module can control a single X-axis, a Y and Z mechanism, an XYZ table, a Z & theta device or a full 4 degree-of-freedom gantry robot.  This module contains all of the basic functionality required to control these types of robots.  For enhanced capabilities such as split-axis control, motor coupling and motor linearity compensation, please see the Enhanced XYZTheta kinematic module.

The first 3 axes of this module are linear and move the robot in X, Y, and Z. The fourth axis is rotary and turns the end-effector about the negative World Z direction.

Kinematics Module Number and Required Software License

Module number to be entered into the "Robot type" (DataID 116):  2

Required software kinematic license (entered using the web interface panel Utilities > Controller Options if not already installed):   None.

Kinematic Model

Axis Optional Max Range Description

1: S1

Yes

Max double precision range

Linear axis that moves the robot in the direction of the World X-axis. A positive change in the axis position results in a movement in the direction of the positive World X-axis.

2: S2

Yes

Max double precision range

Linear axis that moves the robot in the direction of the World Y-axis. A positive change in the axis position results in a movement in the direction of the positive World Y-axis.

3: S3

Yes

Max double precision range

Linear axis that moves the robot in the direction of the World Z-axis. A positive change in the axis position results in a movement in the direction of the negative World Z-axis.

4: q4

Yes

Unlimited but typically set to +/- 359.9°

Rotary axis that rotates the end-effector about the Z-axis of the robot. A positive change in the axis angle results in a negative rotation about the World Z-axis. The center of this axis' travel can be arbitrarily set, although it is typically centered about 0, 180 or -180 degrees.

Parameter Database Values

The following table describes the Parameter Database values that are utilized to configure the kinematic module. Standard motion control parameters such as servo tuning values, limit stops, the homing specification, etc are not included in the table.

Parameter Database ID Parameter Name Description

2000

Number of axes

Can be set from 1 to 4.

2001

Split-axis mask

Not supported.

2003

Axis mask

Bit mask indicating the specific axes that are to be controlled.  The least significant bit (1) corresponds to the X axis. For example, if all 4 axes are to be controlled, this value should be set to 15 (binary 1111).  If only the X and Z axes are configured, this value should be set to 5 (binary 0101).

2005

Motor linearity compensation

Not supported.

2006

Robot type special option flags

Not applicable.

2701 / 2703

100% Cartesian speeds and accels

Value 1:  Cartesian 100% linear speed and acceleration of the robot's end-effector measured along any vector in X, Y and Z.

Value 2:  Cartesian 100% rotational speed and acceleration of robot's end-effector.  Normally set equal to the 100% joint speed and acceleration of the theta axis.

Values 3-n:  Not used.

16050

Kinematic dimensional constants

Value 1 (S0):  Z offset for the base of the robot.  Increasing this value logically moves the robot up in Z.   For example, if this value is 0, when the Z-axis is at its 0 position, the tool tip will be at a World Z value of 0.  Alternately, if this parameter is 100, when the Z-axis is at its 0 position, the tool tip will be at a World Z value of 100 millimeters.

Values 2-n: Not used.

16051

Tool set at restart

When the controller is restarted, this specifies the initial value for the position and orientation of the robot's tool center point relative to the end of the Z-axis. For most simple tools, only the length of the tool needs to be defined by setting this parameter to:  0, 0, tool_length, 0, 0, 0.

16052

Base set at restart

When the controller is restarted, this defines how the base of the robot is positioned and oriented relative to the World coordinate system.  Normally, this parameter is set to 0, 0, 0, 0, 0, 0.

Robot Configuration ("Config") Parameters

This kinematic module makes use of the following Location Config property flags to control how Cartesian positions and orientations are converted to joint angles: 

GPL_Single

Special Compensation

This kinematic module does support "Continuous Turn Axes" for the the rotary axis:  q4.

This kinematic module does not support "Motor Coupling", "Linearity Compensation" or "Split-Axis Control".

This kinematic module does not support "Dynamic Feedforward" compensation (DFF).

Additional Considerations

This kinematic module does not utilize the Custom Kinematic Parameters accessed by Robot.Custom.

This kinematic module does not have any extra, independent axes so Move.Extra has no affect.