V+ 12.4 Release Notes

Displays the Table of Contents for the current document
Displays the previous topic in the current document
Displays the next topic in the current document
Displays the Index for the current document

SPEC

Description

Robot specification utility

Disk File Name

SPEC.V2

Program Name

a.spec

Functions

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

For systems with AdeptModules devices, the SPEC program must be used to specify the configuration of the devices when the system is initially set up. See the AdeptModules Instruction Handbook, Vol. 1, Adept MV Controller Interface, for detailed information about this procedure.

The SPEC utility contains new/enhanced options that have not yet been documented in the AdeptMotion VME Developer's Guide or the AdeptModules Instruction Handbook, Vol. 1, Adept MV Controller Interface. For details on these options, please refer to the sections listed below:

The following robot parameters can be changed with the restricted access mode of SPEC, which applies to all the Adept robots:

Abstract

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 needs to be changed to suit a particular application. This program can be used to make the desired changes to the data.

Requirements

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

Before you run SPEC:

Procedure

1. Load the program:1

load \util\spec

2. Execute the program:

execute 1 a.spec

3. Choose an option from the menu displayed (see below).

4. Follow the prompts provided by the program (see below).

5. You can delete the SPEC program from the system memory with the following commands:

kill 1
delete a.spec

Menu Structure

NOTE: For purposes of these release notes, both restricted- and unrestricted-access menu items are listed. Footnotes are included that describe any special access or usage requirements for corresponding menu items.

