10 Essential Technologies for High-Performance Motion Control


Motion controllers have incorporated key technologies over the years to meet the increasing demands of high-performance applications such as profile cutting and wafer inspection. This document covers the top 10 key technologies that impact your high-performance motion control applications.


No. 1: Smart Contouring for High-Speed Profile Cutting

A contoured move is expressed as a series of points that the motion controller uses to extrapolate a smooth curve. These points are generated by a CAD/CAM or graphics program and are usually stored in spreadsheet or text form. The move constraints commonly used to limit other types of moves, such as maximum velocity, maximum acceleration, maximum deceleration, and maximum jerk, do not affect contoured moves. Because move constraints do not affect contoured moves, a contoured move may damage a cutting machine. With smart contouring functionality, you can apply move constraints to your contoured move for faster moves and longer machine life.

Smart contouring is a patent-pending algorithm in the NI Motion Assistant with which you can remap a user-defined trajectory based on move constraints that you specify preserving move characteristics and move geometry. With smart contouring you can define complex geometry and still achieve trapezoidal or S-curve profiles for motion. This functionality helps minimize jerks on the mechanical components, and hence increases machine life. Smart contouring is useful in metal working and CNC-type applications where the machine must trace a different contour each time it moves.

Figure 1. NI Motion Assistant smart contouring helps add velocity, acceleration, and jerk parameters to contoured moves.

The NI Motion Assistant achieves smart contouring by remapping the points on the contour based on the specified velocity, acceleration, and jerk profile while simultaneously maintaining the curve geometry. You can generate NI LabVIEW, C, and Microsoft Visual Basic code that encompasses the smart contouring functionality available in the NI Motion Assistant.


No. 2: Teach Pendant/Joystick Control

In most robotics applications, such as painting and assembly, you must teach the robot a sequence of positions to travel through in addition to process-related events. This teaching process is often implemented using a teach pendant or joystick that sequentially moves the robot tool to specified positions and points, which are then recorded.

You can use the Teach Mode feature in NI the Motion Assistant to teach the pattern you want the motors to follow by moving the motors manually and recording their position. You must have encoders on each motor for Teach Mode to read the position of the motors. If you do not have encoders, you can use the Jog Axis feature to move the motors using software instead of moving them manually. The Jog Axis interface resembles a joystick on screen. The Motion Assistant Teach Mode feature uses smart contouring functionality, remapping the recorded positions to achieve the specified velocity and acceleration profiles while maintaining geometry.

Figure 2. You can use Jog Axis with the Teach Pendant in the NI Motion Assistant.

You can also control the robot or stage using direct joystick inputs by connecting them to any of the peripheral motion I/O or general-purpose digital I/O lines on your motion controller.


No. 3: High-Speed I/O Synchronization with Captures, Breakpoints, RTSI

You can synchronize NI motion controllers with data acquisition (DAQ) and image acquisition (IMAQ) devices using breakpoints and high-speed captures. With NI motion controllers, timing and triggering is related to either position or velocity. It is important to synchronize position and velocity information with the external world so you can coordinate your measurements with your moves. You can program the motion controller to trigger another device at the appropriate positions using RTSI or a pin on the Motion I/O connector. In doing so, you are creating breakpoints, which are divided into absolute position breakpoints, relative position breakpoints, and periodically occurring breakpoints.

In some cases, you may need to synchronize the motor position with some measurement occurring external to the motion controller. For example, you might be aligning two fiber optic cables, in which case the maximum optical power needs to correspond with the alignment position. To align the fibers, the external device that is recording the optical power must trigger the motion controller so that positions and optical power measurements can be synchronized and analyzed. This functionality is known as high-speed capture or trigger inputs. When triggered, the motion controller can latch the current encoder position, and the system can read and record the position.

RTSI is a dedicated high-speed digital bus designed to facilitate system integration by low-level, high-speed, real-time communication between National Instruments devices. Using RTSI, the NI motion controller can share high-speed digital signals with data acquisition, image acquisition, digital I/O, or other NI motion controllers with no external cabling and without consuming bandwidth on the host bus. The RTSI bus also has built-in switching, so you can route signals to and from the bus on-the-fly using software. In addition to the breakpoint and high-speed capture signals, you can route encoder pulses over the RTSI lines, which serves as a way to trigger an external device on every change in the encoder channels. You can route phase A, phase B, and the encoder index pulse over RTSI. You also can create a software trigger by writing to the RTSI lines directly from software. You can route position breakpoints and encoder pulses using the RTSI bus to trigger other devices. You also can configure DAQ and image acquisition devices to trigger the NI motion controllers using the RTSI bus and the high-speed capture (trigger input) capability.


