Computers ind~Engng VoL31,No. 1/2,pp.425-428,1996
Copyright© 1996ElsevierScienceLul Printedin GreatBritahl.Allfightsreserved
Pergamon S0360-8352(96) 00167-2
o360- 8352,96 $15.00 + o.oo
A FUZZY-NETS TRAINING SCHEME FOR CONTROLLING NONLINEAR SYSTEMS Kuo-Cheng Ko* and Joseph C. Chen** *: Department oflMSE, Iowa State University, Ames, Iowa 50014 **: Department of IEDT, Iowa State University, Ames, Iowa 50011-3130
ABSTRACT
A fuzzy-nets system has been developed to create fuzzy rule banks and to control nonlinear systems. The training procedure includes five steps. First,fuzzy regions of input and output spaces are defined based on the boundaries of the system. The second step is to generate fuzzy rules by given data sets which are feedback data from the system. Then, conflicting rules are resolved through bottom-up and top-down methodologies. In the fourth stage the rules are combined to generate a fuzzy rule base. Finally, an appropriate defuzzification methodology is defined for cxmtrolling the systems. To test the system, experimental data for a backing up a truck were collected and trained through the training scheme. An optimal fuzzy rule bank was then developed and various tests were performed and evaluated. The simulation results show that the scheme is able to produce an appropriate rule bank for controlling a nonlinear system.
KEYWORDS Fuzzy logic; Fuzzy Control; Fuzzy-Nets Approach; Fuzzy Rule Bank; Non-Linear System
THE FUZZY-NETS APPROACH The goal of this paper is to introduce a flexible fuzzy control system--the fuzzy-nets approach (Chen and Black, 1996; Chert, 1996). The word "flexible" in a fuzzy system indicates the ability to adjust the main control parameters, i.e., the fuzzy rules, fuzzy membership functions, or weights. The fuzzy-nets system produces a fuzzy rule bank that solves nonlinear behavior practical problems. A five-layer structure describing the proposed fuzzy-net system is shown m Fig. 1. The following summarizes how the fuzzynets system works: Layer 1: An input vector x, based on input-output pairs in a multi-dimensional feature space (xi, i = 1,2, .... k) is selected. Layer 2: The domain of each input feature is separated into fuzzy subsets. Each subset consists of fuzzy rules and fuzzy membership functions. The membership degree of each input (~tx[Xi], i = 1,2, .... k, X = A, B .... , N) is computed. Layer 3: The fuzzy rules provide the fuzzy relationships (1~, j = 1, 2 ..... m) and decide the references between the input vector subsets and the fuzzy reasoning classes. Layer 4: This layer combines all the rules that are related to class X of the final output (Rx). Layer 5: A final decision is made by using an appropriate defuzzification, such as the maximum function, the minimum function, or the centroid function. The training procedure consists five steps: 425
426
19th International Conference on Computers and Industrial Engineering
Layer 1
Layer2
Layer3
Layer4
Layer5
Fig. 1. A five layers fuzzy-nets system
Step 1: Define Fuzzy Regions of Input and Output Spaces The input vector is chosen through real samples. Assume an input vector as: - X k+ I X : t X l , X 2 ..... xklT, Vxle[Xl,X'~l, Vx2e(x2,x-~] .... Vx k E IX -k,
(1)
where x~ is the minimum value and Xk+ is the maximum value of the Xk domain interval. Each interval is divided into 2N + 1 regions which are denoted by Sl(Small #1), ..., SN(Small #N), MD(Medium), Ll(Large #1), ..., LN(Large #N). A triangular function is employed for each membership function. The spread of each triangular function is the same. Hence, the spread of an input feature Xk is defined as
+ -x~
S(Xk) -
Xk
(2)
2N
The center points of each linguistic variable (SI, ..., SN, MD, L1 ..... LN) Of Xk are defined as follows:
x~ ..... x~ +(N_l)xS(Xk) ' ~'k
X+k -(N-1)xS(Xk) ..... x
.
(3)
Step 2: Generate Fuzzy Rules The desired input-output data pairs are given as:
[XlfJ)x2(J),...,XkfJ),y0)]
(4)
where j denotes the number of the training data set, and y is the output class. The input-output data pairs define the fuzzy classification rules for the knowledge base of the fuzzy logic system as IF { (xl is A1 AND x2 is B3..... AND xk is Nz)} Then { the output is yl}
(5)
Step 3: Resolving ConflictingRules The rules generated by this method may have a conflictamong rules. That is, some rules may have the same IF situationsbut differentT H E N results. At this time, top-down and bottom-up methodologies are used to resolve conflicts. Top-down methodology assigns a degree to each rule. The degree of the rule" IF x~ is A and x2 is B, T H E N y is C," is defined as: d(Rule)-- ttA(Xl) * ~B(X2) * ~q~(y)
(6)
19th International Conference on Computers and Industrial Engineering
427
where A, B, and C are linguistic value for the input vector and the output. Assuming, rulel and rule2 are conflicting as: Rule 1: "IF x~ is A and x2 is B, THEN y is C" Rule 2: "IF xl is A and x2 is B, THEN y is D" The degree of each rule is assigned by (6). If the magnitude of the difference [ d(rulel) - d(mle2)[ > e, where 0 < s < 0.001, then the rule with the maximum value is chosen to be the winner, s is a user-defined parameter. This process will result in retraining all of the previously trained input-output data sets. This procedure will be continuous until no more conflicts exist. Step 4: Develop Fuzzy Rule Base The fuzzy rule bank will be a multi-dimensional matrix. Because all of the conflicting conditions axe resolved in step3, only one rule will fill a cell in a fuzzy rule bank, Step 5: Defuzzification ARer a fuzzy rule bank is completed, then we can use the fuzzy rule bank in our control system. Following, a defuzzy method is presented and employed to detem~e the output value for a new input d a t a s e t (Xl, x2 . . . . , x,,,). Assuming, the ith fuzzy rule is fired and the minimum function is used to get the fuzzified output value. Then, the centroid defuzzification (Lee, 1990) is employed to determine the usable output.
SIMULATION AND RESULTS To verify the validity of this fuzzy-net method, a truck (Kong and Kosko, 1992) is simulated to back up to a desired position with 90 degree between the truck and a horizontal line. Fig. 2 exhibits a drawing of the truck and a loading dock. Basically, (x,y,f) axe used to present the truck's position. Here, (x,y) is the coordinate pair of the rear center of the truck, and ~ is the angle between the truck and the horizontal axis. In addition, the steering angle, 0, is a control variable produced by the fuzzy system at each stage. The limitation of 0 is from -30 degrees to +30 degrees. Finally, (x,y) should align the center of the loading dock (xf,yf), as well as/O should be equal to 90 degrees.
t~
d~k (x~yO [
¢~lter
Fig. 2. Backing up a truck
To examine the performance of this fuzzy-nets approach, two procedures must be completed first. One is to create the fuzzy rule bank by using this fuzzy-nets approach, while the other is to test the fuzzy rule bank. Initially, 360 input-output data sets were collected for training. The fuzzy rule bank created by the fuzzy-nets approach is shown as Figure 3. Figure 4 is one of testing results.
428
19th International Conference on Computers and Industrial Engineering
It is obsorved that the fuzzy-nots approach can reasonably generate a proper fuzzy rule bank for backing up a truck. As well as, the fuzzy rule bank created by the approach is a 3*3 one which is compared to both Kosko's, a 5*7 one (Kong and Kosko, 1992) and Wang's, a 5*7 one (Wang, 1994). Therefore, the performance of the fuzzy-nots approach has been proved.
X S1 MD L1
S MD S S
MD
L MD S
L L L MD
Fig. 3. The 3*3 fuzzy rule bank following the traming procedure
L" Fig. 4. The initial position of the truck is x = 400, y = 250, and ~b= 250
REFERENCES Chen, J. C. and Black, JT. (1996). A fuzzy-logic-based approach for pokayoke-stoplight control in unmanned manufaoturmg cells. Inter. Journal of Machine Tools & Manufacture, m press. Chen, J. C. (1996). A fuzzy-nots tool breakage dotection system for end milling operations. Inter. Journal of Advanced Manufacturing Technology. m press. Kong, S. G. and B. Kosko (1992). Adaptive fuzzy systems for backing up a truck and trailer. IEEE Trans. on Neural Networks, 3, 211-223. Lee, C. C. (1990). Fuzzy logic in control systems: fuzzy logic controller. IEEE Trans. on System, Man. and Cvbcmotics, 20, 404-435. Wang, L. X. (1994). In: Adaptive Fuzzy Systems and Control, Chap. 5, p. 74. Prentice-Hall.