Application of Fuzzy Logic in Fully Automatic Washing Machine
Fuzzy control, which directly uses fuzzy rules is the most important application in fuzzy theory. Using a procedure originated by Ebrahim Mamdani in the late 70s, three steps are taken to create a fuzzy controlled machine:
1.Fuzzification(Using membership functions to graphically describe a situation)
2.Rule evaluation(Application of fuzzy rules)
3.Defuzzification(Obtaining the crisp results)
To build a more fully automatic washing machine with self determining wash times, we are going to focus on two subsystems of the machine: (1) the sensor mechanism and (2) the controller unit. The sensor system provides external input signals into the machine from which decisions can be made. It is the controller's responsibility to make the decisions and to signal the outside world by some form of output. Because the input/output relationship is not clear, the design of a washing machine controller has not in the past lent itself to traditional methods of control design. We address this design problem using fuzzy logic.
Input/Output of Controller
Fuzzy logic controller have two inputs: (1) one for the degree of dirt on the clothes and (2) one for the type of dirt on the clothes. These two inputs can be obtained from a single optical sensor. The degree of dirt is determined by the transparency of the wash water. The dirtier the clothes, the lower the transparency for a fixed amount of water. On the other hand, the type of dirt is determined from the saturation time, the time it takes to reach saturation. Saturation is the point at which the change in water transparency is close to zero (below a given number). Greasy clothes, for example, take longer for water transparency to reach saturation because grease is less water soluble than other forms of dirt. Thus a fairly straightforward sensor system can provide the necessary inputs for our fuzzy controller.
Definition of Input/Output Variables
Before designing the controller, we must determine the range of possible values for the input and output variables. These are the membership functions used to translate real world values to fuzzy values and back. Figure below shows the labels of input and output variables and their associated membership functions. Note that wash time membership functions are singletons (crisp numbers) in this example. We can use fuzzy sets or singletons for output variables. Singletons are simpler than fuzzy sets. They need less memory space and work faster. If we could not be satisfied by the result when output values are given by singletons we could change them into fuzzy sets. We should use Mandani's method for inference if we want to define output values as fuzzy sets.
Linguistic variables & their ranges
Fuzzy logic for Dirtiness &Type of dirt input
Linguistic variable: Dirtiness, D
Linguistic value Notation Numerical range
Small S [0.00, 50.00]
Medium M [0.00, 100.00]
Large L [50.00, 150.00]
Linguistic variable: Type of dirt, TD
Linguistic value Notation Numerical range
Not greasy NG [0.00, 50.00]
Medium M [0.00, 100.00]
Greasy G [50.00, 150.00]
Rules
The decision making capabilities of a fuzzy controller are codified in a set of rules. In general, the rules are intuitive and easy to understand, since they are qualitative statements written in English like if-then sentences. Rules for our washing machine controller are derived from common sense, data taken from typical home use, and experimentation in a controlled environment. A typical intuitive rule is as follows:
The rule table
Rule | D | TD | Wash time | |
1 | S | NG | VS | |
2 | M | NG | S | |
3 | L | NG | L | |
4 | S | M | S | |
5 | M | M | M | |
6 | L | M | L | |
7 | S | G | M | |
8 | M | G | L | |
9 | L | G | VL | |
10 | S | NG | VS | |
11 | S | M | S | |
12 | S | G | M | |
13 | M | NG | S | |
14 | M | M | M | |
15 | M | G | L | |
16 | L | NG | L | |
17 | L | M | L | |
18 | L | G | VL | |
19 | S | NG | VS | |
20 | M | M | M | |
21 | L | G | VL |