Exit to system monitor 
Enter password to increase access2 
AdeptModules quick setup3
Change robot options and motor configuration2,4 
Perform hardware diagnostics 
Edit robot specifications 
	Exit to main menu 
	Edit robot initialization specs 
		Exit to robot menu 
		Hand OPEN signal 
		Hand CLOSE signal
	Edit motor amp/encoder specs3
		Exit
		Change motor number
		Encoder scale factor (ct/mm or ct/deg)
		Encoder counts per zero index (ct)
		Encoder configuration
		Encoder sign
		Motor sign
		Maximum DAC output
		Maximum DAC output in Manual mode
		*Duty-cycle exceeded* DAC limit
		*Duty-cycle exceeded* filter parameter
		*Motor stalled* timeout (sec)
		*Manual mode envelope error* limit (cts)
		*Soft envelope error* limit (cts)
		*Hard envelope error* limit (cts)
		Velocity envelope error limit (ct/ms)
		Machine input polarity
		Perform hardware diagnostics 
	Edit motor tuning parameters5 
		Exit
		Change motor num
		Proportional gain
		Proportional zero
		Proportional pole
		Integral gain
		Max integrator value
		Max integrator step
		Velocity feedforward
		Accel feedforward
		Static friction ffwd
		DAC output filter
		S-A: Skew error gain
		S-A: Max velocity FF
		Select test
			Exit
			Square wave
			Move between taught points
			Plant+controller frequency response
			Plant-only frequency response (Closed-loop excitation)
			Auto-tune to find feedback gains
			Auto-tune to refine existing feedback gains
			Auto-tune to find feedforward gains
		Test and plot
		Test and display6
		Export results2
		STOP Test2
	Edit motor calibration parameters1
		Exit
		Change motor number
		Change homing configuration
		Speed and direction (ct/msec)
		`Motor stalled' timeout during cal (msec)
		Maximum search distance (ct)
		Maximum home switch width (ct)
		Distance from home switch to zero index (ct)
		Motor position at zero index (ct)
		Calibration groups
		Park position after calibration (ct)
		Teach calibration specs
		Calibrate motor
		Calibrate rotor 
	Edit joint motion specs  
		Exit 
		Change joint number 
		FINE nulling tolerance (cts) 
		COARSE nulling tolerance (cts) 
		Time required to be in tolerance (sec) 
		Tolerance checking filter pole 
		READY position (mm or deg) 
		Joint speed at SPEED 100 (mm/sec or deg/sec) 
		Joint accel at ACCEL 100 (mm.sec2 or deg/sec2) 
		Min JOINT pendant increment (deg or mm) 
		Max JOINT pendant speed (deg/s or mm/s) 
		FREE mode 
		FREE mode digital signal 
		Velocity servo 
		Minimum lower joint limit (mm or deg) 
		Lower joint limit (mm or deg) 
		Upper joint limit (mm or deg) 
		Maximum upper joint limit (mm or deg) 
		Encoder roll-over value (mm or deg)1 
		Modular link type1 
			Joint mechanism ID1 
	Edit link dimensions7
	Edit Cartesian motion specs1
		Exit to robot menu
		Cartesian translation speed at SPEED 100 (mm/sec)
		1st Cartesian rotation speed at SPEED 100 (deg/sec)
		Translation acceleration at ACCEL 100 (mm/sec^2)
		Accel for 1st rotation at ACCEL 100 (deg/sec^2)
		Max WORLD/TOOL pendant translation speed (mm/sec)
		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 
		Exit to robot menu 
		Upper speed limit for SCALE.ACCEL (%)
	Edit S-Curve trajectory profiles
		Exit to robot menu
		Enable and edit a profile
		Disable a profile
	Edit motor stop-on-force specs
		Exit
		Change motor number
		Stop-on-force integrator gain 
	Edit collision detection specs 
		Exit to robot menu 
		User specified Cartesian obstacle #1 
		User specified Cartesian obstacle #2 
		User specified Cartesian obstacle #3 
		User specified Cartesian obstacle #4 
Load robot specifications from a disk file 
Save robot specifications to a disk file 
Save ALL specifications to system disk 
Change robot number 
Switch to external encoder specifications8 

Program Prompts

The SPEC robot configuration utility program displays the following screen (you may notice some differences due to your system configuration):

	***  ADEPT ROBOT SPECIFICATION PROGRAM  ***
				 					 (Version 12.4x) 
Copyright (c) 1988-1998 by Adept Technology, Inc. 
Servo code version: 12.4B1	 Servo rate: 1000 Hz 
		 ROBOT 1: Adept SCARA Robot Module.
	 Restricted access mode (formerly CONFIG_R) 
	0 => Exit to system monitor 
	1 => Perform hardware diagnostics 
	2 => Edit robot specifications 
	3 => Load robot specifications from a disk file
	4 => Save robot specifications to a disk file 
	5 => Save ALL specifications to system disk 
	6 => Change robot number
	7 => Switch to external encoder specifications

		 Enter selection:  

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 selection.

0 => Exit to System Monitor

Exit the configuration program and return to the V+ system monitor.

1 => Perform hardware diagnostics

This menu item displays the following read-only information for troubleshooting of a robot system. Type Q or 0 (zero) to exit the display. For more information refer to the AdeptMotion VME Developer's Guide.

			***  Diagnostics: Robot 1  ***

					Robot POWER is OFF. 
			Read-only mode access mode. 
		Press P to toggle power, Q or 0 to quit. 
Motor/Board/Channel    1/B1/C1   2/B1/C2   3/B1/C3  4/B1/C4
Encoder position            65        17     30914       10
Last zero-index          -1045      3188     36438      -88
 
Zero-index delta         2000      8000      7680         0
Home                       ON       OFF       OFF       OFF
Overtravel                OFF       OFF       OFF       OFF
Amp Fault                 OFF       OFF       OFF       OFF

Amp enable                OFF       OFF       OFF       OFF
Brake release             OFF       OFF       OFF       OFF
DAC voltage              0.00      0.00      0.00      0.00
DAC count                   0         0         0         0
 
2 => Edit robot specifications

The following menu items are displayed at this level:

0 => Exit to main menu
1 => Edit robot initialization specifications
2 => Edit motor tuning parameters (motor 4 only)
3 => Edit joint motion specs
4 => Edit general motion specs
5 => Edit collision detection specs
 

These menu item selections allow you to perform the following:

3 => Load robot specifications from a disk file

Use this menu item to load robot configuration data from a disk file created with the next menu item.

4 => Save robot specifications to a disk file

After you have changed the robot configuration data, you can store the new data in a disk data file. The data in the file can be used later to apply your specific robot configuration data to another V+ system disk.

You can save specifications as a readable ASCII text file or as an encrypted binary file. Only the editable data are included in the ASCII file; binary files contain both editable and hidden data that completely specify the device. ASCII files are adequate in many cases, since you ordinarily want to save only those specifications that you have edited. ASCII files are also adequate for any non-Adept device that is not password-protected, since there are no hidden specifications in such devices. Binary file format is typically used on password-protected robots to save the complete description of the mechanism.

If your Adept system controls more than one robot, these menu choices access the data for the specific robot you chose in the main menu.

5 => Save ALL specifications to system disk

After you have changed the configuration data for any of the items, you should store the new data on the V+ system disk. This menu item causes all the current configuration data to be written to the V+ system disk. If the changed data is not stored on the system disk, the previous configuration data will be used the next time the robot system is turned on and booted from disk.

CAUTION: Before you modify a V+ system disk, you should make a copy of the system (with the DISKCOPY utility program).

If you normally boot your system from a floppy disk, you should make a copy of your V+ system disk (with the DISKCOPY utility) before you use this procedure. Then, you should save the original diskette and store the new configuration information on the copy.

The V+ system must have been booted from the actual system disk (floppy disk or hard disk) on which the new configuration information is saved.

If your Adept system controls more than one robot, this menu selection saves the data for ALL the robots (and any external encoder).

6 => Change robot number

If your system has multiple robots, selecting this item allows you to access data for another robot.

7 => Switch to external encoder specifications

If your system supports external encoders for conveyor tracking, you can select this item to edit the encoder parameters. See the AdeptMotion VME Developer's Guide for more information.

Descriptions of Some Program Operations

The items described below can be edited after selecting "Edit robot specifications" in the main program menu. After changing any of these items, the data should be written to the V+ system disk so it will be used the next time the controller is turned on.

Edit robot initialization specs 
		Hand OPEN signal 
		Hand CLOSE signal
 

The numbers of the digital signals accessed by V+ for controlling the end-effector are stored on the V+ system disk. These menu items permit you to change these specifications if your application requires special signals to control the robot gripper.

The default settings for the gripper signals are listed in the user's guide for the robot. These can be changed to any of the robot I/O signals (3001 to 3008), digital output signals (numbered 1 to 8 and 33 to 512), and internal software signals (2001 to 2512). Setting a negative signal number indicates that the gripper will be activated when the signal is deasserted.

Edit joint motion specs 
		FINE nulling tolerance (cts) 
		COARSE nulling tolerance (cts)
 

Choose these items to change the positioning tolerances used at the end of any motion that requires nulling.

NOTE: Do not modify the positioning tolerances unless you have a good understanding of how they are used by the V+ system. Refer to the descriptions of the COARSE and FINE program instructions in the V+ Language Reference Guide.

Edit joint motion specs 
		Lower joint limit (mm or deg) 
		Upper joint limit (mm or deg)
 

The motion limits for the individual robot joints can be changed from their standard settings to prevent the robot from moving into undesired regions.

Edit general motion specs 
		Upper speed limit for SCALE.ACCEL (%)
 

This defines the maximum program speed setting for which the SCALE.ACCEL switch has an effect. The SCALE.ACCEL or speed-scaling feature provides automatic reduction of accelerations at speed settings below this value, thus eliminating the problem of short, rapid accelerations at low program speeds. For more information on speed scaling and the SCALE.ACCEL switch, see the description of SCALE.ACCEL [robot_num] on page 82.

Edit collision detection specs 
		User defined Cartesian obstacle #N
 

These menu items can be used to define parameters used to avoid collisions with static obstacles in the workspace. (See Collision Detection and Defining Obstacles for details.) During operation of the workcell, the paths of the robot tool tip and tool-mounting flange are automatically tested to ensure they will not collide with these objects under the following circumstances: when the robot is being moved in JOINT, WORLD, or TOOL manual control mode; when the destination of each motion is being planned; and while straight-line motions are being performed.

Each obstacle is defined by its shape, location, and size. The shape of an obstacle can be a box, a cylinder, or a sphere. The location of each obstacle is defined with respect to the base reference frame of the robot when its BASE transformation is null.

CAUTION: When defining the size of an obstacle, you generally should add 1/2 of the diameter of the robot's end-of-arm tooling to each surface of the actual obstacle being modeled. That is needed because the collision detection references the tool point of the end-effector, which is typically at the center of the tooling.

Special Considerations

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

NOTE: Some string 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 This Topic). However, all variables are deleted when a DELETE command is used to delete the program from memory, as described earlier.

The disk file SPEC.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette.

Defining Obstacles

User-defined obstacles are specified using the SPEC utility. To specify a user-defined obstacle:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the Collision Detection Specifications menu.

	Edit robot specifications ` Edit collision detection specs 

