Motion System Design
20 Minute tune-up: Forward march

20 Minute tune-up: Forward march

This month’s Tune-Up column, which concludes a three-part series on position loops, addresses feed-forward gains.

Motion control systems often use feed forward to speed up the response to rapidly changing position commands. One place where it’s quite common is in cascaded position-velocity loops. Here a faster velocity loop is enclosed within a slower position loop. The feed-forward path speeds response by taking the command around the slower position loop, directly to the velocity loop.

In our previous discussions, we learned that loop gains should be set high for best results. High loop gains provide two functions: They help the controller respond to the command and they help reject disturbances. As we have seen, however, servo gain values are limited because, when they are too high, they cause instability. Since feed-forward gains work outside the loop, they are not subject to the same sorts of problems. Thus, feed-forward, in parallel with high loop gains, can greatly improve the dynamics of a servo system.

Two types of feed forward we will consider here are velocity and acceleration. The velocity feed-forward path connects the implied velocity profile to the velocity loop through a scaling gain, KFV. If the position profile abruptly changes, the velocity feed-forward path immediately shuttles the change to the velocity loop. This greatly speeds system response when compared to relying solely on the position loop.

Velocity feed forward can reduce the time it takes to make a quick move by a factor of two or more. The primary shortcoming, however, is that it induces overshoot. This can be cured by reducing the loop gains or by adding acceleration feed forward. Reducing the loop gain works, but at the cost of reducing the system disturbance response.

Acceleration feed forward connects the implied acceleration profile to the velocity loop through a scaling gain, KFA. This eliminates the overshoot caused by velocity feed forward without reducing loop gains. The reason it works is that it allows both velocity feed forward and loop gains to be increased at the same time, achieving fast command response along with solid disturbance rejection.

Not all position controllers support acceleration feed forward, however. In fact, many don’t – forcing engineers to choose between command and disturbance response.

The benefits of feed forward are usually obvious when viewing the response of a position loop. In the case of velocity feed forward, the most dramatic difference is observed when servo gains are tuned as high as possible without generating overshoot. By adding as little as 50% velocity feed forward, following error can be significantly reduced, often by as much as 30%.

Acceleration feed forward allows even faster command response and with less effect on servo gains. From the previous example, the addition of just 25% acceleration feed forward noticeably improves command response as indicated by a significant reduction in following error.

Adding even more feed forward – 70% velocity and 50% acceleration – reduces following error even further and brings the command and actual motion closer still.

Putting feed forward to work

Want to tune some feed-forward gains yourself? Then log on to and download the most recent version of the ModelQ simulation program. Launch the program and select July’s model.

In the constants grid at left, set KP = 250, KVP = 1.1, and KVI = 100. In the waveform generator (at bottom), which is inside the Waveform combo box (on the left), select Trapezoid, then click “Run.” This is the final position loop from July’s model which was tuned up with high servo gains, but without feed forward.

Display the “following” error on the scope by selecting the “Scale” tab (at left) and then the “Add” button; double click on “PE.” Repeat the results for the rest of the examples by entering the values shown in the table, then experiment for yourself as you like.

You’ll probably notice that more velocity feed-forward improves command response, but it also causes more overshoot. Lowering the servo gains KP and KVI reduces that overshoot at the expense of disturbance response. Something else you will probably discover is that acceleration feed-forward reduces overshoot as well, lessening the need to reduce servo gains.

George Ellis is a senior scientist at Kollmorgen, Radford, Va. His book, “Control System Design Guide,” 2nd edition, published in May, 2000 by Academic Press. He can be reached at [email protected].

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.