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:
Instructions for the specified option
Current
Value range for the parameter if applicable
For details on a menu option, click the desired link in the following list to view the description:
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 * accelerationThe 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.
Specify the Notch filter to reduce oscillation for frequencies less than 250Hz.
Specify the Butterworth Double-Pole Roll-Off filter to reduce oscillation for frequencies higher than 250Hz
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
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:
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.
Servo Tuning Data Collection MenuTest 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 TestTest 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:
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.
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.)
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.
Introduction to Servo Parameters (description of servo gain (tuning) parameters)
Step-by-Step Tuning ProcessEffects of Servo Tuning Parameters
Submit comments to: techpubs@adept.com
Last modified on: 9/29/2010
Copyright © 1994 - 2010. Adept Technology, Inc.
