Instructions for Adept Utility Programs 


You are here: Adept Utility Program Descriptions > SPEC

SPEC

File Name Program Name File Type Description

SPEC.V2

a.spec

B

Robot specification utility

The SPEC program allows customizing of robot parameters for a particular application. This description documents the restricted-access mode of SPEC that is seen with Adept robots. The unrestricted-access mode of SPEC is required only for developers of custom robot systems and is documented in the Adept SmartMotion Developer's Guide.

The following options are available only when using the unrestricted mode of the SPEC utility:

When an Adept robot is accessed, the SPEC utility operates in restricted-access mode, which prevents access to many parameters. The following robot parameters can be changed while in restricted-access mode:

The V+ system contains internal data structures that describe robot parameters such as those mentioned above. This internal data can be modified whenever the configuration of any of the robot parameters must be changed to suit a particular application. This program makes the desired changes to the data.

Requirements

You need the following items to run SPEC. All of these, except as indicated, are supplied with your robot system.

Before you run SPEC, the system must have been booted from the actual system disk that will be modified during the configuration procedure.

When the SPEC utility is executed, it checks for the SPECSUB programs in system memory. If the programs are not found, SPEC attempts to load the file SPECSUB.LIB from the following paths:

DISK>B:\

DISK>C:\UTIL\

NFS>XA:\

DISK>A:\

DISK>D:\

NFS>XC:\

DISK>C:\

DISK>D:\UTIL\

NFS>XC:\UTIL\

SPEC searches for the preferences file (SPEC.PRF) in the following paths:

Current default directory specification

D:\SPEC\

B:\ (if available)

A:\ (if available)

If the preferences file cannot be found or fails to load, the SPEC program reverts to the system defaults and no error is generated.

Usage Considerations

The configuration program defines many real-valued and string variables with the prefix "sp.". Those variables must not be modified by you or by other programs.

NOTE: Some variables are intentionally left in RAM when the program exits normally. For example, the name of the custom point-to-point motion routine is left in memory (see Custom Point-to-Point Motion Routine). However, all variables are deleted when a DELETE command is used to delete the program from memory.

When robot option bits are changed within SPEC, the utility automatically restarts the servo code so that the enabled servo options can be initialized.

NOTE: This restart occurs automatically within SPEC. It is not necessary to reboot the controller.

The "hybrid" configuration of SmartModules, with either legacy modules (LMMV) or third-party mechanisms, is disabled. Therefore, when the setup procedure is executed by means of either the SPEC utility or the DC_SETUP utility, only SmartModules are affected.

Menu Structure

NOTE: All menu items (for both restricted and unrestricted access) are listed. The menus and options you see on your system will be a subset of this, as the displayed menus and options depend on the type of robot and external encoder configuration of the V+ system. Refer to the Adept SmartMotion Developer's Guide for more details.

  Menu

Description

Enter password to increase access

Refer to the Adept SmartMotion Developer's Guide for more details.

SmartServo device quick setup

Allows you to access the DC_SETUP utility, to set up the SmartServo system.

Change robot options and motor configuration

Allows you to change the configuration by the motor or joint

Perform hardware diagnostics

Displays read-only information for troubleshooting the robot system

The following menu items are described in the topic See "SPEC, Edit Robot Initialization Specs".

Edit robot specifications

The following menu items allow you to edit selected robot specifications.

          Edit robot initialization specs

Allows you to change the default robot-level parameters

 

Edit startup message

Specify a message to be displayed at robot boot-up

 

Edit module password

Specify a password needed to modify the configuration

 

Calibration file name

Specify a V+ calibration program that automatically loads and executes when the CALIBRATE monitor command or program instruction is processed

 

Robot model number

Set the robot model number

 

Robot serial number

Set the robot serial number

 

Hand OPEN signal

Change the Hand OPEN or Hand CLOSE signal specifications

 

Hand CLOSE signal

 

*Time-out nulling* error limit (sec)

Specify the time limit for achieving the nulling tolerance

 

Time required for clutch to engage (sec)

Specify the time allowed for clutch engagement before the high-power sequence continues

 

Time required for brakes to release (sec)

Specify the time allowed for the brakes to release before a motion is performed

 

