Motor Calibration Parameters Menu

Calibration is required to tell each motor in the Adept SmartMotion system where it is. Because the encoders used with Adept SmartMotion are incremental, only reporting changes in position rather than absolute position, you must establish an absolute reference point, usually a zero-index on the encoder near to a home switch, from which all subsequent motion can be referenced. The Motor Calibration Parameters Menu allows you to specify the zero index and other parameters used by the calibration program STANDARD.CAL. For a description and diagram of the calibration process, see the Motor Calibration Overview.

When you select a menu option, the following information is provided on screen:

For additional information on the available menu options, see Menu Options below.

Change motor number

Calibration groups

Encoder type

Change homing configuration

Speed and direction

Speed for fine search

Motor stalled timeout during cal

Maximum search distance

Maximum home switch width

Distance from home switch to zero index

Motor position at zero index

Park position after calibration

Teach calibration specs

Calibrate motor

Calibrate robot

Menu Options

Change motor num

Use this option to select a different motor for tuning. The currently selected motor is indicated in the menu page title.

Motor Calibration Groups

For some robots, all the motors can be calibrated simultaneously, in which case all motors should be put into calibration group 1. But depending on your robot's mechanical design and its workcell, it may be desirable to calibrate motors in a specific order. For example, a vertical axis may need to be retracted to avoid gripper damage during calibration. Such a motor should be in calibration group 1, and its park position such that it moves out of the way of workcell collisions. Other motors can be put into calibration group 2. Motors can appear in several calibration groups; sometimes this is useful when one motor has to be moved to a particular position in order for another to calibrate, and then must itself be calibrated later. More...

Encoder type

The encoder type code is used by the servo and calibration code to identify the type of encoder attached to the motor (absolute, incremental, etcetera). The encoder type establishes which internal software drivers are used to communicate with the encoder.

The valid encoder types are:

0

 Undefined

1

 Incremental encoder

10

 Yaskawa Sigma-I series absolute encoder

11

 Yaskawa Sigma-II series serial absolute encoder

20

 Panasonic absolute encoder

This parameter should be set based on the way the encoder is actually USED. For example, if an absolute encoder is wired to the system, but it is used only in incremental mode, the encoder type should be set to 1.

Change Homing Configuration

The Homing Configuration is a bit field that specifies the type of calibration method to be used. The following three homing configuration settings are described below: Search Type, Calibrate Without Zero Index, and Final Calibration.

The homing configuration value that displays on the Motor Calibration Menu is the sum of the mask values of the desired options.

Bits 0,1 SEARCH TYPE

These bits define the target of the initial search performed during calibration, as defined below:

Bit Setting
Mask Value
Description
00
0
Search for home switch.
01
1
Search for hard stop.
10
2
Stay at current position (calibrate from the current position of the motor). This is generally not used because without a search it is difficult to guarantee that the same zero index or calibration position will always be found.
11
3
Absolute calibration. (requires special hardware)
100
4
Calibrated via dual encoder (for Adept robots only)

Bit 2 CALIBRATE WITHOUT ZERO INDEX (Mask value 4)

This bit is set to calibrate to the position found at the end of the search (or to the current position if no search is performed), without using a zero index. This type of calibration tends to be less repeatable than using a zero index.

Bit 3 FINAL CALIBRATION DIRECTION (Mask value 8)

This bit is ignored unless a home switch search has been selected (bits 0 and 1 both off). If this bit is off (the default), the position of the home switch will be determined while moving slowly OFF of the home switch, and the optional zero-index search will continue in the same direction. If this bit is set, the position of the home switch will be determined while moving slowly ON to the home switch, and the optional zero-index search will continue in the same direction. It is usually desirable to leave the bit off, since the home switch is usually placed close to an overtravel switch, and the zero index search will then occur moving away from the overtravel.

NOTE: Depending on the configuration chosen, some of the following parameters may not be required, and will not appear on the menu.