No. 4: Advanced Step Generation for Jitter-Free Velocity Profile

Stepper controllers typically operate in two modes. The most common mode is step-and-direction, where one output produces the step pulses and the other output produces a direction signal. In clockwise (CW) and counterclockwise (CCW) mode, the first output produces pulses when moving forward, or CW, while the second output produces pulses when moving reverse, or CCW. These pulses are synchronized with the system or onboard clock.

Generating pulses on a stepper controller can be complex when the frequencies of pulses to be generated are not an exact multiple of the clock frequency. Most stepper controllers generate pulses with varying frequencies in time slices. While this does not affect the position of the motor or stage, it does affect the velocity profile for the move, resulting in jerks and stalled motors.

Figure 3. The patented NI step generation algorithm offers jitter-free velocity profiles (left), compared to typical step generation algorithms (right).

NI motion controllers implement a patented stepper algorithm using time borrowing technology. With this algorithm, you can average the pulse frequency over multiple time slices, resulting in smooth velocity profiles.


No. 5: Pixels to Motion in a Single Environment for Vision Guided Motion

In applications such as flexible parts feeding, assembly, alignment, or tracking, you must integrate motion control and machine vision functions in a single program. When you integrate motion control and vision functions in one program, you must ensure that the program eliminates image distortion and correlates the motion units with the vision units, and that the coordinate systems for both the motion control and the machine vision are in line.

Figure 4. LabVIEW provides a single development environment to help overcome vision-guided motion challenges, such as coordinate alignment.

LabVIEW provides a single, easy-to-use, graphical programming environment for your vision guided motion application. Vision and motion functions in LabVIEW include spatial calibration, where a pixel coordinate is transformed into a real-world coordinate by scaling in X and Y directions. Calibration functions also compensate for lens distortions when the camera is directly above the object under inspection, or when the camera is at an angle from the object. LabVIEW can also handle coordinate misalignment.


No. 6: SoftMotion and Control Design Integration for Custom Control

Applications in MEMS, nanotechnology, and semiconductor wafer processing demand high-speed, high-precision motion control. To address fixturing and structural resonance excited by process motion, you can typically slow down processes by using less aggressive motion profiles. However, as process tolerances get tighter, especially with nanoscale applications, you can use non-proportional integral derivative (PID) custom control algorithms that offer faster settling times and more efficient tuning. Examples of such algorithms include linear quadratic regulator (LQR), H-infinity, and model-free adaptive control (MFA).

The NI SoftMotion Development Module for LabVIEW provides the building blocks for your custom motion controller – trajectory generation, spline interpolation, and PID control. Using LabVIEW, you can replace PID with your own algorithm, such as LQR or MFA, to create a motion controller optimized for your high-speed, high-precision application.


No. 7: FPGA-Based Motion Control for 200 kHz Servo Update Rates

While current motion controllers with DSPs are suitable for many applications, machine builders typically design their own motion controllers on a custom printed circuit board (PCB) to achieve high-precision motion control with servo update rates as fast as 200 kHz. Not only is the development expensive in terms of time and cost, but machine builders also must consider whether the fixed personality of the motion controller makes the system inflexible for future redesigns or for accommodating variations in the motion control algorithms at runtime. Some applications that need such a high level of precision and flexibility include wafer processing machines in the semiconductor industry, or an in-line vehicle sequencing (ILVS) reconfigurable-at-run-time assembly line for the automotive industry. National Instruments reconfigurable I/O (RIO) technology, coupled with the NI SoftMotion Development Module for LabVIEW, provides the right tools for machine builders who want high-precision customized motion control with the complete flexibility of a field-programmable gate array (FPGA).

Figure 5. NI CompactRIO with NI SoftMotion technology offers up to six axes of coordinated motion with 200 kHz individual loop rates.

