Next Article in Journal
Stationary Target Identification in a Traffic Monitoring Radar System
Next Article in Special Issue
Heuristic Global Optimization of an Adaptive Fuzzy Controller for the Inverted Pendulum System: Experimental Comparison
Previous Article in Journal
Prediction of Damage Level of Slab-Column Joints under Blast Load
Previous Article in Special Issue
Model Predictive Control of Non-Linear Systems Using Tensor Flow-Based Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules

1
University of Coimbra, Institute of Systems and Robotics, Department of Electrical and Computer Engineering, Pólo II, PT-3030-290 Coimbra, Portugal
2
Critical Software S.A., Pq. Ind. de Taveiro, Lt 49, PT-3045-504 Coimbra, Portugal
3
Oncontrol Technologies, Lda, Av. Sá Bandeira, 33, Escritório 519, PT-3000-279 Coimbra, Portugal
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(17), 5836; https://doi.org/10.3390/app10175836
Submission received: 11 July 2020 / Revised: 17 August 2020 / Accepted: 19 August 2020 / Published: 23 August 2020
(This article belongs to the Special Issue Control and Soft Computing)

Abstract

:
The paper proposes a methodology to online self-evolve direct fuzzy logic controllers (FLCs), to deal with unknown and time-varying dynamics. The proposed methodology self-designs the controller, where fuzzy control rules can be added or removed considering a predefined criterion. The proposed methodology aims to reach a control structure easily interpretable by human operators. The FLC is defined by univariate fuzzy control rules, where each input variable is represented by a set of fuzzy control rules, improving the interpretability ability of the learned controller. The proposed self-evolving methodology, when the process is under control (online stage), adds fuzzy control rules on the current FLC using a criterion based on the incremental estimated control error obtained using the system’s inverse function and deletes fuzzy control rules using a criterion that defines “less active” and “less informative” control rules. From the results on a nonlinear continuously stirred tank reactor (CSTR) plant, the proposed methodology shows the capability to online self-design the FLC by adding and removing fuzzy control rules in order to successfully control the CSTR plant.

1. Introduction

The globalization of markets, environmental legislation restrictions, the necessity of having an efficient management of energy and sustainable resources, zero defect trends, customer pressure to reduce costs, personalized products, low product lifetime, and several other facts have resulted in a significant increase in industrial process complexity. Industrial processes have increasingly exhibited nonlinear behaviors and other complex characteristics, such as unknown and time-varying dynamics, constraints, and disturbances. Considering the above facts and trends of the “Industry 4.0” strategy, more advanced industrial control solutions with high levels of efficiency, flexibility, reliability, and performance are currently required.
Motivated by these problems, as an advanced industrial control solution, fuzzy logic controllers (FLCs), which are rule-based systems that allow control of complex ill-defined processes using the experience of expert operators, have been applied in a wide variety of industrial processes [1]. However, there still exist many difficulties in designing FLCs for complex nonlinear industrial processes, using only human knowledge to control complex processes, and there is not a standard approach to translate this knowledge into fuzzy control rules [2].
The design of fuzzy logic systems has attracted many researchers, many of them working on identification, classification, control, and decision making problems. Regarding the fuzzy control systems, the design methods can be generally distinguished as indirect or direct methods, where in direct methods, the FLC is designed through operator control knowledge, and in indirect methods, the FLC is designed through operator knowledge about the process [3,4]. However, the number of proposed direct fuzzy control design methodologies are significantly less when comparing to identification, classification, and indirect control applications. Evolutionary algorithms have been used to design fuzzy controllers [5,6,7,8,9,10,11]. However, such methods (e.g., GA, PSO, and ABC) are computationally heavy, mainly offline, and do not consider changes in the dynamics of the process, when the process is under control.
In order to deal with systems characterized by changing the characteristics, evolving systems have recently emerged as promising methods that adapt their structure (and parameters, as happens with adaptive systems) to new operating conditions, changing system dynamics, drifting situations, and non-stationary environments [12]. It is important to note that evolving systems self-change or organize their structure (and parameters) according to novelties such as, for example, new regions of operation, anomalies, unknown environment, drifts, and shifts, which differs from adaptive systems, which only adapt their parameters, having the model/control structure fixed. Several relevant evolving methodologies have been proposed to design fuzzy systems. In [13], a review of evolving fuzzy and neuro-fuzzy methodologies for clustering, regression, identification, and classification applications was presented, in which the addition, merging, splitting, and removing evolving mechanisms were presented and discussed. Additionally, in [12], an overview of the following evolving systems was performed: fuzzy rule-based, neuro-fuzzy, Cauchy possibilistic clustering, granular neural network, and fuzzy linear regression tree. However, in these reviews [12,13], control applications were not considered. Focusing on control applications, the work in [14] presented an approach for on-line designing indirect T-S (Takagi-Sugeno)fuzzy controllers with evolving learning in a recursive way. A fuzzy model reference adaptive control was proposed in [15], in which the evolving fuzzy model (eFuMo) method was used to learn the controller’s fuzzy model. In addition to [15], an adaptive law was proposed in [16] in order to guarantee global stability. In [17], an evolving neuro-fuzzy controller based on the Taylor series neuro-fuzzy (TaSe-NF) model was proposed, in which the proposed method analyzes the error surface to obtain the fuzzy rule with the worst performance to be split, based on the presented criteria. A model-based evolving granular fuzzy control approach was proposed in [18], where the model’s structure and parameters were adapted based on information extracted from uncertain data streams. In [19], an evolving probabilistic fuzzy neural controller using an asymmetric membership function was presented. In [20], an evolving fuzzy model-based controller for a generic hypersonic vehicle (HV) was proposed, where the control law was designed based on the fuzzy model, and the stability analysis was performed using the Lyapunov method. Self-evolving Type-2 control was also studied [21,22,23]. However, the above control applications focused on indirect control, in which the evolving strategy was proposed for the model. In the evolving fuzzy systems, when compared with identification and classification problems (and even with indirect control applications), just a few works have been proposed for direct control learning and evolving (and not for identification of a system or data model, even to be possibly used in indirect control learning). In order to design the entire fuzzy control structure in an online way, methodologies to design direct FLCs in an evolving way have been proposed. In [2,24], an evolving FLC design methodology was proposed, where the proposed method was initialized with no fuzzy control rules (the online process starts with an empty control structure). However, the proposed solution can lead to a complex controller with a huge number of control rules. Later, based on data clouds, the robust evolving cloud-based controller (RECCo) was proposed [25]. In RECCo, the antecedent part of the fuzzy control rules to be designed is defined by data clouds (instead of the typical membership functions). RECCo was used also in [26,27,28] and improved in [27,28]. In [29], an evolving data cloud-based PID-like controller was proposed for uncertain nonlinear systems, in which, a stable recursive method (based on the Lyapunov function) was proposed to adapt the parameters aiming at fast convergence performance. However, the control rules’ interpretability ability by a human operator was lost since the antecedent part of the control rules was defined by data clouds, which make the control rules very hard to be understood by human operators [26]. In [30], the problem of translating the control knowledge of a human expert operator into fuzzy control rules was addressed, where an approach was proposed to automatically design a Mamdani FLC iteratively. In [31], a methodology was proposed to online evolve a fuzzy control structure defined by univariate fuzzy control rules, which was based on the inverse function of the system under control. However, the works in [30,31] only considered adding control rules during the evolving learning process.
In order to reach an online self-organizing fuzzy control design, which can be easily interpretable by human operators, a new methodology is proposed in this paper, to online self-evolve direct FLCs. The fuzzy control rules’ structure is defined by univariate rules. In this way, the interpretability ability of the controller is improved, as well as the complexity (the number of membership functions and fuzzy control rules) of the learned FLC controller is reduced. In an offline stage, the initial fuzzy control structure is designed using only the variables range (minimum and maximum admissible values). Then, the online stage, which occurs when the process is under control, corresponds to the evolving stage where fuzzy control rules can be added or removed from the current knowledge base (fuzzy control rules). To add fuzzy control rules on the current FLC, the proposed self-evolving design method uses two criteria: Criterion 1 is based on the incremental estimated control error obtained using the system’s inverse function, and Criterion 2 is based on the minimal distance allowed between the center of two consecutive membership functions. To delete fuzzy control rules, two criteria to delete “less active” or “less informative” fuzzy control rules are used. To evaluate the proposed self-evolving FLC, a simulated nonlinear continuously stirred tank reactor (CSTR) plant is used. The main contributions of the proposed self-evolving design methodology for direct FLCs are: the evolving of a control structure composed of univariate control rules, which together with the defined evolving mechanisms, makes the controller better interpretable by human operators, and having a light control structure (small number of membership functions and control rules); the criteria to add control rules are defined in order to reduce the sensitivity to noise/outliers; to delete fuzzy control rules, two criteria to delete “less active” or “less informative” rules are presented; and the threshold for the criteria to add or remove control rules are intuitively defined (by the percentage of the variables range and ϵ [ 0 , 1 ] ).
The paper is organized as follows. Section 2 presents the FLC controller to be online designed by the proposed methodology. Section 3 presents the proposed self-evolving FLC design method. Section 4 analyzes the performance of the proposed approach on a nonlinear continuously stirred tank reactor system. The final conclusions are presented in Section 5.

