Motion System Design

Fundamentals of servo motion control

Day 2

Distubance rejection

Topics of discussion:
Measuring disturbance rejection
Trapezoidal velocity profiles
Feedforward control
Putting it all together

Measuring disturbance rejection

Disturbance rejection, like command tracking, is usually expressed graphically. The graphs, called disturbance rejection plots, show the effect of PIV gains on disturbance torque applied to the shaft of a motor trying to hold its position. Specifically, the plots indicate how strong the disturbance must be (at a given frequency) to make the shaft move in a specified manner.

Figure 5 illustrates the case of constant damping-varying bandwidth, along with the opposite scenario of constant bandwidth-varying damping. When bandwidth is varied, rejection gain increases proportionally at low frequencies, but at high frequencies, it becomes an exclusive function of motor inertia. This is why some designers request “high inertia” motors even though it necessitates more overall torque for the same motion profile.

A similar disturbance rejection trend is seen in the case of varying damping, figure 5b. Here, however, mid-frequency rejection is not uniform, but increases slightly with damping ratio. In general, the higher the disturbance rejection, the stiffer the system and the more likely it will provide repeatable moves in the presence of unknown shaft disturbances.

Trapezoidal velocity profiles

When commissioning a servosystem, the standard approach is to first tune it with a step input to get a feel for the response. After that, we usually want to know how the system will actually behave in operation (or at least while performing a test move) based on the velocity profile we plan to use.

By far, the most common velocity profile is trapezoidal. This is due to the relative ease of calculating all the state variables needed to fully define motion — position, velocity, and acceleration. Other profiles, such as “S” curves and cubic splines, are also employed. Though more complicated, they offer smoother acceleration and deceleration.

For the purpose of this investigation, we will use a trapezoidal velocity profile to turn the motor shaft twice in a quarter of a second with equal times for acceleration, constant velocity, and deceleration. Figure 6 shows the position and velocity profiles for this move using PIV control. Notice in figure 6a how the position response improves with increasing bandwidth, as does the velocity response (figure 6b).

As a rule of thumb, bandwidth should be increased as high as possible while still maintaining stable and predictable operation. If some overshoot can be tolerated, the damping ratio can be lowered to further reduce rise time.

Figure 7 depicts a case where bandwidth is held constant at 20 Hz and the damping ratio is lowered from 1 (critically damped) to 0.5 (underdamped). Even with the damping ratio as low as 0.5, very little overshoot occurs. This is because the trapezoidal profile does not greatly excite the damped resonance.

On the down side, the position and velocity profiles both contain significant following error. Some error is, of course, necessary for disturbance rejection to work; the trick is to keep it small while maintaining a stable system. Clearly, if we want to achieve zero tracking error, something else is necessary.

Feedforward control

That missing ingredient — provided we have access to both velocity ω*(s) and acceleration α*(s) commands, synched up with position commands θ*(s) — is feedforward control. An example of how feedforward control may be used in parallel with disturbance rejection control is shown in figure 8. The key is to accurately calculate the amount of torque required to make each move a priori. To do so, we take the basic equation of motion

TmotorTd = * (s)+

and approximate it (as follows) because the disturbance torque Td is unknown.

Estimated Torque(s)= * (s) + * (s)

Most of the time, disturbance torque is negligible, so the estimated and required torques are nearly equal, and may be calculated in realtime without delay using simple approximations of total inertia and viscous damping. The composite feedforward signal, including velocity and acceleration components, is shown in figure 9.

Continue on page 2

Putting it all together

Comparing the composite feedforward signal with the torque output of the PIV controller shows a striking similarity (see figure 10). This suggests that we could have near-zero following error if our feedforward control is accurate.

Feedforward control goes a long way toward reducing settling time and minimizing overshoot, but there are several assumptions that ultimately limit its effectiveness. For example, servo amplifiers all have current limits and finite response times. For motion bandwidths in the sub 50 Hz range, the current loops can be safely ignored; however, as motion bandwidths push higher, current loops need to be accounted for as well.

In addition, the single most limiting factor in servomotion control is the resolution and accuracy of the feedback device. Low-resolution encoders contribute to poor velocity estimations that lead to either limit cycling or velocity ripple problems. Compliant couplers that connect the load to the servomotor must also be accounted for as they too limit usable motion bandwidths.


In summary, disturbance rejection control can be obtained by a number of ways, the two most common being PID and PIV control.

PID control, tuned using Ziegler- Nichols or trial-and-error methods, can often meet low-performance motion control needs, but overshoot and rise times are tightly coupled making gain adjustments difficult. PIV control, on the other hand, significantly decouples overshoot and rise time, allowing for easy set up and very high disturbance rejection.

Lastly, feedforward control is often added to minimize tracking error.

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.