Electrical – How to feedforward be used with PID for motion control

controlfeedforwardmotionpid controller

In a motion control system where a motor accelerates, coasts, and decelerates (setpoint is position, not velocity!), what would be the benefit of using feedforward with PID, instead of solely PID?

How would you calculate a feedforward value to add to the PID output?

Best Answer

Once the motor has accelerated to full speed (coasting) you could potentially overshoot the target position if it is close-by so, instead, you can use feed-forward to limit the full speed to a value that is based on

  • The knowledge of the starting position and
  • The "distance" to target position

You might also choose to preset some PID values based on the distance you need to travel to optimize the algorithm rather than use one-size fits all mentality.