White Papers

The following White Papers were presented to the Incremental Motion Control Systems and Devices Symposium.


Microsoft Windows ® has emerged as a standard for user interfaces on the IBM PC. Although simple and familiar to the user of an application, Windows can be intimidating for motion application developers. The inherent complexity of Windows is additionally complicated by real time issues necessary for solving motion control problems. Windows does not, by itself, work well for real time applications. An application development environment named “Servo Application Workbench” (SAW) is described which simplifies the creation of high performance motion control Windows applications.


The equations behind digital motion control are continually finding better calculation vehicles as microprocessors and DSP’s advance in performance and cost effectiveness. However solving a motion control application involves much more than timely execution of servo loops. There are many system level issues to be addressed. The system’s objective needs to be expressed in at least one and perhaps several motion application programs. Information from non-quadrature as well as quadrature sensors needs to be interpreted and used by the motion controller. Other controlled devices need to be coordinated with respect to motion events. The operator needs to comunicate to the system to request and alter system actions.


Many motion controller manufacturers respond to system level needs by making motion controllers more like computers. These motion controllers have the ability to run application programs, have IO buses that communicate to external hardware, and have serial ports that allow connection to operator interface terminals. An alternative approach to making a motion controller more like a computer is to make a computer more like a motion controller. This paper describes an architecture based on a 386 PC which takes this second approach.


As motion control applications advance in capability and sophistication it is necessary to package motion application behaviors in a manner that allows a developer to manipulate more and more abstract “building blocks” yet retain the flexibility to solve a unique problem with special requirements. Behaviors of interest to motion application developers include electronic cam operation, tangent servoing, and robot kinematics to name a few.

There are also needs for user interface behaviors such as joystick controls, motion renderings, curve editors and virtual instruments. These building blocks need to be so simple to use that they can be “dropped” into an application, yet accessible enough to be altered to meet a specific application need. The concept of building an application from standard building blocks is familiar for mechanical and electronic systems but has been elusive for the software system. The objective of this talk is to provide an overview of what can now be done with software components as they relate
to motion control applications.


An important strategy for addressing complexity is to decompose a problem into smaller pieces, solve the pieces, and recombine the answers to yield a solution. A simple yet powerful superposition technique is presented which uses this strategy to solve several types of advanced motion control problems. Multiple motion related descriptions are used on separate aspects of a problem to independently solve each aspect. These descriptions are then combined in real-time to yield a resultant motion which solves the combined problem. Three technique examples are presented including acceleration-bounded continuous path motion, backlash compensation, and satellite antenna pointing from a moving reference frame. The breadth of the example applications illustrates the general usefulness of this superposition technique. Motion controller requirements for accommodating superposition are discussed.


Motion control systems have grown in sophistication and precision. However the precision of an entire machine process, for example an assembly operation, involves factors beyond the movement of the controlled mechanism. The initial location of parts prior to handling is subject to a tolerance often much greater than the placement tolerance. The correct position of a part is relative to the final assembly, not the part handling mechanism.

When precision beyond the motor shaft is required an “outer loop” or “dual loop” approach is often taken to improve machine performance. Measuring and controlling the resultant position of a handling mechanism is more precise than just controlling the motor which drives it. Even better than measuring the resultant position of the mechanism is measuring the position of the part being handled itself. This ultimate outer loop control can be implemented with machine vision to monitor part position and target placement positions resulting in improved placement performance.


Automatic machines using motion control grow more sophisticated. Advances in electronics allow motion controllers to more accurately position motors. However the key issue in completing an automated machine is the software which manages information and control. Setup software helps configure general purpose motion control products for their particular use in a machine. Test software moves different sections of a machine in test patterns to confirm proper operation of the control system and mechanism. Application software describes the machine’s overall behavior and provides an operator interface to direct the machine. Diagnostic software studies the machine during normal operation and collects information to direct corrective action.


Because machines are physical in nature, the software that controls them needs to have a strong sense of time. This “hard-real-time” software needs to be simple to describe and construct. A hardware/software motion controller architecture called “Motion Server” is presented which responds to these issues.


Most designs for automatic machines do not begin with a clean sheet of paper. Previous versions of an automatic machine represent investments of mechanical, electrical, and particularly software engineering. Minimizing changes while pursuing machine improvements reduces engineering rework and relearning, retains a track record of proven performance, and reduces time to market. How can an improved motion control system be placed into an already present machine architecture with minimum system impact?

A motion control approach is described which has a chameleon-like ability to conform to the surrounding system. For example, the chameleon can be configured to electrically impersonate a predecessor controller’s hardware interface as well as software command set while delivering improved controller performance and value. Engineering investment, including staff learning curve for a new controller, is reduced saving time and money.


Automated machines are being given greater respon sibilities. Particularly in the semiconductor industry, a single work-in-process wafer may be more valuable than the machine handling it. A machine work area can be crowded with delicate and expensive tooling including microscope optics and fixtures. A single positioning mistake, such as an improperly trained point or incorrectly calculated destination, can produce a machine collision.

A collision damages expensive tooling and mechanics, wastes work in process, stops system development or production, and contaminates a clean environment. Measures must be taken to avert these outcomes. Regardless of the commands sent to the motion controller, the machine should never collide with tooling, fixtures, or mechanical limits.

Once a topic of abstract research, advances in motion control technology enable real-time collision avoidance to be resident on-board the motion control card itself. One or more geometric models describe safe movement areas. These models are used by a real-time monitor which anticipates collisions based on current machine position and velocity. The machine is stopped before a detected collision can occur. An example taken from industry will show the method of implementing on-board collision avoidance.


The IBM PC standard has had a great impact on motion control and machine control. The PC standard is changing as a new category of flat-panel industrial computer is gaining popularity. These industrial computer appliances are often expansion slot limited or slot-less making the solution of placing a motion controller card into the PC unfeasible. This new trend mandates the use of distributed motion controllers. Communication and controller options for distributed controllers are discussed for different controller categories including a new category, the motion control terminal block. Distributed controller requirements to speed machine development are discussed.


Single axis motion is often regarded as the simplest control case. However challenging single axis problems are found in many industrial applications. Challenges include motion merging as well as electronic gearing with boundary cases. Motion merging involves matching speed to a high inertia, free-moving mass which is not being controlled, acquiring control, and realizing a destination position with minimum force disturbances. Electronic gearing appears straight- forward until the boundary cases of velocity and position limits are considered. These example problems become challenging because of interdependence between master and slave motion and transitions during motion. Solutions are presented along with a discussion of controller attributes that simplify implementation.

Douloi Automation, Inc. | 492 Woodhams Road, Santa Clara, CA 95051 | (408) 210-8173 | info@douloiautomation.com