Open topic with navigation
Conveyor Tracking Introduction
The conveyor tracking motion control option permits a robot to pick and place parts on one or more moving, linear conveyor belts. Each conveyor belt must be equipped with an encoder that provides the controller with real-time data on the position and speed of the belt. Based upon this information, the controller automatically compensates the end positions of motions that are defined with respect to a belt to adjust for the position of the conveyor.
To develop a conveyor tracking application, the following steps must be performed:
- A robot module must be configured for each conveyor belt. A conveyor robot module defines the characteristics of a conveyor including the specification of the encoder that is interfaced to the belt. A few parameters are unique to conveyor robots and are typically taught using a provided “Conveyor Setup Utility”. These special parameters specify the direction of travel of the conveyor, its nominal position and the limits that define the working range of the belt
- One or more conveyor reference frame (RefFrame) objects must be defined within a GPL program. These objects point to the conveyor robot module of interest and define an encoder offset that specifies the instantaneous working area of the belt.
- One or more Location objects must be defined relative to a conveyor reference frame object. These Locations instruct GPL when it must move relative to a specific conveyor belt.
- The GPL program must be executed in the standard fashion. The system
will automatically adjust the coordinates of any Location defined
relative to a conveyor based upon the belt's instantaneous encoder
information.
The following are some general comments regarding
the Conveyor Tracking Software option.
- Conveyor Tracking Software License -- A Conveyor Tracking license must be purchased and installed on the master controller before the conveyor tracking capability can be utilized.
- Number of Conveyors -- If required, several conveyor belts can be interfaced to a controller. The only limitations are: the number of robots that can be configured in a controller (which is approximately 20); and the number of encoder hardware interfaces available. The ability to operate with respect to more than one conveyor is important since many packaging applications have both an input and an output conveyor.
- Linear Conveyors Only -- The Conveyor Tracking software has been designed to only track linear (straight) conveyors. Currently, curved conveyors are not supported.
- Conveyor Speed and Direction of Travel -- The system software automatically adjusts taught positions for the instantaneous speed and direction of travel of the belt. If the belt speeds up, slows down or even changes direction, the system will automatically compensate the robot’s trajectory. However, if these changes occur rapidly, the robot may lag the conveyor somewhat due to delays caused by filtering the encoder position and velocity and the time required to propagate this new information through the system.
- Motion Types -- Only Cartesian motions can be used to track a conveyor belt. Also, only straight-line motions can be employed to move onto and off of a conveyor belt from or to a stationary position. Circular interpolated motions can be executed once the robot is tracking a belt, but these types of motions cannot be used to move onto or off of a conveyor. Joint interpolated motions can never be used to track a conveyor belt and will generate an error if attempted.
- Trajectory Modes -- Conveyor tracking is compatible with other position controlled trajectory modes such as Real-Time Path Modification and SpeedDAC (i.e. controlling a DAC based upon the speed of the robot’s tool tip). In addition, it is compatible with Torque Control mode. However, you cannot track a conveyor belt when the robot is in Velocity Control or Jog Control modes.
The following sections provide more detailed information on setting up a conveyor and writing a conveyor-tracking program.