Time required for brakes to engage (sec)

Specify time between brake engagement and amplifier disabling

 

Max time to wait for high power (sec)

Specify maximum time V+ will wait before reporting a failed startup

 

Delay from high power on to amp enable (sec)

Specify time between high power being turned on and the amplifiers being enabled

 

Max time to wait for amp enable (sec)

Specify time V+ will wait for servos to report amp faults are clear and amp is enabled

 

Machine signal filter configuration

Specify time that axis signals must be asserted before being recognized by the servo board

 

Manual mode E-STOP shutdown timeout (sec)

Select a time delay after an ESTOP is detected before power is removed from the robot motors

 

Auto mode E-STOP shutdown timeout (sec)

 

Hold-to-run E-STOP shutdown timeout (sec)

The following menu items are described in the topic See "SPEC, Edit Encoder Specs".

          Edit motor amp/encoder specs

Edits the motor and encoder parameters.

 

Change motor number

Specify the encoder you want to configure.

 

Encoder scale factor (ct/mm or ct/deg)

Specifies the encoder counts to physical movements, calibrated in real units (millimeters or degrees), for the system.

 

Encoder counts per zero index (ct)

Specifies the number of encoder counts between each zero-index on the encoder.

 

Encoder configuration (zero index)

Defines the manner in which the encoder circuitry reads the zero-index pulse from the encoder, and is set to match the specific type of encoder in use.

 

Encoder Zero-Index Checking

Enables or disables the encoder zero-indexing reporting safeguard.

 

Encoder Quadrature Checking

Enable or disable the quadrature-error reporting safeguard.

 

Broken-Wire Detection

Used to temporarily disable the broken-wire detection safeguard during hardware diagnostic testing.

 

Easy Encoder Filter configuration

Used to add additional filtering to the encoder signal to reject errors due to noise. Additional filtering will reduce the maximum encoder rate.

 

Advanced Encoder Filter configuration

 

Encoder sign

Defines the relationship between the direction of the encoder and the direction of the motor.

 

Max accumulated encoder noise counts

Defines the noise tolerance for the index position during the encoder A and B phases.

 

Max encoder noise counts per rev

Defines a noise tolerance for the index position on the zero-index line.

 

Perform hardware diagnostics

Displays the "Perform hardware diagnostics" menu to test the new parameters specified using the Encoder Specifications menu.

The following menu items are described in the topic See "SPEC, Edit Motor Amp Specs".

 

Motor sign

Used to make sure the torque command acts in the proper direction to correct errors.

  Commutation sign Specifies the sign of the commutation data output by the servo. This parameter is coupled to the encoder sign parameter.
 

Maximum DAC output

Used to limit the output of the analog DAC command.  This is useful as a safety feature to limit the maximum torque or velocity (depending on the type of drive).

 

Maximum DAC output in Manual mode

Specifies the maximum output the servo can send to the DAC during Manual Control mode.

 

*Duty-cycle exceeded* DAC limit

Used to prevent overexerting the motor or drive system.

 

*Duty-cycle exceeded* filter parameter

Specifies the low-pass filter through which the root mean square (RMS) DAC value is fed before comparing it to the above limit.

 

*Motor stalled* timeout (sec)

Used to specify a timeout (in seconds) for a "motor stalled" condition. When full torque is commanded for the specified amount of time, the robot is assumed to be stalled, high power is disabled, and a *Motor stalled* error is generated.

 

*Soft envelope error* limit (cts)

The envelope error is monitored during execution of motions, and those values are compared against this parameter. If the specified limit is exceeded, a *Soft envelope error* message is generated, and the motion comes to a controlled stop. Note that High Power stays on.

 

*Hard envelope error* limit (cts)

Differs from the Soft envelope error—if the specified limit is exceeded, High Power is turned off immediately.

 

*Manual mode envelope error* limit (cts)

Used to configure a smaller envelope error for motions made with the manual control pendant.

 

Velocity envelope error limit (ct/ms)

Specifies the servo velocity error limit in Current mode, which is only active during calibration.

 

Machine input polarity

Controls whether various signals are active-high or active-low using the machine input polarity value. This provides more flexibility in your choice of sensors.

 

