|
V+ 12.4 Release Notes |
BELT_CAL
Description
Conveyor tracking calibration utility
Disk File Name
Program Name
Functions
Determine the calibration data required to have the robot track a moving conveyor belt.
Test the calibration data by having the robot track a point on the conveyor.
Abstract
Various data are required to have the robot track a moving conveyor belt. These include the following:
- The relationship between belt position and encoder output
- A description of where the belt is located in the robot reference frame, and the direction in which the belt moves
- A definition of the limits of the robot working range along the belt
The belt calibration program can be used to define all these data, and to store the data in a disk file for subsequent use by application programs.
Once the data are defined, the performance of the robot/conveyor/encoder system can be tested.
Requirements
The following items are needed for use of the program:
- Adept robot system with the conveyor tracking feature
- V+ system disk with the conveyor tracking feature
- Adept Utility Disk containing the file BELT_CAL.V2
- Manual control pendant
- Conveyor-tracking encoder
- Cable from encoder to the robot controller
- Calibration disk
- Calibration pointer
- Conveyor belt that can be stopped and started (provided by the customer). (The portion of the belt to be used by the robot must be straight and flat but not necessarily level or parallel to any robot axis.)
The following conditions must exist before the program can be used:
- The conveyor belt must be securely installed so it cannot move relative to the robot.
- The encoder must be mounted on the conveyor so that its drive disk rolls on the belt or so that the shaft of the encoder is connected to the belt drive train without backlash.
- The calibration pointer must be mounted on the robot end-effector flange.
- The V+ system must be loaded from the system disk.
- The robot must be calibrated and COMP mode must be selected on the manual control pendant.
Procedure
1. If you want to save all of your programs and data on a disk, type:
2. Clear the system memory by typing:
3. Load the calibration program into the system memory by typing:1
4. Start execution of the program by typing:
5. If your system is configured for more than one belt encoder, enter the number of the encoder channel you want to work with. The channels are numbered 1 through 6.
6. If your system controls more than one robot, enter the number of the robot you want to work with.
7. Select the operations you want from the menu displayed (see below).
8. Follow the prompts provided by the program during the various procedures (see below). At the end of the calibration procedure you will be able to store the calibration information in a disk file for later use.
9. Delete the calibration program by typing the commands:
10. Later, to restore the calibration data from the disk, your application program should CALL the subroutine load.belt contained in the utility file LOADBELT.V2.
Program Prompts
The conveyor tracking calibration program displays a menu of selections to the user. The following paragraphs describe the menu items and provide additional information to help you decide how to respond to prompts from the program. After you respond to a prompt, the program displays instructions on the monitor or terminal.
NOTE: If you want to exit the program at any prompt, press ctrl+z.
0 => Exit to system monitor
Choose this item to exit the program and return to the V+ monitor.
1 => Perform complete calibration sequence
This menu selection initiates processing of all the steps for defining the conveyor calibration data.
If you want to define only a portion of the calibration data (for example, because something in the setup has changed), do not make this selection. Select only the appropriate menu choice(s).
During the calibration procedure the program will ask you to move the robot pointer to several locations on the conveyor. To see a description of the locations and a diagram indicating proper positions, respond y to the prompt
Do you want to see an explanatory diagram (Y/N)?See the descriptions that follow for more information on individual steps of the calibration procedure.
2 => Load calibration data from the disk
This selection loads belt calibration data from a previously created data file.
You are asked for the disk unit on which the calibration data file is stored. Then you are asked to specify the subdirectory in which the file is located. If the correct subdirectory path is shown as the default, press the enter key.
The program displays the names of all the files currently in the selected subdirectory that appear to be belt calibration data files. (The data is normally stored in a disk file with its name in the format BELTnnn.DAT, where nnn is a user-specified data set number.)
After you enter the desired data set number, the data is read from the disk and is used to reinitialize the conveyor tracking system.
3 => Store calibration data onto the disk
This selection allows you to store the current belt calibration data in a disk file for later use. After the file is created, the data can be read from disk by this program or by an application program that contains the subroutine load.belt (provided in the file LOADBELT.V2 on the Adept Utility Disk).2
You are asked which disk device you want the data stored on. Then you are asked to specify the subdirectory in which the file is to be located. If the correct subdirectory is shown as the default, you can simply press the enter key.
The program displays the names of any files currently in the selected subdirectory that appear to be belt calibration data files. (The data is normally stored in a disk file with its name in the format BELTnnn.DAT, where nnn is a user-specified data set number.)
After you enter the data set number you want to use, the data file is created. (The name of the new data file is BELTnnn.DAT, where nnn is the data set number you entered.)
4 => Display belt encoder output
Choose this selection to have the program display the position and speed of the conveyor as indicated by the output from the belt encoder. This is useful to verify that the encoder is functioning correctly.
5 => Set encoder scale factor
The encoder scale factor defines how far the belt moves between each count output by the belt encoder. This menu selection initiates the steps required to determine that scale factor.
If you know the value of the scale factor, you can enter it directly to the program. Otherwise, you can use the robot to measure the belt motion between two positions.
The procedure for using the robot to determine the encoder scale factor involves recording a robot location on the stationary belt and its corresponding encoder reading. Then the belt is moved so that the point on the belt moves to the opposite extreme of the robot's reach. A new robot location and encoder reading are recorded. The difference between the two robot locations determines how far the belt moved, and the difference between the two encoder readings is the number of encoder counts output during that belt motion.
The Adept calibration pointer and disk are designed to simplify this procedure. The calibration program asks you to perform the following steps:
1. Place the disk on the belt as far upstream as the robot can reach, on the side of the belt nearest the robot. (It's a good idea to tape the disk to the belt so it can't slip when the belt is started and stopped.)
2. Center the robot pointer on the disk.
3. Press the enter key to indicate the pointer is in place.
4. Back the pointer away and run the belt until the disk moves near the other extreme of the working range of the robot. (Be careful that the disk does not slip on the belt when the belt is started and stopped.)
5. Without moving the disk, center the pointer on the disk a second time.
6. Press the enter key again to indicate the pointer is in place.
6 => Define belt reference frame
The belt reference frame describes the direction in which the belt moves and the orientation of the surface of the belt.
Four robot locations on the conveyor must be recorded to define the belt reference frame. The two locations used to determine the encoder scale factor (see above) are used when the complete calibration procedure is performed. Otherwise, all four locations need to be recorded.
For each location requested by the program, position the calibration disk on the belt and center the robot pointer on the disk. Note these considerations when following the instructions from the calibration program:
1. The calibration disk must not move across the belt while the upstream and downstream locations are being recorded.
2. The upstream, downstream, and across-the-belt locations must all be recorded at the same height above the surface of the belt.
3. The center-of-the-belt location can be anywhere in the vicinity of the center of the robot working range on the belt.
4. Care should be taken to keep the robot end-effector flange from rotating relative to the belt. Otherwise, any eccentricity of the calibration pointer results in errors in the measurements between recorded positions.
When the nominal belt transformation is computed, it can have a pitch component that is upside down with an absolute value greater than 90 degrees. As a result, you have the option of rotating the transformation 180 degrees about the X axis. The following prompt is displayed:
The nominal location has a non-standard pitch (i.e., greater than 90 degrees). Rotate the transformation 180 degrees about the X (belt) axis (Y/N)?See the V+ Language User's Guide for additional details on programming conveyor belt applications.
If you are using AIM MotionWare for belt tracking operations, the belt calibration utility built into MotionWare can be used to create, store, and load calibration data.
7 => Define belt working window
The system should be told how far upstream and downstream the robot can reach. That is done by defining a robot location at each end of the desired working window. These locations are used to define imaginary planes perpendicular to the belt, and thus only their positions along the belt are used by the program.
8 => Initialize the belt variable(s) with current data
This menu item causes the system to incorporate the calibration data determined by the steps above. As a result, the belt variable %b[i] is defined, where i is the number of the belt encoder being used.
9 => Test belt calibration
To test the belt calibration you can have the robot track a point on the belt. Place a calibration disk on the belt and position the calibration pointer slightly above the disk.
As the robot is tracking the belt, you can stop and start the belt, change its speed, and reverse its direction of motion. You can stop the belt tracking by pressing the enter key on the keyboard, or the done button on the manual control pendant. The robot automatically stops tracking the belt if it moves close to an end of the defined working window along the belt.
You should verify that the robot accurately tracks the disk. That is, it should remain centered over the disk as the disk moves down the belt. Inaccurate tracking indicates the belt calibration procedure should be repeated.
If the robot correctly follows the path of the disk, but gains on it or lags behind, only the encoder scale factor needs to be recalibrated. If the robot moves across the belt as it tracks the disk, you should repeat the procedure that defines the belt reference frame.
Do you want to save the calibration data on the disk (Y/N)?After completing the calibration procedure entering y to the prompt shown above will store the calibration data in a disk file for later use. The steps that follow are identical to those for the main-menu selection "Store calibration data onto the disk", which is described above.
10 => Select belt to work with
Use this menu item to change the number of the belt encoder channel you want to work with. The number of the channel currently selected is displayed above the main menu.
11 => Select robot to work with
If your V+ system controls more than one robot, use this menu item to change the number of the robot you want to work with. The number of the robot currently selected is displayed above the main menu.
Programming Considerations
For use when tracking the conveyor belt(s), the program defines the global variables listed below. Your application program can access these variables, or it can define other, equivalent variables by calling the routine contained in the file LOADBELT.V2 on the Adept Utility Disk.
Special Considerations
The calibration program defines several real-valued and location variables that use bc. and belt. as prefixes. These variables must not be modified by the user or by other programs. (All these variables are deleted from memory when a DELETE command is used to delete the program from memory, as described earlier.)
The disk file BELT_CAL.V2 is a read-only file on the distribution diskette. Thus, the programs in the file cannot be modified or stored from memory to a disk. The FCOPY command can be used to copy the disk file to another disk.
The diskcopy utility program (in DISKCOPY.V2) can be used to make a backup copy of the entire distribution diskette. That program can also be used to copy the file BELT_CAL.V2 from the distribution diskette to the optional hard disk.
Type the correct drive and path specification if the file is stored on another drive or subdirectory.
See the LOADBELT description in the Instructions for Adept Utility Programs manual for information on how your application programs can read calibration data from disk files.
|
Please submit comments to: techpubs@adept.com |