The screen shown in Collision Detection Specifications Menu is displayed.

Figure 4-1. Collision Detection Specifications Menu

3. Choose one of the user-defined options. The screen shown in User-Defined Obstacle Instruction Screen is displayed.

Figure 4-2. User-Defined Obstacle Instruction Screen

4. Enter the desired value for the object shape, position, and size. If option 0 (none) is selected, the system displays the menu shown in Collision Detection Specifications Menu. The list of shape parameters may vary depending on the type of object selected (box, cylinder, or sphere).

Sample Collision Detection Options for Box Shape shows an example of a completed screen.

Figure 4-3. Sample Collision Detection Options for Box Shape

The location of each obstacle is defined with respect to the base reference frame of the robot when its BASE transformation is null.

CAUTION: When defining the size of an obstacle, you generally should add 1/2 of the diameter of the robot's end-of-arm tooling to each surface of the actual obstacle being modeled. That is needed because the collision detection references the tool point of the end-effector, which is typically at the center of the tooling.

5. You can repeat the previous steps for up to four objects in the robot workcell.

6. Save the modified SPEC data. See the Instructions for Adept Utility Programs for details.

Loading and Saving SPEC Data Through NFS

The SPEC program contains features that allow you to load and save SPEC data using NFS to access a remote storage device (floppy drive, hard disk, removable disk, etc.).

