Portada » Let’s talk about FeedForward in Motion Control with servodrives

Let’s talk about FeedForward in Motion Control with servodrives

by admin
655 views

Currently, all servo drives have FeedForward gains in their regulation loops. But, just like everyone knows what the proportional, integral and derivative gain parameters of a PID regulator are, there are those who don’t know so well what FeedForward is.

This article tries to explain, in a generic way and as graphic and didactic as possible, the function of the speed FeedForward and the torque FeedForward, as well as the effect that it produces in the regulation loop.

Firstly, what FeedForward means

In a generic and literal way, it would be something like feeding forward, anticipating. Its name already gives us a clue to its function, which is to anticipate so that the error does not occur, and this applies to any process to be controlled, be it temperature, speed, position, etc.

To get a better idea of the “anticipatory” concept, the example of the car and the slope of the road usually works very well. What you want is to keep the speed constant at all times. If the driver keeps the accelerator pedal fixed, in the event of a downgrade, the speed of the vehicle will increase, as shown in the graph on the left. In the event that a hill comes, the speed of the vehicle will drop, as shown in the graph on the right.

But, if the driver anticipates and lifts his foot off the accelerator, in the event that a downgrade comes, the speed will be maintained. Just like when a hill is coming up, if you anticipate it and press the accelerator, the speed will be maintained.

Better with a simple example more related to automation

Let’s imagine a speed regulation loop with a PID control, whose output gives the speed reference to a VFD that drives an AC motor that has a tachometric dynamo to obtain feedback of the actual speed at which the motor rotates. As shown in the following graph:

In this case, there is no anticipatory gain or FeedForward, so until the error starts to be generated, there is no reference output to the VDF input and the motor rotation will be delayed with respect to the reference signal. As shown in the time diagram. To get a more “live” response, the only thing that can be tried is to increase the PID constants to the limit, the result is shown in the graph with the dotted lines, but sacrificing stability and in no way will an error be obtained very close to zero.

For many applications this is more than valid, the example is designed to understand the FeedForward concept in a generic way.

Therefore, we are going to see how this loop works by adding the anticipative gain, or speed FeedForward:

In this case, it is as simple as taking a percentage of the speed reference signal and injecting it directly to the output, so that there is no need to wait for an error to be generated for the motor to start turning, the idea is that the VDF it obtains a % of the speed reference directly and the PID only takes care of ensuring that the real speed is exactly the same as the reference; In this way also the K constants of the PID can be “lowered” and the regulation more stable. Note that a very high value of FeedForward will never cause the loop to oscillate, since it does not consider feedback, it is a constant value that is added to the PID output.
What is achieved in this case is to bring the error to “zero” and improve the dynamic response as well as stability.

But what happens in a position control loop?

Let us remember that the objective of this article is to understand what the speed FeedForward and the torque FeedForward do and that this occurs in position control loops and therefore in motion control applications.

The reference received by the servodrives in a motion control application is only a position value, but the dynamic behavior of the servomotor will be given by the speed and torque loops. 

Let’s see the regulation loops involved in a position control, in order to understand what values we need to be able to apply anticipatory gains and improve dynamics and minimize following error.

The graphic shows the control loop, somewhat simplified, of a Schneider Electric LXM62 servo drive. Three nested loops are required to be able to do position control, the innermost loop is the current one, then the speed one, and the outermost one is the position one.

Everything starts from the position reference value that the Motion Profiler sends through a synchronous field bus ❶, be it SERCOS III, EtherCat, etc. This “coarse” reference value – typical every millisecond. – enters the interpolator, which generates new position reference points every 128 µSec ❷. In addition, it calculates the first derivative of the position to obtain the reference speed value ❸ and the second derivative to obtain the reference acceleration ❹, which, considering the inertia of the load, the reduction ratio and the inertia of the motor becomes in throttle torque ❺. Thus, starting from the reference position, we also obtain the reference speed and the accelerator torque for when there are changes in speed. So, we already have the necessary information to be able to apply FeedForward speed and torque values.

The reference speed is used as the speed FeedForward and is sent directly to the input of the speed control loop, so that there is no need to wait for a position error to be generated to start the movement, thus increasing the dynamic response and letting the position loop act just so that the real position of the axis is always perfectly aligned with the reference position, keeping the following error to a minimum value.

When the axis undergoes a change in its speed, it accelerates or decelerates, an extra torque is required -acceleration torque- to overcome the total inertia of the driven mechanics. Since the acceleration values and the inertia values are known, it is easy to calculate the necessary acceleration torque (Pacel=ω * J), this value being the one that is added to the input of the current loop -FeedForward current- to avoid that the axis retards due to acceleration.

With this simple technique excellent axis tracking is achieved, with errors very close to zero.

If we go back three decades, we will only find one proportional gain parameter in the position regulation loop, maximum two, which would be applied as a function of speed. In no case could the following error be “eliminated”, so high dynamic movements with synchronized axes were not highly recommended. In current equipment, with anticipatory gains, which allow highly dynamic movements with negligible tracking errors, all kinds of applications, no matter how demanding they may be, can be carried out, as long as the servomotor is correctly sized.

Summary / conclusion.

Anticipatory gains or FeedForward allow:

  1. Improve dynamic response.
  2. Reduce the following error to values close to zero.
  3. Improve stability because they allow to reduce the constants Kp, Ki.
  4. Carry out all kinds of applications of synchronized axes.

Linkedin Pere Garriga

Related News