Adept SmartMotion Developer's Guide
Control System Overview
This documentation introduces the user to the Adept SmartMotion control system and software. The control system overview discusses the operation of a typical motor, the process Adept SmartMotion uses to control a motor along with a detailed description of each step of the process. The subsequent topics discuss tuning parameters, tuning analysis tools, motor calibration and power sequencing processes used in Adept SmartMotion.
Before attempting to program the Adept SmartMotion system, review the following sections:
Operating and Tuning a Motor
During normal operation, the V+ operating system sends a stream of motor position commands to each motor's control system so that the overall mechanism will perform the robot motions commanded by the user. Adept SmartMotion Command Flow shows a diagram of the command flow from the user's program, through V+, to each motor's control system, and finally to the motor itself.
![]()
Adept SmartMotion Command Flow
V+ relies on the individual axis control systems to ensure that the motors accurately obey their position commands. A control system does this by issuing a corrective torque command to the motor based on any error in the motor's position (error = commanded position - actual position). This is called closed-loop control or feedback control, since the actual position of the motor is fed back to the controller and used to compute the corrective torque. The position feedback from the Adept SmartMotion software is typically 8000 times a second.
If the control system has been adjusted correctly, the motor can be made to behave like a passive spring, mass, and damper system, as shown in Spring-Mass-Damper System Compared to a Closed Loop Motor. As the position error of the motor is increased, it will apply a corrective torque that also increases, exactly like a spring being pulled off center. If the motor is then released, the resulting oscillation will be damped out just as a damper would if attached to a spring and mass. This behavior is called the "closed loop" response, because the control system's torque command to the motor is determined by both the actual position of the motor and its commanded position, and not just the commanded position alone. The control system is said to close a loop around the motor by reading its actual position, comparing it to the position command, and applying a corrective torque based on the error.
![]()
Spring-Mass-Damper System Compared to a Closed Loop Motor
Tuning a Motor
Objective
The goal of tuning a motor's control system is to change the closed-loop dynamic performance of the motor in such a way as to improve its ability to obey position commands. the control system parameters need to be adjusted so that it will always issue the appropriate torque command based on a variable motor load to make the motor move to the desired location. In this way, the system appears to behave like the spring and damper analogy, with the V+ position setpoint being the spring center.
Tools: Time and Frequency Response Analysis
There are two primary measures used when tuning a motor's control system: time response and frequency response. You can optimize motor by analyzing these responses:
Time response analysis measures how the motor behaves to a step-change in the position setpoint. Following the analogy with a spring and damper system, this would be equivalent to instantly moving the spring center by a certain amount, and watching the resulting oscillation of the spring. Based on the motor's performance, the control system parameters are adjusted and the step test is repeated. Successive tests and adjustments allow determination of appropriate control parameters without requiring an extensive knowledge of control theory, simply by using an "if it works, go with it" technique.
Frequency response analysis measures how the system responds to sine-wave setpoints at a variety of frequencies. At higher frequencies, the magnitude of the response will diminish except at resonances. This method can also be used for tuning control parameters, but it is less intuitive than time response analysis.
For a discussion of the analysis tools provided in the Adept SmartMotion software, see Tuning Analysis Tools: Step and Frequency Response.
Understanding the Control System
The Adept SmartMotion Control System Block Diagram illustrates how Adept SmartMotion controls a motor. As discussed earlier, the control system receives position commands from V+, shown entering the diagram on the far left, and performs a number of calculations in the Feedforward, Proportional, and Integral Paths to determine a final torque. This torque command is then conditioned by the filter in the Amplifier Control Path, and sent to the DAC. The DAC converts the digital torque command into an analog far right.
NOTE: Adept SmartMotion is designed to operate with amplifiers in one of two modes: current or velocity. This section discusses control with current-style amplifiers - control with velocity-style amplifiers is similar, but note the differences in Block Diagram of the Adept SmartMotion Control System.
What happens in each of the blocks shown in the diagram is determined by the values specified for the servo parameters. These parameters are adjusted by the user with the aid of the SPEC utility program. For details on what occurs in each block and information on the servo parameters, see Description of Servo Parameters, or click on a label in the figure below.
Adept SmartMotion Control System Block Diagram
The actual position of the motor is compared against the next V+ position command, to form a position error that is used to help calculate the next torque command. This loop around the motor, from position command to position error to torque to motor position, is performed many times a second by the control system.
Key Measurements
Related Topics
Submit comments to: techpubs@adept.com
Last modified on: 9/29/2010
Copyright © 1994 - 2010. Adept Technology, Inc.