NOTE: To use these options, you must have a remote system running an NFS server and must establish communications between that server and the Adept controller before starting up SPEC. See the AdeptNet User's Guide for details.

Loading a SPEC Data File Through NFS

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. Select Load robot specifications from a disk file from the main menu. An instruction screen is displayed and you are prompted for the unit name, path, and name of the file:

Figure 4-4. Loading SPEC Data Through NFS

NOTE: If the NFS server is not correctly mounted, you will not see the mount information shown in Loading SPEC Data Through NFS.

3. Type the unit name, path, and name of the file and then press the ENTER key to accept, or simply press the ENTER key to cancel the option and return to the main menu.

For example, in Loading SPEC Data Through NFS the NFS-mounted unit name is "TEMPFILES". So, if we assume that there is a directory on that unit called "SPEC_DAT" and a data file in that directory called "SPEC.SPC", the correct file specification would be:

			NFS>TEMPFILES:\SPEC_DAT\SPEC 

NOTE: The .SPC extension is assumed. If the file name uses a different extension, that extension must be specified.

Saving SPEC Data Through NFS

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. Select Save robot specifications to a disk file from the main menu. You are prompted for the file type and data format:

Figure 4-5. Saving SPEC File-File Type and Data Format Prompts

3. After selecting the file type and data format, an instruction screen is displayed and you are prompted for the unit name, path, and name of the file:

Figure 4-6. Saving SPEC Data Through NFS

NOTE: If the NFS server is not correctly mounted, you will not see the mount information shown in Saving SPEC Data Through NFS.

4. Type the unit name, path, and name of the file and then press the ENTER key to accept, or simply press the ENTER key to cancel the option and return to the main menu.

For example, in Saving SPEC Data Through NFS the NFS-mounted unit name is "TEMPFILES". So, if we assume that there is a directory on that unit called "SPEC_DAT" and we wish to save our SPEC data file in that directory using the name "SPEC.SPC", the correct file specification would be:

			NFS>TEMPFILES:\SPEC_DAT\SPEC 

NOTE: The .SPC extension is assumed. If the file name uses a different extension, that extension must be specified.

Dedicated Home Sensor for AdeptModules

The SPEC program contains an option that allows users with AdeptModules running on an Adept MV Controller to change the homing configuration so that SPEC searches for a dedicated home sensor during the calibration procedure. Previously, the AdeptModules calibrated only to an overtravel sensor.

To access this option:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the