2. Fuzzy Logic Controller

This section briefly presents the main concepts of fuzzy logic control and the control structure to be evolved by the proposed method in Section 3. Fuzzy logic controllers (FLCs) have become an important research area in fuzzy systems [3], being widely applied in the control of complex industrial processes where the control knowledge of human expert operators is available through a set of IF-THEN control rules. A fuzzy control rule describing a simplistic control action to control N O x emissions in the cement industry is presented in the following example:
IF the N O x is h i g h , THEN inject m o r e a m m o n i a ,
where N O x and ammonia (variation) are the input and output linguistic variables being, respectively, defined by the linguistic terms associated with the fuzzy sets high and more.
The FLC, which will be evolved by the proposed method in this paper, is composed of a set of univariate fuzzy control rules, allowing improving the controller interpretability ability, since the influence of each input variable on the overall behavior of the controller will be more easily interpretable. In this way, the fuzzy control rules for each input variable are given by [31]:   
R j 1 : IF x j ( k ) is A j 1 THEN u j 1 ( k ) = θ j 1 , R j N j : IF x j ( k ) is A j N j THEN u j N j ( k ) = θ j N j , j = 1 , , n , i j = 1 , , N j ,
where x j is the input variable j ( j = 1 , , n ), R j i j is the i j -th fuzzy control rule of x j , N j is the number of rules for x j , θ j i j is the consequent parameter, and A j i j are linguistic terms characterized by a complementary fuzzy membership function [32]. Using the following fuzzy system configuration: the singleton as the fuzzifier, the center-average as the defuzzifier, and the product inference engine, the FLC is given by [31]:
u ( x ( k ) ) = i 1 = 1 N 1 μ A 1 i 1 ( x 1 ( k ) ) θ 1 i 1 + + i n = 1 N n μ A n i n ( x n ( k ) ) θ n i n i 1 = 1 N 1 μ A 1 i 1 ( x 1 ( k ) ) + + i n = 1 N n μ A n i n ( x n ( k ) ) ,
where, defining A 1 , , A i , , A N = A 1 1 , , A 1 N 1 , , A j 1 , , A j N j , , A n 1 , , A n N n ,
i = 1 N μ A i ( x ( k ) ) = i 1 = 1 N 1 μ A 1 i 1 ( x 1 ( k ) ) + + i n = 1 N n μ A n i n ( x n ( k ) ) ,
ω j i j [ x ( k ) ] = μ A j i j ( x j ( k ) ) i = 1 N μ A i ( x ( k ) ) ,
ψ j ( x ( k ) ) = ω j 1 [ x ( k ) ] , , ω j N j [ x ( k ) ] ,
Θ j = θ j 1 , , θ j N j T ,
x ( k ) = x 1 ( k ) , , x n ( k ) ,
then the FLC (3) is given by:
u ( x ) = u 1 ( x ( k ) ) + + u n ( x ( k ) ) , u j ( x ( k ) ) = ψ j T ( x ( k ) ) Θ j .
ψ j T ( x ( k ) ) (4) in (7) can be seen as a weight of fuzzy control rules of input variable j on the overall controller. By Equation (7), the influence of each input variable on the overall FLC’s behavior can be analyzed, taking into account the fuzzy control rules; structure, making the FLC more interpretable.
In order to allow more interpretability for the FLC, the membership functions are characterized by complementary triangular membership functions, as defined in Figure 1.
a j , i j , b j , i j , and c j , i j are respectively the lower, center, and upper values of the membership function A j i j , and x j and x j + are the lower and upper limits of x j .
The next section proposes a new methodology to online design, in an evolving way, the FLC represented by (7).

3. Proposed Self-Evolving FLC Design Method

This section describes the proposed methodology to self-evolve the fuzzy logic controller (FLC) presented in Section 2. This section starts by presenting the main formulation for the online evolving learning process based on the plant’s inverse function in Section 3.1; the initialization (offline stage) of the proposed method is described in Section 3.2; and the online stage (self-evolving learning process) is described in Section 3.3.

3.1. Formulation

