Feedforward in motion control improves positioning accuracy #Engineering #Feedforward #MotionControl

Motion applications typically demand high accuracy throughout the cycle. However, even if the PID (proportional, integral, derivative) settings controlling the servo loop are optimised, additional tuning is often beneficial to maximise control. Within a motion system setting, a wide range of influencing forces are at play, but identification, followed by counteraction with feedforward, can enhance machine performance.

Gerard Bush, engineer at motion specialist, INMOCO, explains the importance of feedforward.

Feedforward can improve machine performance by adding control elements outside of the servo compensation loop, enabling a smoother system with better accuracy. The more we know about the variables in the machine’s mechanics, its load, and forces within the environment, the greater the potential to utilise feedforward and optimise the control loop.

The control loop includes the position PID loop, often used on point-to-point positioning systems, or a velocity loop, involving a PI (proportional, integral) filter, used to control many spinning and pumping applications. Higher performance position control applications may use both. These loops then output to a current loop that ensures the actual current through the motor coils equals that of the command.

Why is feedforward required?

However, a motion control system also has to track the desired profile at the load. Typically, there’s a lag during the acceleration phase, and overshoot during deceleration. This is because a real-world system has to balance high accuracy with the need for stable, non-oscillating motion across various load requirements and desired profiles. Furthermore, the fundamental feedback control nature of a PID loop means that it has no direct process knowledge, and therefore works as a reaction, which decreases accuracy in real terms.

To reduce these position errors, feedforward input can be added to the motion controller. This can be achieved by adding a compensatory value to the PID position loop output, which modifies the current (torque) loop command, or the velocity command. However, contributing factors to feedforward terms are outside the servo loop and depend on knowledge of how the system will react to changes in the desired motion profile. The closer the feedforward values anticipate the torque levels the motor will experience as it moves, the lower the demand on the servo loop, and the more accurate and responsive the resulting machine performance will be.

Load, acceleration, and velocity

The simplest feedforward adjustment is introducing a constant bias in the desired torque command, typically important for a vertical axis that is influenced by gravity. A sufficient torque command, just large enough to lift up the axis when carrying the load, would remove the need for the PID loop to make additional compensation. Compensation can also be made for friction. This can be achieved by introducing velocity or acceleration proportional feedforward, multiplying the values accordingly by a programmable scale factor. If servo lag is noted, the appropriate feedforward gain settings can be controlled until the factor is minimised. To achieve the most accurate results, it’s useful to run multiple cycles of the axis and select the average.

Robot configurations, such as six-axis articulated robot arms, have more complicated reflected torques compared to X and Y axis systems, and also include factors such as centripetal force. As robot arms rotate, previously constant reflected forces such as gravity can also change, so robotic structures require additional feedforward calculations. However, with sufficient data, these forces can also be compensated for by using the same principles to calculate load, velocity, and acceleration feedforward.

Compliance and friction

Compensation should also be made for the machine, including forces acting on components such as gears, bearings, linkages and other in-line mechanisms. Feedforward for compliance relates to the impact of flex, meaning that compensation might be required for a flexible arm linkage, through to a component such as a rubber damper that is inherently compliant. By using a component with known behaviour to the given operating conditions, we can compensate the control loop calculations so that dynamic servo tracking of the actual load is improved.

Meanwhile, stiction, or starting friction, is the tendency of the axis to require a break-away force to get motion started, impeded by factors such as rust, chemical adhesion, or other micro-mechanical adhesion forces. Developing a compensation scheme can be challenging because these forces may change over time, or upon environmental conditions such as humidity. Even so, most stiction compensating schemes use direct feedforward, applying a brief pulse when a resting axis is about to begin motion. A trial-and-error approach to tune the strength and duration of the impulse force is a common technique.

Positional distortions from the motor itself may also require correction, for example if they don’t provide perfect conversion of current flow to mechanical torque. Similarly for step motors, pulses through each coil may not not generate exactly equal movement increments. The motor compensation scheme requires a look up table that records the compensating values based on an average of rotations using different motors. By mapping the torque profile of a motor through one complete cycle, it’s possible to understand the compensating motor command required.

Feedforward in practice

While feedforward techniques can improve machine performance, it can be challenging to achieve perfect compensation. In the real world, variables relating to setting, forces, machine and motor behaviour, can be too numerous and complex to identify, measure, and balance with precision.

At INMOCO, we regularly advise design engineers on how to identify and measure compensation requirements, as well as how to implement feedforward. Considering the impact of these factors to wider system design, our engineers regularly interface between an OEM and a motion control vendor, like Performance Motion Devices (PMD), to achieve the optimum profiles and performance for the specific application and its conditions.