Override control

How to control one variable at setpoint, while maintaining another one below or above some value? Use override control!

by Jan Schuurmans, written at 1-7-2019
Estimated reading time: 5 minutes

Override control

In this post I am writing about solving an important control challenge in an optimal way. In some cases, the control system must adjust a manipulated variable to control one process variable at setpoint while maintaining other process variable(s) within limits.

This challenge arises in lots of applications, like cars (allow the driver to steer but avoid tipping over of cars by adjusting the car steering), wind turbines (produce power but avoid exceeding maximum blade moments and angles by adjusting the pitch angles), process control (avoid exceeding pressure limits while controlling other pressure or temperature by one valve). For these examples, the output constraints are, respectively the car angle with the road, the maximum blade angle, and the pressure limit.

In most literature on the subject of control in the presence of output constraints, the Model Predictive Control (MPC) is the proposed solution (see for example Cannon 2012). On the face of it, this technique has a nice mathematical framework to resolve this challange, but it still is a major challenge in practice. Most papers on MPC make a host of assumptions first that are not applicable in practice. In practice, the "user" must be extremely resourceful and patient to make MPC handle outputs constraints (optimally). If you fel like using this technique, I recommend to compare it againts the next solution.

So what are practicioners using then, if they do not use MPC? Believe it or not, but they use PID controllers. Scientific literature on this subject (handling output constraints with PID control) usually focusses on stability and performance in the presence of deterministic disturbances (Glattfelder 1988, Lopez 1996). The case of stochastic disturbances has been considered recently in (Schuurmans 2019). In this post, I would like to share some pragmatic ideas, among which those presented in (Schuurmans 2019).

Figure 1 shows the override control solution.

Figure 1   Blockdiagram of the override control solution.
The override control solution consists of two PID controllers, each controlling one Process Variable (PV). A switch determines which control output to select. The switch condition is often stated as: select the smallest (or largest) output. As you can see in the block-diagram, there is a feedback path from the selected output m to both PID controllers. This is done to allow for output tracking: the control output of the controller that is not active should track the selected output, to avoid bumps. The PIDs need to be tuned individually, when they are active. Of course you can use the DotX PID Tuner for this.

In practice, the switching conditions are often chosen 'suboptimal' resulting in sawtooth like behavior, instead of the desired smooth transition from one controller to the other. Getting the switching conditions right is essential (for a good result). In (Schuurmans 2019) we showed that the standard switching conditions may require some (minor) adjustments. We found that in the presence of stochastic disturbances (which are usually present!), the switching may take place too often, resulting in lousy results. You can avoid that by filtering the signals before making the selection (so use a filtered m1 and m2 to decide), or by introducing some simple additional dynamics in the decision for switching (see paper for details).

References

A.H. Glattfelder and W. Schaufelberger, Stability of discrete override and cascade limiter single loop control systems. IEEE Transactions on Automatic Control 33, 1988

M. Cannon, Q. Cheng, B. Kouvaritakis, and S. V. Rakovi´c. 'Stochastic tube MPC with state estimation.' Automatica, 48(3):536 – 541, 2012.

A.A. Lopez, J.A. Joseph, 'On the stability of override control systems', LAAS-CNRS, Toulouse France, Rapport N° 98304, 1996

J. Schuurmans, 'Review of override control methods', Proceedings of the 29th European Symposium on Computer Aided Process Engineering, 2019


Please let me know what you think, if you would like to respond to this post (or any other). If you would like to read more on override control, press the donwload button.