Speed and Direction

Signed integer value which specifies the direction and speed the motor moves during its initial search for the home switch or hard stop, and the speed at which it moves to the park position. After the motor senses the home switch, if one is used, it also moves at this speed in the opposite direction until it moves off the switch. If the speed for fine search is set to zero. This guarantees that the home switch edge is found quickly whether the robot begins calibration on the home switch or off it.

WARNING: In most installations, the speed specified here determines the speed of the first robot motion after power up. Set this value low enough so that a person unfamiliar with the robot's operation will not be injured if they are standing inside the work envelope.

Speed for Fine Search

Determines the speed at which the motor searches for the precise home-switch edge after coarsely locating it.

Motor Stalled Timeout During Cal

Because calibration is often the first motion a robot performs after startup, it is advisable to shorten the amount of time the motor command can saturate at the maximum DAC value before declaring a Motor Stalled error. This parameter allows you to set a special timeout value during calibration; a value of 100 ms is typically satisfactory.

Maximum Search Distance

Positive integer value which specifies the maximum distance the motor will move without finding the home switch or hard stop before it declares an error. This value should generally be slightly greater than the motor range in counts to make sure it doesn't stop before reaching the home switch or hard stop.

Maximum Home Switch Width/ 'Hard-stop Found' Position Error

If the homing configuration specifies Search for home switch, this value specifies the maximum distance the motor will move on the home switch before declaring an error. This value should generally be slightly greater than the number of encoder counts that the home switch spans.

If the homing configuration specifies Search for hard stop, this value specifies the position error in counts at which the motor will declare that it has hit the hard stop. This value should be much smaller than the envelope error limit, but big enough so it will not give a false hard-stop found reading while simply moving to the stop. If it is set too big, *motor stalled* errors will occur as the DAC saturates against the stop.

Distance From Edge of Home Switch to First Zero Index

If the motor happens to have a zero index that almost perfectly coincides with the edge of the home switch or the hard stop, the motor might sometimes catch it and sometimes catch the next index during calibration. This value specifies the expected number of counts from the home switch or hard stop to the first zero index. If the number of counts is off by more than half the number of counts between zero indices, the system projects where the desired zero index is and calibrates to it.

This value is difficult to calculate off-line. It is suggested that you use the interactive teaching utility to help you define this value.

Motor Position at Zero Index/Hard Stop/Home Switch/Current Position

This is the value to which the motor position is reset once the calibration target (zero index, hard stop, home switch, or current position, depending on the settings of the homing configuration setting) is found.

While the other parameters do not require a high degree of accuracy, this parameter should be specified as accurately as possible, since it can be critical to straight-line tracking accuracy and positioning consistency from one robot to another of the same type.

If your device module contains motor-to-joint coupling (if motion of a given joint involves moving more than one motor), you will need to refer to your device module documentation to determine what joint position corresponds to the Motor position at zero index.

If your module does not contain any motor-to-joint coupling, the corresponding joint position can be obtained by multiplying the motor position (in encoder counts) by the encoder scale factor for the joint.

This value and Distance From Edge of Home Switch above are usually different for different robots of the same design, because it is very difficult to guarantee a precise relationship between a zero index location and home switch closure. As a result, these values should be customized for each version of a mechanism to guarantee consistent calibration.

Park Position After Calibration

This is the position to which the motor moves after calibration is complete. It can be used to move the motor out of the way, so that subsequent motors can calibrate.

Teach Calibration Specs

This option appears only if STANDARD.CAL program file is selected for calibration file name on the Robot Initialization Specifications Menu. This option provides an iterative sequence to easily measure and record parameters such as home switch width, first zero index position, park position, etcetera.  You must first set the homing configuration, speeds, and distances.

Calibrate Motor

This option allows you to test the calibration sequence for the current motor.

Calibrate Robot

This option performs the complete calibration for all motors.