Transcript for:
Introduction to Feed-Forward Control

this is an introduction to feet forward control so certain situations performance of control systems can be greatly enhanced and in particularly when we're trying to reject a disturbance we can identify a disturbance that's affecting the process and we're gonna measure it and they give a feed-forward input to our controller okay so we also want to be able to control the source of disturbance locally before it affects the main process we might consider a cascade controller instead if we have the same final control element that is able to control that disturbance and the process okay so cascade control is preferable if we have the right scenario but we can use feed forward controller if it isn't okay so examples of feed forward controller we might have for example a shower okay over ticket to shower and all of a sudden we hear in toilet flush and we know that the cold water pressure is going to go down and so it's gonna be hot and so we might jump out of the way okay so that's an example of when we would apply feed forward control we hear a disturbance happening and we understand that something's going to change in our in our temperature okay also car approaching a hill okay so I have an automobile and it's approaching a hill you know someone that's driving the car might anticipate this hill and adjust the gas pedal down to compensate to know that I need to have more fuel going into my engine in order to maintain a speed going up this hill now feedback would be if you didn't know this hill was coming and all of a sudden your car started slowing down and you would apply more gas to compensate for the slow down with a feed forward you can anticipate that disturbance and potentially not have that air in the speed and and have an improvement in terms of disturbance rejection okay chemical system we want to measure something maybe in a feed stream and you know and then change the heat to the reactor for example you'll compensate for this disturbance before it starts driving me my process conditions away from the desired setpoint okay here's an example this is a standard feedback control system here where we have a you know hot water is coming in and then it goes through this heat exchanger okay this is on the on the shell side and then on the tube side we have the cold water okay cold water coming in and then leaving right there okay so the goal is to cool down hot water okay so we want to try to cool this down before discharging it and we're gonna use some cold water may be coming from a you know cold water supply to do that okay you know we for whatever reason we don't want to just add the cold water to the hot water we want to keep those two separate okay so we have a controlled and measured variable which is our temperature out okay so it's good to be this the temperature of this cold water coming out might be our one that we're trying to measure and then we have a controller that's going to adjust the hot water coming in okay so the manipulated variable is the flow rate of the hot stream okay this hot stream right here that's our manipulated variable and our controlled variable is the one that we're trying to maintain which is this exit on the on the cold water okay there's our feedback control loop okay so we have a disturbance you know we might have a changing cold flow rate okay so that'd be our disturbance and our manipulated this is our manipulated variable the flow rate of the hot water okay so we how do we manipulate you to cancel the effect of our disturbance so we're gonna measure this we're going to measure the disturbance that we want to have our y equal to zero we're going to be a set point we don't want that to change from maybe a zero set point okay so in terms of deviation variables we're gonna say that that equals zero okay so we want to have a feed forward controller that we're going to add right here and the question is how do we design that feed forward controller so that we get perfect control okay so first of all we want to right now algebraic equation for the block diagram these two are going to be in parallel so I can just add those two together and if Y is to be unaffected by the disturbance that we want this this Y this output to be equal to zero and then we just rearrange and solve for you okay so I'm going to take this right here and just solve for you and that's what I want my U value to be and that's that is going to be my disturbance times my feed forward okay so that's gonna be my you my input signal on to be my disturbance times my feed forward controller so this is how I design a feed forward controller so that my disturbance is going to cancel out and so my feed forward controller is going to be my disturbance transfer function divided by my process transfer function so let me just go back here here's my disturbance transfer function and I'm going to divide it by my process transfer function and take the negative and that's going to be equal to my feed forward controller okay so let's just look at this now we have you know just this is a first-order plus dead time model of my process and my disturbance and so if I just take the ratio of these two and combine them okay so this one's gonna come up into the numerator so that's going to give us a positive sign here for my theta P or if I put in this form that I have have it like this okay then I have this one that comes up to the numerator okay right up here and that's still in my denominator and then I have a ratio of these gains as well now a lot of times we don't implement a dynamic feed forward controller we'll just assume that those are approximately equal that the Tau P and theta P R tau D are approximately equal okay if those are very similar and if these are also fairly similar then we can get away with a static feed forward controller which is much easier to implement okay so when is dynamic feed forward controller not feasible okay it's when you know theta P is going to be greater than theta D my dead time for my process is greater than my dead time for my disturbance and what that means is that we would want a controller that would be able to act you know in anticipation of a service before it's even measured in the you know back in the in the future time so it's not physically realizable we can't necessarily anticipate a disturbance before it's going to happen if you can this might be possible to implement but most times you can't okay so here's our modified block diagram with our feed forward controller right here and this is with feedback trim so this is the big picture and where the feedback v4 controller fits into this we're measuring our disturbance and then we're going to change the controller output proactively based on that disturbance to reject it okay to compensate for the disturbance and how it's going to eventually affect our process we're going to send kind of a counteracting signal here to counteract that disturbance and so we stay on the setpoint okay so let's go back to this equipment diagram we're gonna implement a feed forward controller now this one I'm just gonna say that this is a flow transmitter okay so I'm going to measure the cold water flow coming in that's gonna be my disturbance and a lot of times we say that that's just going to feed directly into my temperature controller I'm just going to add something to my PID controller that is going to be a feed-forward okay or you can write it this way instead instead they just add up and that gets sent to the valve okay so here's feed-forward with sensor dynamics just the one change here is that sometimes you have some dynamics of your sensor you might need to include a transfer function there okay so let's do the disturbance rejection performance here's an example okay and you can see that this is going to start tracking there's a disturbance you know these are large without the feed-forward and then with the feed-forward it's gonna be smaller because it anticipates okay it anticipates and the controller acts a little bit in anticipation of that disturbance and so it doesn't drive it away from the setpoint as quickly okay here's a practice problem here just with some numbers okay I come up with my static feed-forward which would be the negative of this okay negative negative and that would be K feed-forward or if I had my dynamic feed-forward there is the answer okay so it's another case where it's gonna be physically unrealizable if you have a higher order polynomial in the numerator than the denominator for our feed forward controller so you got to watch out for that sometimes you can make a just a first-order plus dead time approximation to that okay just a summary of feed-forward and cascade cascade is going to have two sensors two controllers one valve one zero models okay you don't need a model there disturbance model for example and you have to have a settling time small for the inner loop feed-forward very similar the one difference is that you only have one controller but you have a disturbance model as well you have that restriction on the dead time that I mentioned earlier okay so recommendation use cascade when you can and then use feed-forward when there's no inner loop and you cannot use the same final control element for example valve to control the disturbance here's a feed-forward example that I'll cover next and do a little bit of a problem here with this tank so just look on the course website for this example I'll go to that really quick okay so here is the course website just go to a few minor to comm slash PDC and then we'll go down to this feed-forward and cascade control example and we'll go through that so look at this website for additional information