In this paper, the process to be controlled by the proposed self-evolving methodology is defined by following nonlinear autoregressive exogenous (NARX) model:
y ( k + 1 ) = f ( x ( k ) , u ( k ) ) ,
where x ( k ) = [ y ( k ) , , y ( k n y ) , u ( k 1 ) , , u ( k n u ) ] , u ( k ) and y ( k ) are the process input and output, respectively, n y and n u are, respectively, the output and input orders, and f is an unknown continuous and differentiable single-input single-output (SISO) function.
Assumption 1.
f ( x , u ) u 0 for x Ω x , where x Ω x is the controllability region [2,33].
Assumption 1 is a controllability condition of System (8), which imposes that there is no state at which the system’s output does not depend on the control signal u.
In a general way, the controller can be represented by the function g to control the system (8) [2,31]:
u ( k ) = g ( x ˜ ( k ) , Θ ) ,
where x ˜ ( k ) = [ r ( k ) , y ( k ) , , y ( k n y ) , u ( k 1 ) , , u ( k n u ) ] , which in addition to x ( k ) includes the reference signal r ( k ) , and Θ are the control parameters. Fuzzy systems are universal approximators [34,35]. Therefore, to approximate (9), the FLC (3) will be designed by the proposed self-evolving learning method.

Sliding Window

A temporal sliding window is created in order to allocate the variables needed to obtain the inverse function of the plant, to be used in the evolving process phase. The sliding window will be used to estimate the control estimation error in order to select the input variable that contributes to the largest estimated control error, and such a variable is selected to receive a new fuzzy control rule (if the defined criteria are met). The concept is, if a command signal u ( k ) generates y ( k + 1 ) at system state x ( k ) , then if the system returns again to the same state x ( k ) and the reference is the same as the generated output, i.e., r ( k ) = y ( k + 1 ) , then u ( k ) can be considered as the optimum control signal [2,31].
The temporal sliding window, with T M elements, is defined by:
M = [ z ( k T M ) T , , z ( k 1 ) T ] ,
where z ( m ) = [ x ˜ ( m ) , u ( m ) ] ( m = 1 , , T M ) and x ˜ ( m ) = [ y ( m + 1 ) , y ( m ) , , y ( m n y ) , u ( m 1 ) , , u ( m n u ) ] .

3.2. Offline Stage

Since in this paper, the assumption is made that there is no knowledge about the dynamics of the process under control, in the offline design, the FLC is designed using the range values of the process variables.
Taking into account that the input variables are described by complementary triangular membership functions (MFs), as presented in Figure 1, then each input variable x j is initially represented by two MFs, N j = 2 for j = 1 , , n ; covered in this way by all the universe of discourse of the respective variable. The consequent parameters of all fuzzy control rules are initially set to the minimum admissible control value, u .
In general terms, two initial fuzzy control rules R j i j ( j = 1 , , n and i j = 1 , 2 ) for each input variable x j ( x = x 1 , , x n ) are, at the beginning offline stage, defined as follows:
R j 1 : IF x j ( k ) is A j 1 THEN u j 1 ( k ) = θ j 1 = u , R j 2 : IF x j ( k ) is A j 2 THEN u j 2 ( k ) = θ j 2 = u ,
where the initial membership functions are defined as presented in Figure 2.

3.3. Online Stage

This section presents the main steps of the proposed self-evolving methodology for online designing of the FLC presented in Section 2. The main steps are (1) adaptation of the rules’ consequents (Section 3.3.1), (2) variable selection (Section 3.3.2), (3) definition of the fuzzy control rule candidate to be added (Section 3.3.3), (4) criteria to add the candidate control rule (Section 3.3.4), and (5) criteria to delete a fuzzy control rule (Section 3.3.5).

3.3.1. Consequent Adaptation

In order to reach a better control performance, the consequent parameters θ j i j ( k ) are updated based on the tracking error e ( k ) = r ( k ) y ( k ) at all instants of time by:
θ j i j ( k ) = θ j i j ( k 1 ) + γ ω j i j [ x j ( k ) ] e ( k ) ,
where γ is a positive adaptation gain.

3.3.2. Variable Selection

The first step of the proposed self-evolving controller design is the selection of the candidate input variable x j * where a new fuzzy control rule should be added.
The criterion to select the candidate input variable x j * is based on the estimated controller error obtained by the function approximation of the plant’s inverse function (Section 3.1). The estimation control error e c ( k ) is obtained by:
e c ( k ) = m = 1 T M ( u ( m ) u ^ ( m ) ) 2 ,
where u ( m ) represents the applied control signal (real controller), which is stored in the sliding window M (10) at the window’s sample time m, and u ^ ( m ) is the control signal for sample time m given by the current FLC designed at time instant k, ( u ( x ˜ ( m ) ) ), using the vector x ˜ ( m ) instead of x ( m ) . In this way, the estimation control error of x j at instant k is obtained by:
e c j ( k ) = m = 1 T M ( ψ j ( x ( m ) ) u j T ( m ) ψ j ( x ˜ ( m ) ) Θ j ) 2 ,
where ψ j ( x ( m ) ) is defined in (4), and each element of u j ( m ) = u ( m ) [ 1 , , 1 ] 1 × N j is the real controller signal u ( m ) stored in the sliding window M at sample m of the window.
The candidate input variable x j * to which can be added a fuzzy control rule is given by the one that has the largest estimation control error:
j * = arg max j J ( e c j ( k ) ) ,
where J = { 1 , , n } is the set of indices of the input variables.

3.3.3. New Fuzzy Control Rule

When the criteria, defined later in Section 3.3.4, to add fuzzy control rules are met, a fuzzy control rule will be added to the current knowledge base (i.e., fuzzy control rules defined by (2)). In this way, for the candidate input variable x j * will be added a new fuzzy control rule R j * n e w , defined by the membership function A j * n e w and the consequent θ j * n e w .
To design the new fuzzy control rule R j * n e w , the first step is to create the new membership function A j * n e w . The membership functions being characterized by complementary triangular MFs (Figure 1), it is necessary to define the center of A j * n e w . In order to reduce the sensitivity to noise/outliers, the center of the new membership function will be obtained based on (as a function of) the distribution of the control estimation error e c . For that purpose, first, a variable m c representative of such distribution is defined as follows:
m c = m = 1 T M m ( u ( m ) u ^ ( m ) ) 2 m = 1 T M ( u ( m ) u ^ ( m ) ) 2 ,
where, similarly to (13), u ( m ) represents the real controller, which is stored in the sliding window M  (10) at the window’s sample time m, and u ^ ( m ) is the control signal (13) given by the current FLC designed at time instant k ( u ( x ˜ ( m ) ) ) using the vector x ˜ ( m ) . The center of the new membership function A j * n e w is given by x ˜ j * ( m c ) , where x ˜ j * is the j * -th variable (15) (component) of x ˜ , m c is the integer nearest to m c (16), and x ˜ ( m c ) is the value of x ˜ on the m c -th sample time of the sliding window M  (10).
The new membership function A j * n e w and the nearest left ( A j * l e f t ) and right ( A j * r i g h t ) membership functions (which should be updated due to the introduction of a new MF on the respective variable) are given by:
  • A j * l e f t : c j * , l e f t = b j * , n e w ;    
  • A j * n e w : a j * , n e w = b j * , l e f t ; b j * , n e w = x ˜ j * ( m c ) ; and c j * , n e w = b j * , r i g h t ;    
  • A j * r i g h t : a j * , r i g h t = b j * , n e w .