Axis-error time delay config

Specifies a time period in which axis errors are not monitored after the amplifier power is enabled. This acts as a filter for noise errors caused by powering up the amplifier.

 

*Skew error* limit (cts)

Defines the maximum skew error (difference between the position errors of the split axes of a gantry allowed before a *Skew Error* is sent to V+. It is in units of encoder counts.

 

Default motion speed (ct/msec)

Specifies the default speed of a motor during servo-controlled trajectories. Most trajectories are V+ controlled.

  Perform hardware diagnostics

Displays the Perform hardware diagnostics menu to test the new parameters specified using the Amplifier Specifications menu.

The following menu items are described in the topic See "SPEC, Edit Motor Tuning Parameters".

          Edit Motor Tuning Parameters

The servo tuning parameters affect the performance and stability of the servo loop for each motor. This menu provides the capability to interactively tune these parameters to show graphically how they influence robot motion.

 

Change motor number

Used to select a different motor for tuning.

 

Proportional gain...

Causes the control system to output a torque that is proportional to the position error (commanded position minus the actual position.

 

Proportional zero...

Affects the dynamic response of the servo system.

 

Proportional pole...

The Pole, like the Zero, affects the dynamic response of the servo system.

 

Integral gain.....

Used to eliminate steady-state errors and improve tracking.

 

Max integrator value

Specifies the maximum value the accumulated (or integrated) error may achieve.

 

Max integrator step

Specifies the largest position error for a given servo cycle (ranging from 0.125 to 2 ms) that will be added to the accumulated or integral error.

 

Velocity feedforward

Used to generate a torque proportional to the commanded velocity. This parameter is useful to reduce tracking error during long slewing motions on systems with a measurable amount of viscous friction.

 

Accel feedforward...

Used to generate a torque proportional to the commanded acceleration/deceleration.

 

Static Friction Fdf...

Minimizes tracking errors by providing a corrective torque proportional to the friction in the system.

 

Filter Configuration

Configures the servo's internal 2nd-order filter to reduce high-frequency oscillation.

 

DAC Output filter

A low-pass digital smoothing filter that affects the final torque command.

 

S-A (split-axis): Skew error gain

Defines the scale factor applied to the skew error (difference of the position error between the coupled axes) to generate the adjusted torque.

 

S-A (split-axis): Skew velocity error gain

Defines the scale factor applied to the skew velocity error (difference of the velocity error between the coupled axes) to generate the adjusted torque.

 

Select test

The tuning process breaks the overall tuning task into two major subsections. First, manual feedback gain tuning determines good values for the Proportional and Integral paths. These parameters are critical for minimizing motion settling time and overshoot. Second, automatic (or manual) feedforward gain tuning improves trajectory tracking by estimating the motor command required to follow a trajectory and "feeding forward" or adding that command to the motor.

 

Test and plot

Used to select a test—the robot will move to perform the test selected. There will be a few-second pause while the system collects data, then you will see a display plot of the parameters you requested.

 

Test and display

Similar to the previous option, except that instead of capturing data during the test and plotting it afterwards, it provides a continuously-updated live display of the selected parameters.

 

Export results

After using the Test and Plot option, you can export the results using one of the available options.

 

Current loop parms

Used to adjust the current loop control parameters.

Internal feed forward and feedback loop. Does not require user adjustment.

 

Adaptive Feedforward

Enables adaptive feedforward control, which may significantly reduce position and tracking errors.

The following menu items are described in the topic See "SPEC, Edit Motor Calibration Parameters".

          Edit Motor Calibration Parameters

Allows users with AdeptModules, SmartModules, Pythons, sMI-6, and third-party mechanisms controlled by an Adept Controller to change the homing configuration.

 

Change motor number

Selects the motor number for editing.

 

Change homing configuration

Changes the homing configuration for the system.

 

Encoder type

Specifies the type of encoder attached to the motor.

 

Joint-encoder counts/index

Specifies the number of encoder counts between zero indices for the JOINT encoder.

 

Motor counts/joint revolution

Specifies the total number of motor counts per 360 degrees of joint travel.

 

Drive train backlash

Cancels the effects of backlash for the specified joint.

 

Enable and reset absolute encoder

Updates the motor position at zero index and sets the active motor position to 0.

The following menu items are described in the topic See "SPEC, Edit Joint, Link, Cartesian, General, S-curve, Collision".

          Edit joint motion specs

The following parameters adjust each joint of the robot

 

Change joint number

Selects the joint number for editing.

 

FINE nulling tolerance (cts)

Changes the positioning tolerances used at the end of any motion that requires nulling

 

COARSE nulling tolerance (cts)

 

Lower joint limit (mm or deg)

Changes the individual robot joints from their standard settings to limit robot joint travel

 

Upper joint limit (mm or deg)

          Edit link parameters

Used to specify the link dimensions for the robot.

          Edit Cartesian motion specs

These menu options are used to define the motion parameters for a Cartesian robot.

 

Cartesian Speed and Acceleration

Defines various speeds and accelerations for Cartesian motion along a straight line path as commanded by the MOVES program instruction.

 

Cartesian translation speed at SPEED 100 (mm/sec)

Specifies the maximum speed for the robot's tool tip during a Cartesian translation at SPEED 100.

 

Cartesian rotation speed at SPEED 100

Specifies the maximum speed at which the tool tip will rotate about a specified axis during a Cartesian motion at a rotational SPEED 100.

 

Translation acceleration at ACCEL 100 (mm/sec)

Specifies the maximum tool tip acceleration that can be achieved when ACCEL 100.

 

Accel for 1st rotation at ACCEL 100 (deg/sec)

Specifies the maximum rotational acceleration that can be achieved about a Cartesian axis when ACCEL 100 is specified.

 

Max WORLD/TOOL pendant translation speed (mm/sec)

These parameters determine the speed and acceleration settings that are used when a robot is moved manually using the pendant.

 

Max WORLD/TOOL pendant rotation speed (deg/sec)

 

Time to reach max WORLD/TOOL pendant speed (sec)

 

Min WORLD/TOOL pendant translation increment (mm)

 

Min WORLD/TOOL pendant rotation increment (deg)

          Edit general motion specs

The general motion specifications establish the motion speed and acceleration limits as well as the start-up values for these parameters. The maximum allowable values help prevent users from placing excessive demands on the system. The default start-up values allow you to control accelerations and acceleration profiles used until user override.

          Edit S-Curve trajectory profiles

These menu options are used to create custom acceleration profiles to control motion. If no profiles are defined, the default square-wave acceleration profile is used.

           Edit collision detection specs

This menu item allows you to edit the parameters for detecting, and thus preventing, collisions between the robot end-effector and objects in the workcell.

The following menu items are described in the topic See "SPEC, Load, Save, UNDO, Change".

Load robot specifications from a disk file

Loads robot configuration data from a disk file created with the Save robot specifications to a disk file menu item.

Save robot specifications to a disk file

Stores robot data in a disk data file.

Save ALL specifications to system disk

Writes all the existing configuration data to the V+ system disk.

UNDO SPEC changes

Restores any SPEC changes in RAM memory to the original settings.

Change robot number

Allows you to access data for another robot.

Switch to external encoder specifications

Edits the external encoder parameters.

Display SmartServo network information

Displays the existing SmartServo network information (e.g., nodes, device type, serial numbers, etc.).

Edit SPEC program preference

Configures defaults for the SPEC program.

If an Auto Backup preference has been set, each time SPEC is executed the Auto Backup feature is enabled and will prompt you to overwrite the stored backup file.

The SPEC robot configuration utility program then displays the initial screen.

NOTE: You may see some differences in the menu contents due to your system configuration. The menus display only those items that are relevant in the current context. You may see more or fewer items, and they may be numbered differently from the examples.

Initial SPEC Screen

NOTE: You can exit the program at any prompt by pressing CTRL+Z. However, this leaves all the program's global variables defined in memory. You can delete these variables by restarting the program and then exiting with the main menu "Exit" selection.

Related Utilities

CONFIG_C

DC_SETUP


Submit comments to: techpubs@adept.com
Last modified on: 4/1/2010
Copyright © 2006 - 2009. Adept Technology, Inc.