In the membership function choice, one has to solve a few problems: how to choose general parameters, such as the number of classes (membership functions)?
If you just want to have a working simulation without concerns on accuracy, you can play around with triangular membership functions.
However, you want to be more accurate about it, you will need to perform some sort of statistical analysis from experts. You may check the attached file.
Your all of your ideas are helpful but you know to design for example;
In a case of a PID controller, a design problem includes a proper choice of the PID-controller coefficients. In a fuzzy controller design, one needs to choose many more parameters:
membership functions, fuzzification and defuzzification procedures, etc. These extra parameters make a fuzzy controller more robust and much more difficult for analysis as well.
As you know, In the membership function choice, one has to solve a few problems: how to choose general parameters, such as the number of classes (membership functions) to describe all the values of the linguistic variable on the universe, the position of different membership functions on the universe of discourse, the width of
the membership functions, and concrete parameters, such as the shape of a particular membership function.
The first step in a width selection should be the choice of a parameter to evaluate it. The absolute value of the width is not appropriate as it does not compare the width of the separate membership function with the number of classes and the universe
of discourse. some researchers have proposed two indices which meet this demand: the overlap ratio and the overlap robustness. These indices evaluate a width of membership functions through the overlap of two adjacent functions. The idea is very fruitful, because it allows us to compare the scope of the separate membership function with the universe and the number of classes.
I have a different opinion about this. If you want to design a fuzzy logic controller to act like at PID controller, then you would not need to identify the values of Kp Ki and Kd. Instead, you can design the fuzzy controller as if the inputs are the error e(t) and rate of error de(t)/dt while your output is already the control signal u(t) to the plant. Then, given the transfer function of the plant, you may experiment with triangular membership functions first using MATLAB for input and output variables.
In order to determine the effectiveness of the controller, you will need to have a performance criterion, e.g. norm_2(e(t) + u(t)). You can adjust the width and degrees of membership of your functions based on the results. This is rather a trial and error approach.
The parameter of the whole overlap is appropriate for an evaluation of a membership function width as it compares the width of a separate membership function with the area of discourse and the number of classes.
1) Use of narrower membership functions results in a faster response (smaller response time).
2) Larger oscillation, overshoot and settling time appear when narrower membership functions are used.
3) Use of narrower membership functions produces the system with lower steady-state error. But with a very narrow function, the steady state may possibly not be reached at all.
4)The choice of the defuzzification method does not significantly influence the system performance characteristics.
5) The presence of small noise and disturbances generally keeps the statements made above valid.
Regarding to above, it has many variables and I think in real time application, design correct type of MF is very difficult.
Probably I did not understand totally, if the Kp,Kd,Ki are needed to be derived by fuzzy, It is really difficult task to obtain appropriate membership functions (shape/range..everything) to control a real uncertain plant. Since the mathematical inputs are e and de/dt, unless you add some other physical criteria, I would prefer not to derive the co-efficients kp,ki,kd from fuzzy directly.
I would rather try to generate maximum and minimum values of kp,ki,kd from simulation considering the worst cases and stability. From that range and practical data, empirical equation can be settled, like kp = kp min + (kp max - kp min) * status of the system (it just an idea, you may need additional things: stability,... )
where the 'status of the system' (range will 0 to 1) might be derived from fuzzy. That will be lot easier to achieve control goal. But I think you need statistical approach and stability as a fuzzy input criterion to seek for appropriate MFs
Theoretically, there are numerous reasearch works done. However, in practice, it is very difficult to pick up those values, even you get perfect control performance in simulation, when the algorithm is placed into the process, uncertainty of the process could drive the controller mad. Based on my experience, to gurantee the robustness behavior should be placed as the first priority.
If we compare an action of a fuzzy controller with the action of a conventional PID controller, we can state that when we decrease a membership function width , we increase the differential part, and in the opposite case we emphasise an integration performance of the controller. So we can see some analogy between a membership functions choice and a PID controller coefficients choice.
3. Membership functions for fuzzy sets can be defined in any number of ways as long as they follow the rules of the definition of a fuzzy set. The Shape of the membership function used defines the fuzzy set and so the decision on which type to use is dependant on the purpose. The membership function choice is the subjective aspect of fuzzy logic, it allows the desired values to be interpereted appropriatly. The most common membership functions are shown.
I would love to see the paper relating the width of the membership functions in relation to the differentiation and integral actions of the controller. Honestly, I never knew this was the case.
A control servo system keeps a constant temperature for a conventional water heater tank. The water heater basically has different outputs: the temperature error (the difference between the desired temperature and the real one) . Initially only the temperature was examined. If the temperature is too high, then the amount of
necessary heat is less than the current amount. If it is too low, then more heat is necessary. The fuzzy controller with different membership functions has been used to control this plant. This was a simple example and even here one can see that such
response parameters as the steady-state error, overshoot, settling time do depend on the overlap and consequently on the membership function choice.
regarding to this example we have some challenges: type of membership function, overlapping and ....
Farzin, usually the choice of memebership functions as well as fuzzy inference is a design question. It is not always straight-forward which structure and parameters to choose. However, there are a number of papers which consider fuzzy system optimization. You might be interested in this list:
Ciliz, M. K. (2005). Rule base reduction for knowledge-based fuzzy controllers
with application to a vacuum cleaner. Expert Systems with Applications,
28(1):175184
Cococcioni, M., Foschini, L., Lazzerini, B., and Marcelloni, F. (2008). Complexity
reduction of mamdani fuzzy systems through multi-valued logic
minimization. In Systems, Man and Cybernetics, 2008. SMC 2008. IEEE
International Conference on, pages 17821787. IEEE
Gegov, A. and Gobalakrishnan, N. (2008). Advanced inference in fuzzy systems
by rule base compression. Mathware & Soft Computing, 14(3):201216.
Kondratenko, Y. P., Klymenko, L. P., and Al Zu'bi, E. Y. M. (2013). Structural
optimization of fuzzy systems' rules base and aggregation models.
Kybernetes, 42(5):831843.
Ouezri, A., Derbel, N., and Alimi, A. M. (2002). Automatic generation of
fuzzy rules for the control of a mobile robot. Systems Analysis Modelling
Simulation, 42(7):10811105.
Permana, K. E. E. and Hashim, S. M. (2010). Fuzzy membership function generation
using particle swarm optimization. Int. J. Open Problems Compt.
Math, 3(1).
Pomares, H., Rojas, I., Ortega, J., Gonzalez, J., and Prieto, A. (2000). A
systematic approach to a self-generating fuzzy rule-table for function approximation.
Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE
Transactions on, 30(3):431447.
Tan, K. and Tokinaga, S. (1999). Optimization of fuzzy inference rules by using
the genetic algorithm and its application to the bond rating. Journal of the
Operations Research Society of Japan-Keiei Kagaku, 42(3):302315.