Since the antecedent membership functions are defined as complementary triangular membership functions (Figure 1), then in A j * l e f t and A j * r i g h t , only one of their parameters is updated due to the introduction of the membership function A j * n e w .
The consequent parameter of R j * n e w is obtained as follows:
θ j * n e w ( k ) = i j = l e f t r i g h t μ A j * i j ( x j * ( k ) ) θ j i j i j = l e f t r i g h t μ A j * i j ( x j * ( k ) ) ,
where l e f t = i j * 1 and r i g h t = i j * + 1 are respectively the nearest left A j * l e f t and right A j * r i g h t membership functions (MFs). With (17), the impact of the introduction of a new control rule, while the process is under control, is reduced.

3.3.4. Criteria to Add Control Rules

Two criteria are used to create a new fuzzy control rule.
Criterion 1.
Δ e c ( k ) > δ , with Δ e c ( k ) = e c ( k ) e c ( k 1 ) , where δ is a threshold defined by the user.
Criterion 1 is based on the variation of the estimated control error, which if it is larger than a threshold ( δ ), gives an indication to add a control rule. In this paper, the threshold ( δ ) is defined as a percentage of the range of the universe of discourse of the control variable Δ u = u + u , for example δ = 5 % × Δ u . If Criterion 1 is met, the candidate input variable x j * is selected by (15) (Section 3.3.2) to which a new fuzzy control rule can be added. Then, a candidate fuzzy control rule R j * n e w is defined, using the candidate membership function A j * n e w as explained in Section 3.3.3. Then, Criterion 2 is used to decide if the candidate fuzzy control rule R j * n e w should be added to the candidate input variable x j * , ensuring a minimal distance between membership functions.
Criterion 2.
b j , i j * ( k ) b j , i j ± ( k ) > η j , where b j , i j * and b j , i j ± are the centers of A j * n e w and of its nearest membership function ( A j ± ) respectively, and η j is a threshold defined by the user to define the minimal distance between two closest membership functions for input variable x j .
Criterion 2 is defined in order to avoid the learning of a complex controller structure, namely limiting an excessively fine partitioning of the input variables spaces (also avoiding overfitting cases and the creation of a large number of fuzzy control rules) and improving the controller interpretability. In this paper, the threshold ( η j ) is defined based on the range of the universe of discourses of the input variables, for example, for input variable x j , η j = x j + x j / K j , where K j can be represented by the maximal number of membership functions for x j .

3.3.5. Delete Fuzzy Control Rule

Taking into account the complex characteristics of industrial processes, such as unknown and time-varying dynamics, and disturbances, some control rules created earlier may become obsolete, and the presence of outliers (besides the criteria to avoid that) can create the wrong rules. However, in order to not remove a fuzzy control rule with significant information, the deletion of a control rule must be done carefully. In this way, two criteria to delete “less active” or “less informative” fuzzy control rules are used [36].
Criterion 3.
N i j t o t a l ( k ) k k i j i n i < ϵ , for i j = 1 , , N j and j = 1 , , n , where N i j t o t a l ( k ) = N i j t o t a l ( k 1 ) + ω j i j [ x ( k ) ] is the indicator of the total activation degrees (antecedent values) associated with the i j -th fuzzy rule, being  N i j ( 0 ) t o t a l = 0 [37,38].kis the current instant of time, and k i j i n i is the instant of time at which the fuzzy control rule R j i j was created. ϵ [ 0 , 1 ] is a positive constant.
A usual choice has been ϵ = 0.1  [36,39].
Criterion 4.
1 N i j m i n ( k ) k k i j i n i < ϵ / 2 , for i j = 1 , , N j and j = 1 , , n , where N i j m i n ( k ) is given by (18), which is the total number of times (during the interval of time [ k i j i n i , k ] ) in which the antecedent value of the i j -th fuzzy rule, ω j i j [ x ( k ) ] (3), is the minimum among all the antecedent values of all fuzzy rules, and k i j i n i is the instant of time at which fuzzy control rule R j i j was created. ϵ [ 0 , 1 ] is the same positive constant as in Criterion (3).
N i j m i n ( k ) = k i j i n i k ω j i j [ x ( k ) ] = min i j = 1 , , N j j = 1 , , n ( ω j i j [ x ( k ) ] ) ,
where are the Iverson brackets and P is defined to be one if P is true, and otherwise zero.
Criterion 3 gives an indication of the use of a given fuzzy rule, by its antecedent value, ω j i j [ x ( k ) ] (3), during an interval of time ( [ k i j i n i , k ] ). In this way, Criterion 3 is defined in order to remove control rules that are less active. On the other hand, Criterion (4) gives an indication of how long a given rule had the lowest antecedent value ω j i j [ x ( k ) ] (3), during an interval of time ( [ k i j i n i , k ] ). In this way, Criterion (4) is defined in order to remove control rules that are non-informative.
For all instants of time k, Criteria 3 and 4 are verified for all control rules, and when simultaneously they are met, then fuzzy control rule R j d e l will be deleted from the current knowledge base, as well as the associated membership function A j d e l . After removing membership function A j d e l , the nearest left ( A j l e f t ) and right ( A j r i g h t ) membership functions (which are updated due the elimination of A j d e l ) are given by:
  • For A j l e f t : 1) c j , l e f t = b j , r i g h t ;    
  • For A j r i g h t : 1) a j , r i g h t = b j , l e f t .
Since complementary triangular membership functions are used (Figure 1), only one of the parameters is updated for each of A j l e f t and A j r i g h t .

3.3.6. Algorithm

Algorithm 1 presents the steps of the proposed self-evolving method to design the FLC controller, and Figure 3 presents the respective flowchart.
Algorithm 1 Proposed self-evolving FLC design method.
Input:
  1: Range, minimum, and maximum values, of the variables x j and x j + ( j = 1 , , n ) and u and u + ;
  2: Thresholds: δ (Criterion 1), η j for j = 1 , , n (Criterion 2); ϵ (Criteria 3 and 4), sliding window’s size T M , and γ ;
