Fuzzy Logic Controller
Common sense vs. mathematics.
We all have our way of getting the right water temperature and flow from the shower head.. without using a calculator. If it is 'very' hot, we put 'more' cold water or 'less' hot water and wait 'a little while'. We then have to open again 'a little more' the cold or hot, etc.
We make decisions based on loosely defined notions such are 'too much', 'more', 'less', and so on. The relationships between the information obtained and the actions taken are based on our own experience.
We use "fuzzy logic".
The experienced operator in a plant knows exactly what to do to keep the boiler at the right temperature, the flow constant, the pH at the right value. Quite often there is more than one variable to consider. (For instance : the temperature and the flow in the shower).
Fuzzy logic controller mimic this concept of corrective action based on experience, as opposed to strict adherance to some mathematical formulas that describe calculations.
To design a fuzzy controller, we break down the range of each of the variables into segments that we define as 'very low', 'low', 'normal', 'high', 'very high'. The limits that define the segments are not necessarily constants. They may be calculated to reflect other situations.
We then define ("de-fuzzy") what we mean by 'a little', 'more', etc. for the corrective actions that the system will take.
Finally we setup the rules that associate which action to take with the various combinations of situation. Something like:
IF (temp low) AND (flow high) THEN (less cold water)
IF (temp low) AND (flow low) THEN (more hot water)
This method of control is particularly effective in complex situations, where there is interaction between several variables. It does offer several advantages over the 'human operator':
The control system does not get tired, it is constantly available, it does not need training when the current operator quits or retire, it is consistent and repetitive.