Adept SmartMotion Developer's Guide


Motor Servo Tuning Parameters Menu

The servo tuning parameters affect the performance and stability of the servo loop for each motor. Adept SmartMotion offers the capability to interactively tune these parameters to see how they influence robot motion graphically. From the servo tuning menu, you can change servo gains, select a test to perform or data to display, or initiate a test. For additional information on the servo parameters and the tuning process, see Related Topics. For additional details on servo tuning parameters, see Introduction to Servo Tuning Parameters.

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

For details on a menu option, click the desired link in the following list to view the description:

Change motor number

Proportional gain

Zero

Pole

Integral gain

Max integrator value

Max integrator step

Velocity feedforward

Accel feedforward

Static friction ffwd

Filter Configuration

DAC Output filter

Select test

Test and plot

Test and display

Export results

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.

Proportional gain

Causes the control system to output a torque that is proportional to the position error (commanded position minus the actual position. For details on the effects of this parameter, see Effects of Servo Parameters.

Zero

Affects the dynamic response of the servo system. By monitoring how fast the position error is changing, the control system is able to anticipate the position error in the future. For details on the effects of this parameter, see Effects of Servo Parameters.

Pole

The Pole, like the Zero, affects the dynamic response of the servo system. By monitoring how fast the position error is changing, the control system is able to anticipate the position error in the future. For details on the effects of this parameter, see Effects of Servo Parameters.

Integral gain

Used to eliminate steady-state errors and improve tracking. The contribution of integral gain to the output torque is proportional to the integral of the position error (the sum of all past position errors). For details on the effects of this parameter, see Effects of Servo Parameters.

Max integrator value

Specifies the maximum value the accumulated (or integrated) error may achieve. It is useful for controlling the de-stabilizing effect of the Integrator Path by placing a limit on the amount of torque that may be contributed by the integrator. For details on the effects of this parameter, see Effects of Servo Parameters.

Max integrator step

Specifies the largest position error for a given servo cycle (1ms or 2ms) that will be added to the accumulated or integral error. The integrator step is useful for controlling the effect of the integrator during rapid slewing motions, when the position error is largest.

For example, consider a step command to the motor. Immediately after the step, the position error is quite large because the motor has not had time to move. In this initial stage of the motion, it is not important to have the integrator attempting to null out every last bit of position error; rather , the Proportional Path should be allowed to dominate the motor's response.

For details on the effects of this parameter, see Effects of Servo Parameters.

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. Typically, systems with high viscous friction may start moving with a low torque command. However, as the speed of the motor increases, so does the friction. Therefore, to maintain a constant speed, additional DAC output must be generated proportional to the speed of the motor.

To tune the velocity feedforward gain, use a point to point test and plot the commanded velocity along with the tracking error. Disable the integrator gain. If the error has roughly the same sign as the velocity then increase the velocity feedforward gain, if the error has the opposite sign of the velocity, then decrease the gain.

For details on the effects of this parameter, see Effects of Servo Parameters.

Accel feedforward

Used to generate a torque proportional to the commanded acceleration/deceleration. The simplest model of relating motion command to the actual torque required to complete motion is the following:

   Torque = inertia * acceleration

The Acceleration Feedforward Gain emulates the inertia term in the above equation. By specifying the correct Acceleration Feedforward Gain value, each designated move completes in accordance with the relationship described in the above equation.

For details on the effects of this parameter, see Effects of Servo Parameters.

Static friction ffwd

This parameter can 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.

This parameter can be useful to compensate for the mass of a mechanism in low-friction systems. It can also be useful for motors that have considerable inductance (takes time to build up current in the motor windings and torque in their output shafts).

Setting this value too high will make the motor lead the setpoint which causes the mechanism to jerk at the beginning and end of a motion.

Modifying these parameters when moving in square-wave drive mode will have not effect since the commanded velocity is 0.

The static friction feedforward setting has five parameters that can be adjusted: Max and Min trigger, Max positive value, Max negative value, and time constant. Information on these parameters and their effects is provided on screen when you select the parameter.

Filter Configuration

This parameter allows you to configure the 2nd-order filter for the servo to reduce high-frequency oscillation in a motor. There are two types of filters available: Notch Filter and Butterworth Double-Pole Roll-Off filter.

These filters do not eliminate oscillation, but they can reduce its effects.

Filter Status

On the Servo Tuning Parameters Menu, the Filter Configuration will display the current status: PROTECTED, ON, or OFF

Filter Status Description

PROTECTED

By default, the filter value is set to PROTECTED which means that the filter configuration option is disabled. Before you can use the filter, you must first enable the filter by setting the Filter Configuration parameter to OFF (1).

When the Filter Configuration status is PROTECTED, the system ignores any value entered except for OFF (0). If you enter a different value, when you return to the Servo Tuning menu, the Filter Configuration value will still indicate that Filter Configuration is PROTECTED.

ON

Indicates that the filter configuration option is enabled and in use. When the status is ON, the type of filter in use and the parameter values for that filter display on the screen.

OFF

Indicates that the filter configuration option has been enabled, but neither filter is currently in use. When the status is OFF, you can specify the filter and filter values by selecting Filter Configuration from the Servo Tuning menu and entering the value for the desired filter.

DAC output filter

This is a low-pass digital smoothing filter that affects the final torque command. Progressively higher integer values will double the degree of DAC output filtering, removing a large portion of the high-frequency components from the torque command. The result is that the DAC output values change more slowly and smoothly.

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.  The tests available from the Select Test menu option provide data that help complete both sections of the tuning task.

WARNING: All tests require the motor to operate under closed-loop control. If the control loop is unstable, the robot can "run away" when it is commanded to begin moving. Make sure the motor and encoder signs have been properly tested before initiating these tests, stay clear of the robot, and keep your hand near an Emergency Stop button to stop the system if it does appear to behave improperly.

If you choose the Select test menu item, the Tuning Test Configuration menu is displayed with the following options:

Tuning Test Selections
Test Selection Description
Square wave Used for manually tuning feedback (never feedforward) parameters. You can display any servo data during step response, as shown in Tuning Plot for Square-Wave Response Test. You need to specify the amplitude and period of the square wave, and the data that will be collected and displayed. A step size of about 1/2 turn of the motor shaft is typically used.
Move between taught points Moves the robot between two taught points for manually tuning feedback and feedforward parameters. The robot must be calibrated to perform this test, so it is only performed during the later stages of tuning. You need to teach the endpoints of the motion, speed and acceleration parameters, and the data that will be collected and displayed. This test routine can be customized, for example to move along a series of points, instead of just between two points. For details, see Customizing the Move Between Taught Points Test.
Frequency response

This selection provides test options that allow you to specify the number of frequency bands to test, the start amplitude, and the stop amplitude.

Uses "swept-sine" excitation to collect and display open-loop or closed-loop frequency response information about the mechanism. With closed-loop excitation, it commands a sinusoidal position setpoint; with open-loop excitation a sinusoidal DAC output setpoint. You need to specify the frequency range of interest, the number of test points, and the amplitude of the command. See Warning.

Auto-tune to refine existing feedback gains1 Refines the tuning of a roughly tuned motor. The motor tuning must already be stable before invoking this test.
Auto-tune to find feedforward gains1 Optimizes the Velocity and Acceleration Feedforward Gains by moving between taught points and monitoring performance. The robot must be calibrated to perform this test, so it is only performed during the later stages of tuning.
Select Data to Test and Display
If you select taught-point or square wave tests, you need to specify data that will be collected when the test is performed. The data selection menu is shown in Servo Tuning Data Collection Menu. The most useful measure of performance is "PosErr", the motor position error. You want to minimize this to get best servo performance. You will also commonly select "Torque" from this menu to see when the control loop is "saturating," or giving the maximum output torque command. Up to five data items may be selected for display.
1
These menu items appear only on A-Series controllers.

Servo Tuning Data Collection Menu

Test and Plot

Returning to the Servo Tuning Menu and selecting Test and plot, 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 parameter(s) you requested. Tuning Plot for Square-Wave Response Test and Plant+Controller Frequency Response Test show typical displays of plots for square-wave and frequency response tests.

Tuning Plot for Square-Wave Response Test

 Plant+Controller Frequency Response Test

Test and Display

This is similar to the above 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:

Output Data to Text File

Use to export the raw data captured during the previous test to an ASCII file. The data can then be imported into a spreadsheet program, for plotting or analysis.

Output Data to Screen

Use to export the data to the screen for review. (Use scroll lock or Crtl-S and Crtl-Q to start and stop the output.)

Save Plot to TIFF Graphics File

Use to export the currently displayed plot (similar to Tuning Plot for Square-Wave Response Test or Plant+Controller Frequency Response Test) to a TIFF format disk file. This option is only available if you have the Adept Graphics module (VGB). The TIFF format is used by many PC and Macintosh graphics programs.

Related Topics

Introduction to Servo Parameters (description of servo gain (tuning) parameters)

Step-by-Step Tuning Process

Effects of Servo Tuning Parameters

 


Submit comments to: techpubs@adept.com
Last modified on: 9/29/2010
Copyright © 1994 - 2010. Adept Technology, Inc.