Offline Stage: Design the initial fuzzy controller (Section 3.2);
  3: Antecedent part: design the membership functions A j i j ( i j = 1 , 2 ):
  4: for all all input variables j = 1 , , n do
  5:    parameters of A j 1 : a j , 1 = b j , 1 = x j and c j , 1 = x j + ;
  6:    parameters of A j 2 : a j , 2 = x j and b j , 2 = c j , 2 = x j + ;
  7: end for
  8: Consequent part: define all consequent parameters as the minimum control value θ j i j = u ( i j = 1 , 2 );
Online Stage:
  9: while the controller is turned on, k = 1 , 2 , do
  10:     Update the consequent parameters by (12) (Section 3.3.1);
  11:     if sliding window M is filled then
  12:         Obtain the estimated control error e c ( k ) using (13);
  13:        if Criterion 1 is met then
  14:           Select, using (15), the candidate input variable x j * in which a new control rule can be added (Section 3.3.2);
  15:           Obtain the center of the candidate MF ( A j * n e w ) by (16);
  16:           if Criterion 2 is met then
  17:               Add A j * n e w (new MF) to the selected input variable x j * (Section 3.3.3);
  18:               Update the nearest left ( A j * l e f t ) and right ( A j * r i g h t ) membership functions (Section 3.3.3);
  19:               Define the consequent parameter θ j * n e w of the new fuzzy control rule using (17);
  20:           end if
  21:        end if
  22:        if Criteria 3 and 4 are met then
  23:           Delete the fuzzy control rule R j d e l (Section 3.3.5);
  24:           Delete membership function A j d e l (Section 3.3.5);
  25:           Update the nearest left ( A j l e f t ) and right ( A j r i g h t ) membership functions (Section 3.3.5);
  26:        end if
  27:    end if
  28:    Apply the command signal of the current designed fuzzy logic controller, and read the output variable y ( k ) .
  29:    Update M (sliding window);
  30: end while

4. Results

