Why coordination is key for specifying a motion control system

Jan. 7, 2016
When specifying a motion control system, the need to coordinate motion requirements should be well understood to meet system requirements.
About the author
Thomas Stevic is a controls engineer at Star Manufacturing, an engineering and production company in Cincinnati. Contact him at [email protected].

Being engineers, at some point in our lives, some of us may have disassembled a small mechanical toy just to see what makes it work. Inside the toy is a wonderful collection of gears, cams and shafts connected to a windup spring or motor. All of the pieces are interconnected in such a way that, when the main power was applied, the gears and shafts interact with each other moving the toy in a predefined fashion.

This toy is an example of mechanical coordinated motion. As a spring winds down, a battery loses power or a hand inhibits motion, the toy slows down but still operates with the same motions. Early machine tools used the same mechanical techniques along with motors, clutches and brakes to usher in the industrial revolution.

Although these machines were very sturdy and produced the products for which they were designed, there were problems with this method of manufacturing. Gears and cams would eventually wear, and clutches and brakes would slip, requiring maintenance to continue producing high-quality products. A bigger challenge came if machine changes were required to make another product or due to modifications in the product’s design.

When servo and stepper motors and electronic control systems became available, pure mechanical motion control was no longer necessary. With the introduction of computerized controllers, it became easier to design one machine with the capability to produce multiple products and to compensate for mechanical wear.

Moving to coordinated motion

A coordinated motion control system has at least two axes, but not all multi-axis motion systems require coordinated control. Examples of multi-axis motion systems include a gantry crane, a drilling machine and a waterjet cutting machine.

A gantry crane has two axes of motion. The horizontal axis moves back and forth over the top line of machining centers and the vertical axis moves up and down to grip, lift and lower a part. The first operation is with the vertical axis raised, where the horizontal axis moves into position over a machining center. When in position, the vertical axis lowers and grips the part; it then lifts the part from the machining cell. With the part raised and clear of the machining cell, the horizontal axis then moves the part over a second cell. The gantry vertical axis lowers the part into the second cell tooling and releases it. The vertical axis then raises and waits for the next operation. This motion is not considered coordinated because, although there are two axes of movement, each axis is moved only when the previous axis has completed its motion.

The example of the drilling machine uses an x-y table that moves a part to a set of coordinates. The drill head lowers and proceeds to drill a hole. When done, the drill head raises, and the table moves to a second x-y coordinate to drill a second hole. This is not coordinated motion, even though the two axes are moving at the same time. Positioning or speed corrections to coordinate the x or y axis motion is not necessary. Each axis may finish its motion a few milliseconds or even a few seconds before the other axis without affecting the final position of the drill head.

Also read: Case Study: High-tech woodworking equipment made in America 

A final example is a waterjet cutting machine where coordinated motion is required to cut a circle out of the workpiece. As the x and y axes move the workpiece under the cutting head, any position or velocity error in one axis must be compensated by the other axis. If the compensation does not occur, the round disc will end up as an oval or have jagged edges. Coordinated motion is used to produce quality parts by following an accurate motion profile.

Coordinating error

Position error is the difference between the commanded position and the actual position of the axis or servo motor read by the feedback device. The coordinated motion control system combines the errors of all axes and adjusts the velocity of each axis to produce the programmed path, or trajectory, of the workpiece.

Most motion control systems operate with some degree of error between the commanded position and the actual position for every axis under control. These errors may be very small, or they may be significantly large depending on the controller performance, feedback resolution and motion actuator specifications. Additional position error or velocity errors are produced by a number of factors including imperfect tuning of a servo system, dynamic load changes, excessive acceleration or deceleration rates and underpowered servo motors or drives.

With a coordinated motion control system, all of the axes belonging to a group are aware of position, velocity and acceleration errors that exist with any of the axes within the group. The kinematic equations built in to a coordinated motion drive correct the errors and predicted errors within the motion system's capability.

Motion control systems that can control more than one axis often include a master-follower mode where the master axis is commanded to some position and the follower axes attempt to follow the master axis’ trajectory at some ratio. This loose coordination between the master and the follower does not necessarily take into account positioning or speed errors generated by the follower axes, so it would not be considered the coordinated action required for some applications.

Language of motion

One problem in the motion control industry is that different manufacturers often use different terms to describe the same motion function, but the IEC 61131 standard can help with the descriptions. Some manufacturers use terms such as synchronized motion, interpolated motion, cross-coupled motion and multiple-input, multiple-output (MIMO) motion, which may or may not refer to coordinated motion. A good term to look for in the manufacturer’s literature is a method of grouping multiple axes into a single system without one axis designated as the master. This is the term used by IEC 61131 and PLCopen.

Programming of a coordinated motion control system is typically accomplished using the motion controller's specific programming language or G-code. Robots, with their multiple-degrees-of-freedom, kinematic-linked motion, typically offer computer-aided motion design software to simulate robotic motion during development. They also include a teach mode that allows a programmer to slowly move to the point of interest and to check the robot motion path at a slow velocity. Motion controllers, robots and CNC machining centers often have a means to transfer a CAD drawing directly to the controller or include methods to convert the drawings into G-code that is downloaded into the controller.

Tying motion together

In most coordinated motion control applications, tying the servo drives together via a communication cable works well and is common in industry. Protocols such as SERCOS, EtherNet/IP and ProfiNet are capable of updating position and velocity loops up to 8,000 or more times per second.

For very high-speed applications, selection of a multi-axis motion controller that can handle the number of expected axes in a single controller may have some benefits. It can be argued that single-axis motion controllers or servo drives that are linked together with a communication cable will operate just as well as a single multi-axis controller. However, keep in mind that communications take time and there will already be some communication link between the controller and the drive.

Even with closed-loop coordinated motion, there are time delays between a controller issuing a position command to the servo drive and the motor’s reaction to the change in the drive output. It also takes time for the controller to process the feedback signals from the servo motor encoder or resolver. The design of a multi-axis controller and its built-in, efficient bus communication speed will likely operate with faster closed-loop position control than a communication cable is capable of operating. Check the controller and drive specifications, and test the motion profile as needed in high-speed applications to ensure performance requirements are met.

It is strongly recommended to specify motion controllers, amplifiers and servo motors from the same manufacturer or as a kit from a vendor. Buy it as a package. Although a coordinated motion system could be specified from different vendors and combined, it has its risks, such as additional engineering and vendor finger-pointing when the system doesn't work. Hearing one vendor say, "It's the controller's fault" or another vendor say, "It's the drives’ fault" is not a fun experience. It’s not that a system can’t be built by picking the best performing or most cost-effective parts from several vendors; it's dealing with problem resolution when the system doesn't work that should be a concern.

Finally, if you know anyone that actually put that mechanical toy back together and made it work, let me know. I think I have a cymbal-playing monkey around here someplace with most of the parts.

Homepage image courtesy of Stuart Miles at FreeDigitalPhotos.net 

Sponsored Recommendations

Power Distribution Resource Guide

When it comes to selecting the right power supply, there are many key factors and best practices to consider.

Safe Speed and Positioning with Autonomous Mobile Robots

Here are some tips for ensuring safe speed and positioning for AMRs using integrated safety technology – many of these tips also apply to automated guided vehicles (AGVs).

Faster, Accurate and Reliable Motion Control With Advanced Inductive Technology

This white paper describes new technology offering improved position measurement capabilities in reliability, speed, accuracy and more.

The Value of Dual Rated AC/DC Disconnect Switches

Why is it necessary for me to have a disconnect switch installed in my application?