Let's say we're trying to control the speed of a motor to 20 revs/sec, and we know that our controller output for that speed is approximately 5. We currently have a Proportional controller to drive the motor to our 20 revs/sec setpoint, with some steady-state error.

If we included Feedforward but tuned it poorly, such that it outputs 2 instead of 5, will the following error still be less than it would have been with only the Proportional controller?

I would think that for Feedforward to reduce the steady-state error, the output would need to be able to drive the motor closer to the setpoint than the Proportional controller could do by itself (without unacceptable oscillations). Is this the case?


1 Answer 1


Your intuition is right as a feedforward term always helps the PID do its job, which in this case means that the steady-state error is lower.

We could have practical proof of this.

Imagine that in your example the effort value to get $20$ rev/s amounts to $6$, for which the steady-state error $e$ is thus $0$ rev/s.

Therefore the static gain of the process under control is $G_0=20/6$.

In the condition where we have a pure proportional controller with gain $K$, we can derive the following: $$ K \cdot \left( 20 - 5 \cdot G_0\right) = 5. $$ It comes out that the gain is $K = 3/2$, which is responsible for a steady-state error $e=3.33$ rev/s.

Now, let's plug the feedforward term delivering an effort $u_{ff}=2$: $$ K \cdot \left(20 - (u_{ff} + u_{fb}) \cdot G_0) \right) = u_{fb}. $$

It turns out that $u_{fb}=10/3$ and the error is $e=2.22$ rev/s, which is lower.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.