Edit robot specifications ` Edit motor calibration parameters

The Robot/Motor Calibration menu is displayed.

Figure 4-7. The Robot/Motor Calibration Menu

3. Select Change homing configuration from the menu. A submenu is displayed followed by a series of questions:

Figure 4-8. Change Homing Configuration Submenu

4. To use a home sensor mounted on your AdeptModules axis for calibration, select Search for home sensor from the submenu and press ENTER. To cancel the option, simply press ENTER. After selecting the option, you are asked to disable (or enable) the "calibrate to zero index":

Figure 4-9. Disable/Enable the Calibrate to Zero Index

5. To toggle the setting for how the motor calibrates to a zero index, press Y and then press ENTER. To use the current setting, press N and then press ENTER, or simply press ENTER to accept the default value (N). After answering this question, you are asked to enable (or disable) the "fine search toward home" switch:

Figure 4-10. Enable/Disable the Fine Search Toward Home Switch

6. To toggle the setting for fine search toward home, press Y and then press ENTER. To use the current setting, press N and then press ENTER, or simply press ENTER to accept the default value (N). After you answer this question, the screen is first cleared and then the Robot/Motor Calibration menu is displayed.

Manual Mode Envelope Error Limit

The SPEC program contains an option that allows you to specify a manual mode envelope error limit. This option allows the user to configure a smaller envelope error (that is, how far the motor is allowed to lag behind the commanded position) for motions made with the pendant. If a small value is specified for this parameter and the user then drives the robot into an unmovable object using the pendant, the system would halt robot motion faster. This parameter is related to Soft Envelope Error and Hard Envelope Error. The term below describes this relationship:

Man Env Err <= Soft Env Err <= Hard Env Err

To access this option:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the

Edit robot specifications ` Edit motor amp/encoder specs

The Robot/Motor Amplifier and Encoder Specifications menu is displayed.

Figure 4-11. The Robot/Motor Amplifier and
Encoder Specifications Menu

3. Select *Manual mode envelope error* limit from the menu and press ENTER. You are prompted for the allowable manual mode position error count:

Figure 4-12. Setting the Manual Mode Position Error Count

4. Type the new value and press ENTER to accept, or simply press ENTER to cancel the option.

Point-to-Point Motion Routine and Move Accel/Decel

The SPEC program contains options that allow you to specify a custom point-to-point motion routine and to configure both the move acceleration and deceleration percentages for motor tuning tests. To access these options:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the Motor Tuning Test Configuration menu:

