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.