The NI SoftMotion Development Module works in conjunction with the LabVIEW Real-Time and LabVIEW FPGA modules. The NI SoftMotion Development Module provides all the functions that typically reside on the DSP on a motion controller. With this product, you can handle path planning, trajectory generation, and position and velocity loop control in the LabVIEW environment and deploy the code on LabVIEW FPGA-based target hardware, such as R Series DAQ modules or CompactRIO. CompactRIO and R Series hardware, combined with the NI SoftMotion Development Module, offer the highest degree of customization and performance with as many as six servo control loops executing simultaneously at 200 kHz on a 3M gate CompactRIO backplane.


No. 8: Interactive Prototyping and Conversion to LabVIEW VIs or C Code

With the NI Motion Assistant, you can design a motion application in an interactive environment and deploy that application by converting the project into C code for any C compiler or into LabVIEW VIs. You can use the NI Motion Assistant to create coordinated multiaxis motion applications with blending, circular, linear, point-to-point, gearing, and vector-space control. The NI Motion Assistant also exposes its patent-pending smart contouring functionality with an API that you can call from C, Visual Basic, or LabVIEW for deployment on profile cutting machines.

Figure 6. The NI Motion Assistant helps rapidly prototype and deploy your motion application by converting your project into LabVIEW or C code.


No. 9: High-Performance I/O

NI motion controllers have up to 64 bits of digital I/O that you can use for a wide variety of applications, such as opening or closing valves or turning on and off solid-state relays using the SSR adapter. You also can use the motion controller digital I/O through an NI universal motion interface (UMI-777x), which provides optically isolated, 30 V logic, digital I/O. NI motion controllers also have eight channels of 16-bit analog I/O, which are useful for high-performance analog measurements.

Figure 7: A typical motion control system needs high-performance digital, analog and motion I/O.

Encoder, DAC, ADC, and motion I/O resources that are not used by an axis are available for nonaxis or nonmotion-specific applications. You can directly control an unmapped DAC as a general-purpose analog output (±10 V). Similarly, you can use any ADC channel to measure potentiometers or other analog sensors. If you do not need an encoder resource for axis control, you can use it for any number of other functions, including position monitoring, or as a digital potentiometer encoder input or master encoder input for master/slave (electronic gearing) applications. Each axis also has an associated forward and reverse limit input, a home input, a high-speed capture trigger input, a position breakpoint output, and an inhibit output. You can use these signals for general-purpose digital I/O when they are not being used for their motion-specific purpose.


No. 10: Advanced Feedback Techniques

Advanced motion control applications must synchronize feedback not just from encoders but also from analog sensors. You must use digital and analog feedback devices either separately for the same axis or in combination with each other. NI motion controllers offer a variety of options for most demanding feedback requirements.

Single-Force Feedback
In an analog feedback mode, the torque, or force, sensor is connected to one of the analog inputs on the NI motion controller. This analog input channel is used as the feedback sensor.

Force and Position Feedback
A second force-feedback mode is used if you have a position sensor on the motor in addition to the torque (force) sensor. The control loop on the motion controller closes the position and velocity loops.

Figure 8. You can use a secondary force feedback mode in addition to position feedback.

Single-Speed Feedback
Consider a system where a feed roll must run at speeds based on an input voltage. The algorithm to maintain the speed consists of reading the analog voltage connected to one of the analog channels on the motion controller, and then updating the speed of the axis based on the value of the voltage read. In this system, the feedback is a normal position sensor, such as an encoder.

Dual-Position Feedback
Motion control systems often use gears to increase output torque, increase resolution, or convert rotary motion to linear motion. The main disadvantage of using gears is the backlash created between the motor and the load. If backlash is present between the motor and the position sensor, the motor and sensor positions are no longer the same. This difference causes the derived velocity to become ineffective for loop damping purposes, which creates inaccuracy in position and system instability. Using two position sensors for an axis with dual-loop feedback can help solve the problems caused by backlash.

Switch Feedback on the Fly
Consider a heat-sink assembly application where a position sensor is the feedback device for the initial positioning along the Z axis. However, when the heat sink is pressed on to the PCB, a force sensor must be the feedback device for precise motion control in the latter part of the process. With NI motion controllers, you can switch feedback devices on the fly without reinitializing the controller. The new feedback device might require the system to have a new set of PID gains loaded immediately after the axis is reconfigured. To minimize the delay, you can configure an additional set of PID gains with the motion controllers.