Edit robot specifications ` Edit motor tuning parameters `
Select test ` Move between taught points

NOTE: The options shown on this menu change depending on what test type is selected.

Figure 4-13. The Motor Tuning Test Configuration Menu
(Move Between Taught Points Selected)

Custom Point-to-Point Motion Routine

This feature allows a user to write a custom point-to-point motion routine that will execute in place of the standard routine in SPEC. (The standard routine is protected and cannot be edited.) Previously, if the user wanted to do something special with the robot and analyze data collected during the move, he would have to create a program with the same name as the standard routine in SPEC (sp.tu.mov.test) and then make sure that routine was loaded before loading and executing SPEC. Now, the user can write a program, give it any name, and then specify the name in the SPEC menu. At that point, SPEC will verify that the custom routine exists (in RAM) and is executable. At execution time, SPEC will call the custom program instead of the standard routine.

NOTE: The custom routine must be in RAM when the name is specified in the SPEC utility. SPEC will verify that the custom routine exists and is executable.

1. From the Motor Tuning Test Configuration menu, select Pt-to-Pt motion routine. You are prompted for the name of the new routine:

Figure 4-14. Specifying the Custom Point-to-Point Routine

2. Type the name of the custom routine and press ENTER, or simply press ENTER to cancel the option and return to the Motor Tuning Test Configuration menu.

3. When using a custom motion routine, please note:

				routine (plot, ctl[ ], $err)
 
  
  • The routine must be loaded into RAM.

See the section "Program Listing for sp.tu.mov.test( )" for a description and listing of the standard motion routine supplied with SPEC.

Move Acceleration and Deceleration Percentages

This feature allows the user to specify a unique acceleration AND deceleration percentage for the point-to-point move test during motor tuning. This can be useful for high-inertia robots that require different acceleration and deceleration values.

1. From the Motor Tuning Test Configuration menu, select either Move acceleration (for setting the acceleration percentage) or Move deceleration (for setting the deceleration percentage). You are prompted for the new value:

Figure 4-15. Setting the Move Deceleration/Acceleration Percentage

2. Type the desired value and press ENTER to accept it, or simply press ENTER to cancel the option and return to the Motor Tuning Test Configuration menu.

Program Listing for sp.tu.mov.test( )

The program listing for the routine sp.tu.mov.test( ) is being provided to show developers how the standard routine works. This will allow developers to create their own custom motion routines that use SPEC to collect the motion data.

NOTE: The standard routine is still protected. This listing is supplied so that developers can reference the standard program for creating custom motion routines.

  
.PROGRAM sp.tu.mov.test(plot, ctl[], $err) 
 
; ABSTRACT:  Performs programmed motion for taught-point tuning test.  																																								 
;       Assumes points #sp.tu.pt[0] and #sp.tu.pt[1] have been defined.  
;       These variables contain the two points taught for the point-  
;       to-point test.  
;  
;			 This is the standard point-to-point motion program. Custom  
;       motion programs can be used to perform special moves for  
;       servo tuning analysis.  Any custom program MUST have the  
;       same calling sequence as this program.  
;  
;       In order to take advantage of the data collection and plotting  
;       features of the SPEC program, note the CALLs to the following  
;       programs in the code below:  
;  
;               CALL sp.tu.config(time)         ;Specfies the amount of data  
;                                               ;collection time in seconds.  
;               CALL bf.enable(mode, sync)      ;Enables data collection buffer.  
;               The values for "mode" and "sync" are detailed below:  
;               mode      0 (default): Stop data collection  
;                         1: Trigger re-enabled after collection  
;                         2: Single sweep  
;               sync    Trigger synchronization  
;                         0 (default): Trigger now  
;                         1: Trigger to internal trajectory generator  
;  
;               CALL sp.tu.plot(time, $err)     ;Plots the results.  Note the  
;                                               ;"time" argument is internally  
;                                               ;calculated.  
;  
;               CALL sp.tu.dump(lun)            ;Dumps data to the specified  
;                                               ;Logical Unit Number (lun).  
;                                               ;LUN = 4 is the terminal or  
;                                               ;MONITOR window.  
;  
; 					The data collected will be that configured in the data-collection  
; 					menu.  
;  
; INPUT PARM:   plot    Flag indicating whether to plot results  
;               ctl[]		   Array of test control values.  Relevant values  
;                       for point-to-point motion test are:  
;                       ctl[sp.tu.move.spd] = Move speed (% motor max)  
;                       ctl[sp.tu.move.acc] = Acceleration (1-100)  
;                       ctl[sp.tu.move.dec] = Deceleration (1-100) 																																								  
;                       ctl[sp.tu.move.prf] = Accel profile  
;  
; OUTPUT PARM:  $err    Error string.  If non-empty, then an error  
;                       occurred that will be reported to the user.  
;  
; SIDE EFFECTS: None  
;  
; Copyright (c) 1994-1998 by Adept Technology, Inc.  
  
        AUTO DOUBLE time  
  
        CALL sp.tu.config(10)           ;Configure 10 sec of data collection  
  
; Set up default speed and acceleration  
  
        SPEED ctl[sp.tu.move.spd] ALWAYS  
        ACCEL (ctl[sp.tu.move.prf]) ctl[sp.tu.move.acc], ctl[sp.tu.move.dec] 																																								  
  
; Move to 1st point a little slower than the test motions if the test  
; motion speed is greater than or equal to 50%.  	 																																							 
  
        IF ctl[sp.tu.move.spd] >= 50 THEN  
            SPEED ctl[sp.tu.move.spd]/2         ;Move at 1/2 speed  
        END  
  
        COARSE                          ;Don't bother to settle accurately  
        MOVE #sp.tu.pt[0]               ;Move to Start point  
        DELAY 0.2                       ;Allow some time for settling  
        BREAK                           ;Complete settling time  
  
        FINE                            ;Perform motion accurately  
        MOVE #sp.tu.pt[1]               ;Initiate motion  
        WAIT                            ;Allow motion to start  
  
        time = TIMER(-3)                ;Reset cycle timer  
        CALL bf.enable(1)               ;Enable buffer: wrap-around, start now  
  
        BREAK                           ;Complete motion  
        MOVE #sp.tu.pt[0]               ;Return to start position  
        BREAK                           ;Complete motion  
        time = TIMER(-3)-time           ;Record cycle time  
  
        WAIT.EVENT , 0.25               ;Collect for a while longer  
        CALL bf.enable()                ;Turn off buffer  
  
        IF plot THEN  
            CALL sp.tu.plot(time, $err) ;Plot results  
        ELSE 																																								  
            CALL sp.tu.dump(4)          ;Dump data buffer to monitor 																																								  
        END  
																																								  
        	RETURN 								  
.END 

Options for the Frequency Response Tests

The SPEC program contains options for the frequency response tests that allow you to specify the number of frequency bands to test, the start amplitude, and the stop amplitude. To access these options:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the Motor Tuning Test Configuration menu:

Edit robot specifications ` Edit motor tuning parameters `
Select test...

The Motor Tuning Test Configuration menu is displayed.

NOTE: The options shown on this menu change depending on what test type is selected.

Figure 4-16. Motor Tuning Test Configuration Menu
(Frequency Response Test Selected)

3. To access the frequency response tests, select one of the following menu options:

You can make adjustments to the settings for the frequency response items shown in Frequency Response Test Menu Items
Table 4-2. Frequency Response Test Menu Items
Menu Item
Input Range
Description
Number of frequency bands
to test
1 to 10
Specifies the number of frequency bands to test.
Number of frequencies to test
2 to 1000
Specifies the number of test iterations for each frequency band.
Low frequency (Hz)
0.1 to 20
Specifies the lowest input frequency (in Hz) used for the test.
High frequency (Hz)
1 to 500
Specifies the highest input frequency (in Hz) used for the test.
Start amplitude (encoder counts)
0 to 100000
Specifies the start and stop wave amplitude in motor counts. Amplitude is linearly spaced between the Start and Stop values. To hold the amplitude constant, set the Start amplitude value to 0.
Stop amplitude (encoder counts)
0.1 to 100000

Adding a Description to a SPEC-generated Data File

Whenever a SPEC-generated data file is saved, you have the option of entering a description of the file contents. When saving a data file, you will receive a prompt similar to the following:

Figure 4-17. Adding a Description to a SPEC Data File

To add a description to a file type Y, then ENTER, and then type the message at the ">" prompts. You can add additional lines (or blank lines) by pressing ENTER at the end of each line. To end the message, type a period character (.) by itself on the last line and then press the ENTER key. The message is automatically included in the data file.

Static Friction Feed-forward Compensation

SPEC includes parameters for setting up a motion-control feature called Static Friction Feed-forward Compensation. This feature is designed to minimize tracking errors by providing a corrective torque proportional to the amount of friction in the system. This allows a motion to start more quickly, particularly in the case of a sticky drive train.

NOTE: Modifying these parameters when moving in square-wave drive mode has no effect since the commanded velocity is 0.

To access this option:

1. Load and execute the SPEC utility. See the Instructions for Adept Utility Programs for details.

2. From the main menu, choose the following menu options to access the Motor Tuning Test Configuration menu:

Edit robot specifications ` Edit motor tuning parameters `
Static friction ffwd...

The Static Friction Feed-forward menu is displayed.

Figure 4-18. Static Friction Feedforward Menu

You can make adjustments to the settings for the static friction feed-forward items shown in Static Friction Feedforward Menu Items
Table 4-3. Static Friction Feedforward Menu Items
Menu Item
Input Range
Description
Max trigger
0 to 9.22E+18
Specifies the maximum commanded velocity value (cnts/msec) for ramping the static friction compensation torque up to the maximum positive or maximum negative value, depending on the direction of motion of the joint. Once the velocity reaches the max trigger value, the static friction compensation output is clipped at the max positive or max negative value. To disable static friction feed-forward compensation, set this value to 0.
Min trigger
0 to 9.22E+18
Specifies the minimum commanded velocity value (cnts/msec) that initiates static friction feed-forward compensation.
Max positive value
0 to *
Specifies the maximum positive or maximum negative amount of torque that can be applied to the commanded velocity when the joint is moving in the corresponding direction. In most cases the maximum positive and maximum negative values should be identical.
Max negative value
0 to *
Time constant
-9.22E+18 to 9.22E+18
This value allows the servo software to anticipate or delay the effect of the static friction compensation torque on the commanded velocity. If the value is positive, compensation will lead the servo setpoint. If the value is negative, compensation is delayed.
* The displayed maximum value equals the maximum DAC output setting for the motion device.
.

1

Use the correct drive and path specification if the file is stored on another drive or subdirectory.

2

Password-protected robots only

3

Only for systems with AdeptModules devices

4

Display of this menu item and options depends on the type of device connected to system and/or user access level

5

Display of this menu item and options depends on the type of device connected to system and/or user access level

6

Display of this menu item depends on the test selected using the "Select test" menu item.

7

Display of this menu item and options depends on the type of device connected to system and/or user access level

8

Systems with external encoders only

Please submit comments to: techpubs@adept.com

Last modified on: 07/08/2004
Copyright © 2004 by Adept Technology, Inc.
All rights reserved.