This section presents the results’ analysis of the proposed evolving methodology, named as uSelf-FLC (Available at https://home.isr.uc.pt/~jermendes/uSelf-FLC.html). For that purpose, a nonlinear continuously stirred tank reactor is used.

4.1. Description of the CSTR Plant

The nonlinear CSTR plant is given by [31,40]:
C A ( t + d c ) t = q ( t ) V C A 0 ( t ) C A ( t + d c ) k 0 C A ( t + d c ) exp E R T ( t ) , T t = q ( t ) V T 0 ( t ) T ( t ) ( Δ H ) k 0 C A ( t + d c ) ρ c 1 C p exp E R T ( t ) + ρ c 2 C p c ρ c 1 C p V q c ( t ) 1 exp h A q c ( t ) ρ c 2 C p c T c 0 ( t ) T ( t ) ,
y ( t ) = C A ( t ) , u ( t ) = q c ( t ) ,
where Table 1 presents the description of the variables and the respective nominal values. In this plant, the goal is to control the C A ( t ) by manipulating q c ( t ) .

4.2. Initialization and Offline Stage

For the results’ analysis presented here, the following input variables for the FLC were defined: x ( k ) = [ r ( k ) , y ( k ) ] , where r ( k ) is the reference signal. The parameters of the proposed evolving methodology, which were defined manually, are: variables’ range x 1 = x 2 = 0.05 , x 1 + = x 2 + = 0.12 ; u = 90 and u + = 110 ( Δ u = 15 ); thresholds η j = x j + x j / 15 (for j = 1 , 2 ), δ = 0.05 × Δ u , and ϵ = 0.1 ; M = 1000 ; and γ = 0.35 . The FLC was initially offline designed with the assumption that there was no control knowledge about the process under control; see Section 3.2. The parameters of the SEDFLC (Available at https://home.isr.uc.pt/~jermendes/SEDFLC.html) evolving method proposed in [31] were defined the same as the proposed method, in order to compare both evolving design methods in the same conditions.

4.3. Regions of Operation

In order to test the evolving capability of the proposed design methodology, the reference r ( t ) was designed so as to expose the controller to unknown regions of operation; some regions of operation were close to the ones previously learned; and other regions of operation that the controller had previously learned, but never reached again, in order to make some control rules obsolete.

4.4. Results’ Analysis

The results, along time, are presented in Figure 4, Figure 5 and Figure 6 where:
  • Figure 4 presents the global results of the direct FLC controller online designed by the proposed self-evolving methodology, in which Figure 4a presents the evolution of the tracking performance for the unknown regions of operation, Figure 4b presents the evolution of control signal, u ( k ) , Figure 4c shows the evolution of the number of fuzzy control rules for each input variable, x 1 and x 2 , and Figure 4d shows the evolution of Δ e c ( k ) , which is associated with Criterion 1 to add new fuzzy control rules. Figure 4a,b presents also the results of the SEDFLC evolving method proposed in [31].
  • Figure 5 and Figure 6 present the evolution of the antecedent and consequent parameters, i.e., the structural changes along time and the consequent adaptation, and the final membership functions for x 1 ( k ) = r ( k ) and x 2 ( k ) = y ( k ) , respectively.
From the results, analyzing the performance of the direct FLC, online designed by the proposed self-evolving methodology, it can be seen that:
  • Since, initially, the controller is offline designed using only the variables range values, using two fuzzy control rules per input variable, where the membership functions were defined as presented in Figure 2, thus, the controller is initialized without any control knowledge or previous data of the process under control, i.e., without knowledge of any region of operation. It can be seen from the results that the tracking performance increases during the time of operation and that the proposed evolving methodology adds new fuzzy control rules (see Figure 4c) when unknown regions of operation are reached.
  • When the reference has the value r ( k ) = 0.065 ( 1500 k < 1800 ), that r ( k ) region of operation has not been learned (reached) previously, and new control rules were added in both input variables. Afterwards, as that region of operation was never reached again, the control rules that were previously added for that region were deleted, due to the fact that Criteria 3 and 4 considered these rules obsolete (“less active” and “less informative”).
  • Additionally, it can be seen that for k < 1800 , there are large changes in the control structures, namely in the antecedent (Figure 5a and Figure 6a) and consequent parts (Figure 5b and Figure 6b) because, until then ( k < 1800 ), most of the regions of operation were unknown to the controller, and the proposed design methodology online evolved the control structure (i.e., the fuzzy control rules); afterwards, for k 1800 , with the exception of the process of deleting the control rules, only small changes were made in the antecedent and the consequent parts of the rules, since in that time interval, the regions of operation were similar to the ones already learned before.
  • Figure 4a–b shows that the proposed method has outperformed the SEDFLC evolving method [31], where both methods have used the same initial parameters, and that the SEDFLC method did not react as well as the self-evolving FLC to the new r ( k ) = 0.065 ( 1500 k < 1800 ) region of operation, which is distant from the previous operating region.
  • It can be seen that the proposed self-evolving direct FLC controller design methodology successfully online designed the FLC controller, reaching a simple control structure, where each of the input variables ( r ( k ) and y ( k ) ) was described by six fuzzy control rules, whose membership functions are described in Figure 5c and Figure 6c, and the final fuzzy control rules for x 1 ( k ) = r ( k ) are described by:
    Rule 1 : IF r ( k ) is A 1 1 THEN q c ( k ) is 90 , Rule 2 : IF r ( k ) is A 1 2 THEN q c ( k ) is 90 , Rule 3 : IF r ( k ) is A 1 3 THEN q c ( k ) is 101.1 , Rule 4 : IF r ( k ) is A 1 4 THEN q c ( k ) is 104.9 , Rule 5 : IF r ( k ) is A 1 5 THEN q c ( k ) is 108.7 , Rule 6 : IF r ( k ) is A 1 6 THEN q c ( k ) is 110 ,
    and the final fuzzy control rules for x 2 ( k ) = C A ( k ) are described by:
    Rule 1 : IF C A ( k ) is A 2 1 THEN q c ( k ) is 97.6 , Rule 2 : IF C A ( k ) is A 2 2 THEN q c ( k ) is 95.6 , Rule 3 : IF C A ( k ) is A 2 3 THEN q c ( k ) is 96.8 , Rule 4 : IF C A ( k ) is A 2 4 THEN q c ( k ) is 99 , Rule 5 : IF C A ( k ) is A 2 5 THEN q c ( k ) is 100.1 , Rule 6 : IF C A ( k ) is A 2 6 THEN q c ( k ) is 103.5 .
Regarding the application of the proposed self-evolving method to other SISO processes, defined by (8), it is expected that the initialization and offline stage will be intuitively defined, similarly to the CSTR plant. The offline design is performed using only the range limits of the process’s variables (input and output), which is mandatory information to control any process; and the thresholds used on the criteria to add or remove control rules are also intuitively defined, being given by a percentage of the variables range, while ϵ [ 0 , 1 ] has also an intuitive meaning. The sliding window’s size T M and the consequent adaptation gain γ are parameters that must have some know-how about the process to be controlled; T M must be defined in order to allocate relevant information to obtain the estimated control error e c ( k ) and γ defined in order to have an acceptable performance in the beginning (until several control rules are created in order to cover several regions of operation). In terms of performance on other SISO processes, it is expected that the proposed method will have a better performance in industrial process with slow variations, which has happened in several industrial processes with, for example, sample times of 0.5 , 1 , 2 , and 5 s. In terms of the interpretation of the designed controller in other SISO processes, which is an important goal, due to the defined univariate control structure (2) and the defined criteria adding/removing control rules (mainly Criterion 2 that limits excessive partitioning of the input variables spaces), it is expected that the designed FLC will have a simple (interpretable) structure.

5. Conclusions

This paper proposed an online evolving methodology for the design, in an evolving way, of a direct fuzzy logic controller (FLC). The proposed methodology, in an initial offline stage, initializes the control rules using only the range information of the process’ variables; then, in an online stage (when the process is under control), the proposed evolving methodology, in an evolving way, can add new fuzzy control rules or remove them, based on the respective defined criterion. The controller structure is formed by univariate fuzzy control rules, in order to improve the understandability by human operators.
Experimental tests were performed on a simulated CSTR plant showing that the proposed methodology successfully online designed the FLC, adding new control rules when new (for the controller) regions of operations were reached and deleting control rules when some previously added control rules became obsolete.

Author Contributions

Conceptualization, methodology, formal analysis, and writing, original draft preparation: J.M.; software, J.M. and R.M.; validation and editing, J.M., R.A., and F.A.A.S. All authors read and agreed to the published version of the manuscript.

Funding

Ricardo Maia was supported by Fundação para a Ciência e a Tecnologia (FCT) under the grant SFRH/BD/44644/2008.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Precup, R.E.; Hellendoorn, H. A survey on industrial applications of fuzzy control. Comput. Ind. 2011, 62, 213–226. [Google Scholar] [CrossRef]
  2. Cara, A.B.; Pomares, H.; Rojas, I.; Lendek, Z.; Babuška, R. Online Self-Evolving Fuzzy Controller With Global Learning Capabilities. Evol. Syst. 2010, 1, 225–239. [Google Scholar] [CrossRef]
  3. Wang, L.X. A Course in Fuzzy Systems and Control; Prentice-Hall, Inc.: Upper Saddle River, NJ, USA, 1997. [Google Scholar]
  4. Mendes, J.; Araújo, R.; Sousa, P.; Apóstolo, F.; Alves, L. An Architecture for Adaptive Fuzzy Control in Industrial Environments. Comput. Ind. 2011, 62, 364–373. [Google Scholar] [CrossRef]
  5. Mendes, J.; Seco, R.; Araújo, R. Automatic Extraction of the Fuzzy Control System for Industrial Processes. In Proceedings of the 16th IEEE International Conference on Emerging Technologies and Factory Automation, Toulouse, France, 5–9 September 2011; pp. 1–8. [Google Scholar]
  6. Mendes, J.; Araújo, R.; Matias, T.; Seco, R.; Belchior, C. Automatic Extraction of the Fuzzy Control System by a Hierarchical Genetic Algorithm. Eng. Appl. Artif. Intell. 2014, 29, 70–78. [Google Scholar] [CrossRef]
  7. Mendes, J.; Araújo, R.; Matias, T.; Seco, R.; Belchior, C. Evolutionary Learning of a Fuzzy Controller for Industrial Processes. In Proceedings of the 40th Annual Conference of the IEEE Industrial Electronics Society (IECON 2014), Dallas, TX, USA, 29 October–1 November 2014; pp. 139–145. [Google Scholar]
  8. Lotfy, M.E.; Senjyu, T.; Farahat, M.A.F.; Abdel-Gawad, A.F.; Lei, L.; Datta, M. Hybrid Genetic Algorithm Fuzzy-Based Control Schemes for Small Power System with High-Penetration Wind Farms. Appl. Sci. 2018, 8, 373. [Google Scholar] [CrossRef] [Green Version]
  9. Castillo, O.; Lizárraga, E.; Soria, J.; Melin, P.; Valdez, F. New Approach Using Ant Colony Optimization With Ant Set Partition for Fuzzy Control Design Applied to the Ball and Beam System. Inf. Sci. 2015, 294, 203–215. [Google Scholar] [CrossRef]
  10. Caraveo, C.; Valdez, F.; Castillo, O. Optimization of Fuzzy Controller Design Using a New Bee Colony Algorithm With Fuzzy Dynamic Parameter Adaptation. Appl. Soft Comput. 2016, 43, 131–142. [Google Scholar] [CrossRef]
  11. Rubaai, A.; Young, P. Hardware/Software Implementation of Fuzzy-Neural-Network Self-Learning Control Methods for Brushless DC Motor Drives. IEEE Trans. Ind. Appl. 2016, 52, 414–424. [Google Scholar] [CrossRef]
  12. Leite, D.; Škrjanc, I.; Gomide, F. An overview on evolving systems and learning from stream data. Evol. Syst. 2020, 11, 181–198. [Google Scholar] [CrossRef]
  13. Škrjanc, I.; Iglesias, J.A.; Sanchis, A.; Leite, D.; Lughofer, E.; Gomide, F. Evolving fuzzy and neuro-fuzzy approaches in clustering, regression, identification, and classification: A Survey. Inf. Sci. 2019, 490, 344–368. [Google Scholar] [CrossRef]
  14. Angelov, P. A fuzzy controller with evolving structure. Inf. Sci. 2004, 161, 21–35. [Google Scholar] [CrossRef]
  15. Blazic, S.; Dovzan, D.; Skrjanc, I. Robust Evolving Fuzzy Adaptive Control With Input-domain Clustering. IFAC Proc. Vol. 2014, 47, 5387–5392. [Google Scholar] [CrossRef] [Green Version]
  16. Blažič, S.; Škrjanc, I.; Matko, D. A robust fuzzy adaptive law for evolving control systems. Evol. Syst. 2014, 5, 3–10. [Google Scholar] [CrossRef]
  17. Cara, A.; Herrera, L.; Pomares, H.; Rojas, I. New Online Self-Evolving Neuro Fuzzy controller based on the TaSe-NF model. Inf. Sci. 2013, 220, 226–243. [Google Scholar] [CrossRef]
  18. Leite, D.; Palhares, R.M.; Campos, V.C.S.; Gomide, F. Evolving Granular Fuzzy Model-Based Control of Nonlinear Dynamic Systems. IEEE Trans. Fuzzy Syst. 2015, 23, 923–938. [Google Scholar] [CrossRef]
  19. Chen, S.Y.; Liu, T.S. Intelligent tracking control of a PMLSM using self-evolving probabilistic fuzzy neural network. IET Electr. Power Appl. 2017, 11, 1043–1054. [Google Scholar] [CrossRef]
  20. Rong, H.J.; Yang, Z.X.; Wong, P.K.; Vong, C.M.; Zhao, G.S. Self-evolving fuzzy model-based controller with online structure and parameter learning for hypersonic vehicle. Aerosp. Sci. Technol. 2017, 64, 1–15. [Google Scholar] [CrossRef]
  21. Le, T.L.; Lin, C.M.; Huynh, T.T. Self-evolving type-2 fuzzy brain emotional learning control design for chaotic systems using PSO. Appl. Soft Comput. 2018, 73, 418–433. [Google Scholar] [CrossRef]
  22. Le, T.L.; Huynh, T.T.; Lin, C.M. Self-Evolving Interval Type-2 Wavelet Cerebellar Model Articulation Control Design for Uncertain Nonlinear Systems Using PSO. Int. J. Fuzzy Syst. 2019, 21, 2524–2541. [Google Scholar] [CrossRef]
  23. Le, T.L.; Huynh, T.T.; Nguyen, V.Q.; Lin, C.M.; Hong, S.K. Chaotic Synchronization Using a Self-Evolving Recurrent Interval Type-2 Petri Cerebellar Model Articulation Controller. Mathematics 2020, 8, 219. [Google Scholar] [CrossRef] [Green Version]
  24. Cara, A.B.; Pomares, H.; Rojas, I. A New Methodology for the Online Adaptation of Fuzzy Self-Structuring Controllers. IEEE Trans. Fuzzy Syst. 2011, 19, 449–464. [Google Scholar] [CrossRef]
  25. Angelov, P.; Škrjanc, I.; Blažič, S. Robust Evolving Cloud-Based Controller for a Hydraulic Plant. In Proceedings of the 2013 IEEE Conference on Evolving and Adaptive Intelligent Systems (EAIS), Singapore, 16–19 April 2013; pp. 1–8. [Google Scholar]
  26. Costa, B.; Skrjanc, I.; Blazic, S.; Angelov, P. A practical Implementation of Self-Evolving Cloud-Based Control of a Pilot Plant. In Proceedings of the IEEE International Conference on Cybernetics (CYBCO), Lausanne, Switzerland, 13–15 June 2013; pp. 7–12. [Google Scholar]
  27. Škrjanc, I.; Blažič, S.; Angelov, P. Robust Evolving Cloud-Based PID Control Adjusted by Gradient Learning Method. In Proceedings of the 2014 IEEE Conference on Evolving and Adaptive Intelligent Systems (EAIS), Linz, Austria, 2–4 June 2014; pp. 1–8. [Google Scholar]
  28. Andonovski, G.; Angelov, P.; Blažič, S.; Škrjanc, I. A practical implementation of Robust Evolving Cloud-based Controller with normalized data space for heat-exchanger plant. Appl. Soft Comput. 2016, 48, 29–38. [Google Scholar] [CrossRef] [Green Version]
  29. Yang, Z.X.; Rong, H.J.; Wong, P.K.; Angelov, P.; Yang, Z.X.; Wang, H. Self-Evolving Data Cloud-based PID-like Controller for Nonlinear Uncertain Systems. IEEE Trans. Ind. Electron. 2020. [Google Scholar] [CrossRef]
  30. Mendes, J.; Craveiro, A.; Araújo, R. Iterative Design of a Mamdani Fuzzy Controller. In Proceedings of the 13th APCA/IEEE International Conference on Automatic Control and Soft Computing (CONTROLO 2018), Ponta Delgada, Portugal, 4–6 June 2018; pp. 85–90. [Google Scholar]
  31. Mendes, J.; Souza, F.; Araújo, R. Online Evolving Fuzzy Control Design: An Application to a CSTR Plant. In Proceedings of the IEEE 15th International Conference on Industrial Informatics (INDIN 2017), Emden, Germany, 24–26 July 2017; pp. 218–225. [Google Scholar]
  32. Silva, A.M.; Caminhas, W.; Lemos, A.; Gomide, F. A Fast Learning Algorithm for Evolving Neo-Fuzzy Neuron. Appl. Soft Comput. 2014, 14 Pt B, 194–209. [Google Scholar] [CrossRef]
  33. Phan, P.A.; Gale, T.J. Direct adaptive fuzzy control with a self-structuring algorithm. Fuzzy Sets Syst. 2008, 159, 871–899. [Google Scholar] [CrossRef]
  34. Kosko, B. Fuzzy Systems as Universal Approximators. IEEE Trans. Comput. 1994, 43, 1329–1333. [Google Scholar] [CrossRef]
  35. Ying, H. General MISO Takagi-Sugeno Fuzzy Systems with Simplified Linear Rule Consequent as Universal Approximators for Control and Modeling Applications. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation, Orlando, FL, USA, 12–15 October 1997; Volume 2, pp. 1335–1340. [Google Scholar]
  36. Andonovski, G.; Mušič, G.; Blažič, S.; Škrjanc, I. Evolving model identification for process monitoring and prediction of non-linear systems. Eng. Appl. Artif. Intell. 2018, 68, 214–221. [Google Scholar] [CrossRef]
  37. Mendes, J.; Maia, R.; Araújo, R.; Gouveia, G. Intelligent Controller for Industrial Processes Applied to a Distributed Two-Tank System. In Proceedings of the 1st IEEE International Conference on Artificial Intelligence for Industries (AI4I 2018), Laguna Hills, CA, USA, 26–28 September 2018; pp. 39–43. [Google Scholar]
  38. Soleimani-B., H.; Lucas, C.; Araabi, B.N. Recursive Gath–Geva Clustering as a Basis for Evolving Neuro-Fuzzy Modeling. Evol. Syst. 2010, 1, 59–71. [Google Scholar] [CrossRef]
  39. Dovžan, D.; Logar, V.; Škrjanc, I. Implementation of an Evolving Fuzzy Model (eFuMo) in a Monitoring System for a Waste-Water Treatment Process. IEEE Trans. Fuzzy Syst. 2015, 23, 1761–1776. [Google Scholar] [CrossRef]
  40. Morningred, J.D.; Paden, B.E.; Seborg, D.E.; Mellichamp, D.A. An Adaptive Nonlinear Predictive Controller. Chem. Eng. Sci. 1992, 47, 755–762. [Google Scholar] [CrossRef]
  41. Rastegar, S.; Araújo, R.; Sadati, J.; Mendes, J. A Novel Robust Control Scheme for LTV Systems Using Output Integral Discrete-Time Synergetic Control Theory. Eur. J. Control 2017, 34, 39–48. [Google Scholar] [CrossRef]
Figure 1. Definition of membership functions for x j .
Figure 1. Definition of membership functions for x j .
Applsci 10 05836 g001
Figure 2. Initial membership functions for x j .
Figure 2. Initial membership functions for x j .
Applsci 10 05836 g002
Figure 3. Flowchart of the proposed self-evolving FLC design method.
Figure 3. Flowchart of the proposed self-evolving FLC design method.
Applsci 10 05836 g003
Figure 4. Results of the proposed self-evolving FLC design methodology on the CSTR plant. (a) Results of the proposed methodology, and of the SEDFLC method [31]. (b) Command signal of the proposed method and of the SEDFLC method [31]. (c) Evolution of the number of fuzzy control rules. (d) Evolution of Δ e c ( k ) .
Figure 4. Results of the proposed self-evolving FLC design methodology on the CSTR plant. (a) Results of the proposed methodology, and of the SEDFLC method [31]. (b) Command signal of the proposed method and of the SEDFLC method [31]. (c) Evolution of the number of fuzzy control rules. (d) Evolution of Δ e c ( k ) .
Applsci 10 05836 g004aApplsci 10 05836 g004b
Figure 5. Evolution of the antecedent and consequent parameters of x 1 = r ( t ) . (a) Evolution of the antecedent parameters of x 1 = r ( t ) . (b) Evolution of the consequent parameters of x 1 = r ( t ) . (c) Final membership functions of x 1 = r ( t ) .
Figure 5. Evolution of the antecedent and consequent parameters of x 1 = r ( t ) . (a) Evolution of the antecedent parameters of x 1 = r ( t ) . (b) Evolution of the consequent parameters of x 1 = r ( t ) . (c) Final membership functions of x 1 = r ( t ) .
Applsci 10 05836 g005aApplsci 10 05836 g005b
Figure 6. Evolution of the antecedent and consequent parameters of x 2 = y ( t ) . (a) Evolution of the antecedent parameters of x 2 = y ( t ) . (b) Evolution of the consequent parameters of x 2 = y ( t ) . (c) Final membership functions of x 2 = y ( t ) .
Figure 6. Evolution of the antecedent and consequent parameters of x 2 = y ( t ) . (a) Evolution of the antecedent parameters of x 2 = y ( t ) . (b) Evolution of the consequent parameters of x 2 = y ( t ) . (c) Final membership functions of x 2 = y ( t ) .
Applsci 10 05836 g006aApplsci 10 05836 g006b
Table 1. CSTR variables [40,41].
Table 1. CSTR variables [40,41].
Variable-Description [31]Value
C A -Product concentration 0.1 ( mol / L )
T-Reactor temperature 438.54 ( K )
q c -Coolant flow rate 103.41 ( L / m i n )
q-Process flow rate 100 ( L / min )
C A 0 -Feed concentration 1 ( mol / L )
T o -Feed temperature 350 ( K )
T c 0 -Inlet coolant temperature 350 ( K )
V-CSTR volume 100 ( l )
h A -Heat transfer term 7 × 10 5 ( cal / min / K )
k 0 -Reaction rate constant 7.2 × 10 10 ( min 1 )
E / R -Activation energy term 1 × 10 4 ( K )
Δ H -Heat of reaction 2 × 10 5 ( cal / mol )
ρ c 1 , ρ c 2 -Liquid densities 1 × 10 3 ( g / L )
C p , C p c -Specific heats 1 ( cal / g / K )
T-Sampling period 0.1 ( min )
d c -Time delay 5 T = 0.5 ( min )

Share and Cite

MDPI and ACS Style

Mendes, J.; Maia, R.; Araújo, R.; Souza, F.A.A. Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules. Appl. Sci. 2020, 10, 5836. https://doi.org/10.3390/app10175836

AMA Style

Mendes J, Maia R, Araújo R, Souza FAA. Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules. Applied Sciences. 2020; 10(17):5836. https://doi.org/10.3390/app10175836

Chicago/Turabian Style

Mendes, Jérôme, Ricardo Maia, Rui Araújo, and Francisco A. A. Souza. 2020. "Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules" Applied Sciences 10, no. 17: 5836. https://doi.org/10.3390/app10175836

APA Style

Mendes, J., Maia, R., Araújo, R., & Souza, F. A. A. (2020). Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules. Applied Sciences, 10(17), 5836. https://doi.org/10.3390/app10175836

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop