All about Torque Feedforward

Sometimes getting the most out of your motion controller means feeding it more information — about torque.

Article Tools

Popular Articles

Many motion applications require high accuracy during and at the completions of moves. Even with perfectly optimized PID (proportional, integral, derivative) values to control position, the compensation loop is never perfect because it must manage the influence of many system forces.

Can we improve performance by adding control elements external to the PID loop? Yes. Here we consider torque control and the related subject of torque feedforward — which can make systems run more smoothly and deliver better accuracy.

Current loop is standard

A typical electronic motor control scheme includes a profile generator, PID position compensator, and current loop. Current flowing through the motor is ultimately what generates the motor's actual torque output.

Some simpler controls dispense with the current loop and directly output a voltage command to the motor, which in turn creates current in the motor coils. However, the relationship between voltage at the motor's coils and actual current flowing through the motor can be rather complicated. Therefore, for the majority of motion control applications, a current loop should be used.

This loop measures and actively attempts to control the motor current. Modern controllers perform this task digitally, using sensors, analog-to-digital converters, and one of several current-sensing schemes, depending on the target drive cost and performance. More accurate schemes continuously measure or infer the current through each leg, while simpler schemes measure one current for the whole motor.

Imperfect tracking and one control solution

Assume we set up our position PID loop and start the machine moving. Despite much fine-tuning of PID parameters, we find that we cannot perfectly track the desired profile. There always seems to be a lag, or overshoot, particularly while the machine is in motion.

Why? One reason is that for a PID loop to output anything, it must have an error upon which to operate. Therefore, by definition the motion has position error. Another reason is that real-world systems must balance the objective of high accuracy with the need for stable, nonoscillating motion over all profiles and loads. PID gains ultimately represent a compromise between these two goals.

Check out the video - PMD Torque Control Deep-Dive Video 1 on youtube.com - of this setup in action.

If there were some way of giving the motion controller more information about the machine, perhaps we could ease the burden of the PID loop, and reduce position errors.

In fact, this is possible. Let us now discuss methods for adding a torque command directly to the PID output — to help reduce the burden on the PID loop. Our goal is to compensate for machine or motor forces that we know about in advance, thereby reducing the torque command output needed from the PID.

A typical electronic motor control scheme includes a profile generator, PID position compensator, and current loop. Current flowing through the motor is ultimately what generates the motor's actual torque output.

Types of compensation

The simplest possible kind of torque feedforward is a constant bias in the target torque command. The classic configuration that benefits from this is a vertical axis that is influenced by gravity. The optimal output bias for this application generates a torque just large enough to lift up the axis so that the PID loop, at least in theory, doesn't have to compensate for the force of gravity.

In the practical world, several factors don't allow perfect compensation. For starters, load masses are often variable. In addition, motors and mechanisms do not behave exactly the same, even if built to tight tolerances. Therefore, in adding a torque compensation value, our expectation should be to lower, but not eliminate, the amount of work that the PID loop must do.

In addition to a constant bias value, what additional terms can help zero-out forces experienced by the machine? Enter two popular feedforward approaches — velocity-proportional and acceleration-proportional.

Any force induced by the movement that can also be determined in advance by the controller is a candidate for feedforward compensation. In the case of velocity-proportional feedforward, a variety of frictional forces can counteract the machine's motion in a way that is proportional to the axis velocity. If we can determine the magnitude of these forces, we can compensate for them.

The same principle applies for acceleration-proportional forces, beginning with the tendency of the machine's load to resist being moved. If the mass of the machine load is known, then we should be able to feedforward an acceleration-proportional torque that pre-compensates for the force generated by the inertia of the load, also called reflected torque, during acceleration and deceleration.


Acceptable Use Policy
blog comments powered by Disqus

Marketplace

eNewsletter

EngineeringTV


The Latest Videos from EngineeringTV.com

Back to Top