Kinematic Modules

To facilitate the programming and simultaneous control of multiple axes, GPL always organizes groups of axes into robots. A robot may consist of a single linear or rotary axis or may have up to 12 axes of motion consisting of a combination of linear and rotary degrees-of-freedom. Up to 12 robots can be controlled by a single master controller. To simplify programming, the end-effector position and orientation of a robot can be specified in Cartesian coordinates (X, Y, Z, Yaw, Pitch, Roll) rather than in motor encoder values or joint coordinates. Similarly, the path that the robot follows between two positions can be along a straight line even if the robot is constructed with multiple rotary joints.

The software routines that are responsible for converting Cartesian positions and orientations to joint coordinates and vise versa are contained in a Kinematic Module. In order for these geometric conversions to be properly performed, the correct Kinematic Module must be selected from the Kinematics Library (please see the reference documentation section for a description of this library). For example, a four degree-of-freedom Cartesian robot that consists of an X, Y, and Z linear axes followed by a rotary axis that rotates about the Z-axis would be controlled by the XYZTheta Kinematic Module.

Once the proper Kinematic Module is selected, you must provide the parametric data to customize this module for your use. For example, in the case of the XYZTheta module, the nominal Z height of the device must be defined to establish the zero position of the Z-axis relative to the base of the robot. For other robots, the lengths of each link might have to be specified or the offsets between links. In this manner, a single generic Kinematics Module can be applied to a wide variety of mechanisms.

In addition to the basic Cartesian to joint conversion, Kinematic Modules can also include the following features:

  1. Each robot can have an associated Tool and Base transformation to compensate for the size and orientation of the robot’s end-effector and for the mounting position of the robot.
  2. Special algorithms can be provided for controlling redundant axes. For example, Kinematic Modules can be developed that include 2 or 3 stage telescoping Z-axes or extra axes that are used for reaching around obstacles.
  3. Selected axes can be designed to support Split-Axis Control.  This technique permits two motors to be automatically operated in unison so that they appear as a single controlled axis to the high-level software.  For example, this method is very useful for gantry mechanisms to allow a motor to be placed at each end of a moving beam to eliminate binding and improve position control.
  4. To compensate for mechanical manufacturing deviations, a module can include various types of compensation. These functions can compensate for non-linearity or backlash in the drive chain, errors in the orthogonality of linear axes, bowing in linear axes, run out in a rotary joint or other types of deviations.
  5. A simple form of automatic collision detection or avoidance can be provided in some modules. This might be used to prevent two gantry robots that share a common beam from accidentally colliding.

If you do not see a Kinematic Module in the library that satisfies your requirements, please contact Precise. New modules are frequently added to the library.