How do you reset the Bias/feedforward back to zero without affecting the control output? I was thinking of ramping it down slowly but there must be a better way.
The bias or feed forward should be an estimate of the final control output. This reduces control output and error required from the PID.
Why would you want to ramp down the bias UNLESS you really want to ramp down the final control output? You should try to keep the bias equal to the required output for the current set point. To do otherwise will cause errors.
I understand. Why not do what you suggested earlier, ramp down the bias? I am assuming that normally the bias is 0? If so I would ramp the bias down using a low pass fileter with the time constant equal to the integrator time constant. Now the bias will cause the output to jump to the desired output and as the integrator winds up the bias will wind down. If you make the bias low pass filter too fast it will wind down faster than the integrator will wind up. This is not good. If the bias time constant is too long then it will take longer than it should to wind down the bias. The integrator will up as the bias winds down so it too will take longer than it should. Should you need to add more bias for a correction you will have to add it to the bias that is left.
What I don't know yet is how do you know how much bias to add when a disturbance occurs? This is a new topic not covered before. Good stuff.