Keywords

1 Introduction

One of the most significant problems today technology is facing is the description of complex systems [1,2,3,4]. In this study, the systems’ non-linearity issue is analyzed proposing a method of transforming this into linear system using an approximate technique based on intelligent control. Recently, several strategies have been studied. Some of them are presented in [5,6,7,8]. Intelligent control faces the processing control problems in a different way than the existing conventional techniques do [9]. The knowledge and the experience of the person-operator is the base of this method and it does not require specialized learning of the controlled process. Consequently, intelligent control can be considered as the first control technique without standard indicating a promising future. Generally, intelligent systems use a collection of experienced and non-experienced logical facts and other types of knowledge, in combination with other methods in order to draw conclusions with respect to the required control acts for the controlled process. One of the most significant advantages of this control method is their ability to draw conclusions from insufficient and uncertain data. The main aims of the intelligent control use are; (1) Energy saving, (2) Increase the productivity, (3) Reduction of production cost and (4) Better performance of the control process.

Intelligent controllers consist of the fuzzy logic controllers (FLCs) and the neural networks (NNs) [3]. The FLCs are based on the fuzzy logic theory [8, 10] and the NNs on the Trainee Artificial Neural Networks. Herein, an approach of non-linear systems via FLCs is analyzed and proposed. The purpose of this is to enrich or go beyond the standard models such the non-conventional computing operates.

2 Fuzzy Systems

Fuzzy systems begun to grow in 1965 by Zadeh and later, their use started into real control problems. Their goal is to describe effectively the fuzziness of the real world having the fuzzy logic and the fuzzy sets as their “tools.” Fuzzy sets are generalization of the classic crisp sets providing a way of a qualitative description of the sizes where the fuzziness and the indeterminacy are by definition. The fuzzy sets theory handles these values as linguistic variables giving them linguistic values. Each value is described by a fuzzy set with a specific meaning. Each input signal is measured and depending on the crisp value of the signals, it can be expressed in terms of the degree of membership (μ) of the fuzzy sets [11]. Fuzzy logic is an effort for modeling the human’s way of thinking, providing mechanisms of approximate reasoning and decision making, as the human brain tends to perform similar actions instead of accurate reasoning based on abundance data. It can be understandable that the simplicity and the effectiveness of fuzzy systems have established them as one of the most promising control methods. So, several applications since ‘80 until today use fuzzy systems. The main subjects are the image and the signal processing, the identification of patterns, telecommunication systems, the economic theory, sociology and bio-engineering systems. Fuzzy logic controllers are considered non-linear intelligent controllers. They can be very accurate with high performance, using the experience of the system operator. The design of FLC consists of three basic steps: (1) the determination of the inputs, (2) the setting up of the rules and (3) the defuzzification which is a designing method in order to convert the rules into a crisp output signal.

2.1 Fuzzy Rules and Membership Functions

The fuzzy rules are depicted through if/then rules. These rules are conditional statements and are described by the below equation.

$$ \mathrm{IF}\ \mathrm{x}\ \mathrm{is}\ \mathrm{A}\ \mathrm{THEN}\ \mathrm{y}\ \mathrm{is}\ \mathrm{B} $$
(1)

where A and B are fuzzy sets of x and y which are defined from the X and Y spaces. The phases “x is A” and “y is B” are fuzzy propositions. On the left side of the rule, the “IF” is called pre-conditional part (or premise part or IF part) and includes the assumption of the rule. On the right side, the phrase “THEN …” is called the consequent part (or THEN part) and includes the conclusion of the rule.

The membership of the x element into the fuzzy set A is given by the membership function μA(x). This function gets values between 0 and 1. A fuzzy set is thoroughly described by the membership functions. The four most used types are the triangular, the trapezoidal, the Gaussian and the generalized Bell.

2.2 Fuzzy Models

The need for the modeling process to be automated with the help of numeric data used for trainee has emerged. Recently, data-driven techniques have attracted the worldwide interest in order to create more flexible models. There are the intelligent systems among them. As mentioned earlier, these systems consist of the fuzzy and neural systems. In this study, the first type is presented. Moreover, there are also two methods for the fuzzy systems, named Takagi-Sugeno and Mamdani method. Of course, there are systems where a combination of these methods is used [12]. A comparative study between the two methods is presented in [2]. Takagi-Sugeno models are considered as a powerful “tool” for the engineering science in order to model complex systems. They provide effective and computer attractive solutions in a wide range of problems, indicating a multiple model structure which is capable of approaching non-linear dynamic systems. An implementation of this technique is given through an example in [13].

2.3 Fuzzy Models Based on Takagi-Sugeno

As mentioned above, one of the most used fuzzy method is the Takagi-Sugeno (and Kang) model, known as TS (or TSK) fuzzy model, proposed by Takagi, Sugeno (and Kang later). Their aim was to develop an approximated system for fuzzy rules development from a known in advance input-output data set. A such model is described by the following equation.

$$ \mathrm{IF}\ \mathrm{x}\ \mathrm{is}\ \mathrm{A}\ \mathrm{A}\mathrm{ND}\ \mathrm{y}\ \mathrm{is}\ \mathrm{B}\ \mathrm{THEN}\ \mathrm{z}=\mathrm{f}\left(\mathrm{x},\mathrm{y}\right) $$
(2)

where A and B are the fuzzy sets in premise part while the z = f(x,y) is a crispy function in consequent part. Regularly, the f(x,y) is a polynomial, but it can be also any other function describing appropriate the model’s output. When the f is a constant function, then the TS model is called zero-order TS model and when it is a first degree polynomial, the arising fuzzy system is called first-order TS fuzzy model. In contrast with other fuzzy models where they need a defuzzification system in order to convert the fuzzy output to crispy value, the TS fuzzy model uses the weighted average method avoiding the time consuming defuzzification process. This leads to the TS model being a particularly interesting and popular choice for fuzzy modeling based on samples data. The aim of this study is to present the solutions for non-linear dynamic systems via TS fuzzy models. Two examples of non-linear equations are given, which can be solved following the fuzzy model TS. Their base is the IF-THEN rules. The fuzzy model construction is the main and the most significant process in the approach of the non-linear system. Generally, there are two techniques for this construction, as illustrated in Fig. 1, the first one is called “Identification using input-output data” and the second one is the “Physical model,” where the equations of system is a mandatory requirement to extract the fuzzy model.

Fig. 1
figure 1

Fuzzy controller construction

The process in the first technique consists of two parts. Firstly, it is the identification of the structure part and then the identification of the parameters. This technique is suitable for systems for which it is difficult to extract analytical equations models. On the other hand, non-linear dynamics models for mechanical mainly systems can be represented by methods such as Lagrange and Newton-Euler, which are in line with the second technique. This technique uses the expressions “non-linearity sector” and “local estimators” or a combination of them. The first expression is based on the following idea: Considering a simple non-linear system, dx/dt = f(x(t)), where f(0) = 0. The goal is to be found a relation such that: dx/dt = f(x(t)) ε[α1 α2]x(t). The next figure (Fig. 2) illustrates this approach. This method certifies the fuzzy model construction. However, in some cases it is difficult for such relations to be extracted. In these cases, a “local non-linearity sector” is considered. This is a very common approach due to the fact that the variables of the physical world are always within boundaries (Fig. 2b).

Fig. 2
figure 2

Graphical representation of the expression of “non-linearity sector” (a) global and (b) local type

3 First Example

Subsequently, a first example of linearization is given and solved through Takagi-Sugeno fuzzy model. In the first stage, they are referred the problem’s data and then the way of solution via Matlab is following. The non-linear equation system, which is a simple mathematical problem, is given:

$$ \left(\genfrac{}{}{0pt}{}{\frac{dx_1}{dt}}{\frac{dx_2}{dt}}\right)=\left(\genfrac{}{}{0pt}{}{-x_{1(t)}+{x}_{1(t)}{x^2}_{2(t)}}{-x_{2(t)}+\left(3+{x}_{2(t)}\right){x^3}_{1(t)}}\right) $$
(3)

where x1(t) ε[−1,1] and x2(t) ε[−1,1]. The above equation can be written as:

$$ \frac{dx}{dt}=\left(\begin{array}{cc}-1& {x}_{1(t)}{x^2}_{2(t)}\\ {}\left({3+x}_{2(t)}\right){x^2}_{1(t)}& -1\end{array}\right){x}_{(t)} $$
(4)

t is defined that z1(t) = x1(t) x2 2(t) and z2(t) = (3 + x2(t)) x2 1(t). The next step includes the minimum and the maximum calculations of the zi functions. These are achieved through a code, developed in Matlab’s environment. It is given that Mi and Ni (i = 1,2) are the membership functions of zi for the minimum and the maximum values. The arising graphical depictions of these are illustrated in Fig. 3.

Fig. 3
figure 3

Membership functions of (a) Mi and (b) Ni

Considering the membership functions as “positive,” “negative,” “big” and “small” respectively and based on the four rules for every possible couple, M1-N1, M1-N2, M2-N1, M2-N2, the desired fuzzy model is extracted (i.e. if z1 “positive” (M1 = 1 and M2 = 0) and z2 “big” (N1 = 1 and N2 = 0) then dx/dt = A1x). The output value is given by the following equation:

$$ \frac{\boldsymbol{dx}}{\boldsymbol{dt}}=\sum_{i=1}^4{h}_{i\left(z(t)\right)}{\boldsymbol{A}}_{\boldsymbol{i}}{\boldsymbol{x}}_{\left(\boldsymbol{t}\right)} $$
(5)

where h1(z(t)) = M1(z1(t)) × N1(z2(t)), h2(z(t)) = M1(z1(t)) × N2(z2(t)), h3(z(t)) = M2(z1(t)) × N1(z2(t)), h4(z(t)) = M2(z1(t)) × N2(z2(t)).

For the above, we consider the minimum of these elements in fuzzy logic. The efficacy of the fuzzy model was investigated by setting up various values for the variables x1 and x2 and then making a comparison with the “real” solutions for dx1/dt and dx2/dt. Specifically, setting up x1 = 0.9 and x2 = 0.9 in the original system, the arising results are dx1/dt = −0.2439 and dx2/dt = 1.9431, while running the program the results are given as dx1/dt = −0.3838 and dx2/dt = 1.7207. For these values, some significant results are depicted (Fig. 4).

Fig. 4
figure 4

Arising results through Matlab using fuzzy model approach: (a) minimum and maximum values of zi, (b) membership functions values, (c) Ai arrays, (d) intermediate results related to hi and (e) final results

In Tables 1 and 2 and Figs. 5 and 6, the efficiency of the proposed linearization system through fuzzy model compared to real responses is illustrated. Specifically, at first stage, the x1 variable was set as steady with value 0.5 and the second variable, x2 was set with various values. Subsequently, from the arising results, using the square error method in order to investigate the efficiency of the fuzzy model approach, the imported errors are 0.0392 and 0.0736 for the two outputs dx1/dt and dx2/dt, respectively.

Table 1 Results for steady x1 and various x2 for both actual and TS fuzzy model used
Table 2 Results for steady x2 and various x1 for both actual and TS fuzzy model used
Fig. 5
figure 5

Graphical depiction of the arising results for steady x1 and various x2

Fig. 6
figure 6

Graphical depiction of the arising results for steady x2 and various x1

Similarly to the previous case with steady x1 and various x2, herein, it was investigated the efficiency of the TS fuzzy model changing the x1 variable and keeping the x2 steady. The arising results are illustrated in the below table and figure. It is mentioned that using the square error method, the imported errors for the two outputs dx1/dt and dx2/dt are 0.0089 and 0.0977 respectively.

4 Second Example

For a better understanding, a second example is following. Firstly, it is given the below non-linear equations system. In contrary with the first example, these equations simulate a physical system. More specifically the motion of an inverted pendulum [14] is governed by the below set of equations.

$$ \frac{dx_1}{dt}={x}_{2(t)} $$
(6)
$$ \frac{dx_2}{dt}=\frac{gsin\left({x}_{1(t)}\right)-\dfrac{\alpha ml{x^2}_{2(t)}\mathit{\sin}\left(2{x}_{1(t)}\right)}{2}-\alpha cos\left({x}_{1(t)}\right){u}_{(t)}}{\dfrac{4l}{3}-\alpha ml co{s}^2\left({x}_{1(t)}\right)} $$
(7)

where x1(t) is the angle of the pendulum from the vertical and x2(t) is the angular speed. Moreover, g = 9.8 m/s2 the gravity standard, m is the maze of the pendulum, M the overall maze, 2 l the length of the pendulum and u the force. Also, it is given that α = 1/(m + M) and x1(t) ε(−π/2,π/2) and x2(t) ε[−α,α]. The following variables are defined:

$$ {z}_{1(t)}=\frac{1}{\dfrac{4l}{3}- amlco{s}^2\left({x}_{1(t)}\right)} $$
(8)
$$ {z}_{2(t)}=\mathit{\sin}\left({x}_{1(t)}\right) $$
(9)
$$ {z}_{3(t)}={x}_{2(t)}\mathit{\sin}\left({2x}_{1(t)}\right) $$
(10)
$$ {z}_{4(t)}=\mathit{\cos}\left({x}_{1(t)}\right) $$
(11)

From the above equations, the arising system of equations is:

$$ \left(\begin{array}{c}\frac{d{x}_1}{dt}\\ {}\frac{d{x}_2}{dt}\end{array}\right)=\left(\begin{array}{cc}0& 1\\ {}g{z}_1{z}_2& -\frac{aml}{2}{z}_1{z}_3\end{array}\right)\left(\begin{array}{c}{x}_1\\ {}{x}_2\end{array}\right)+\left(\begin{array}{c}0\\ {}-a{z}_1{z}_4\end{array}\right)\left({u}_1\kern0.5em {u}_2\right) $$
(12)

For x1(t) = −π/2 and x1(t) = π/2 the system becomes uncontrollable. For this reason, it is considered that x1(t) ε[−880,880]. The first step includes the calculation of the minimum and maximum values of the zi. In contrast with the previous example, herein the shape of the z2 membership function defined as generalized bell which depicted in Fig. 7. In the right of Fig. 7 illustrates the local estimators with b1*x1 (b1 = 1) and b2*x2 (b2 = 2/p) as linearization sectors of z2, according to the theory. The rest of the membership functions have the same shape with the example I. It is given that Ei (i = 1 “positive”, i = 2 “negative”), Mi (i = 1 “zero,” i = 2 “not zero”), Ni (i = 1 “positive”, i = 2 “negative”) and Si (i = 1 “big”, i = 2 “small”) are the membership functions of the zi (i = 1,2,3,4) for the minimum and maximum values.

Fig. 7
figure 7

Membership functions of M1(z2(t)) and M2(z2(t)) on the left. Function z2 and its linearization sectors on the right

Following, the arrays Aijkl and Bijkl are calculated such that dx/dt = Ax + Bu. The configuration of these arrays is based on the above consideration of 16 rules: A combination of the membership functions Ei-Mj-Nk-Sl (from 1111 to 2222) based on the IF-THEN logic (i.e. if z1 “positive” (E1 = 1 and E2 = 0) and z2 “not zero” (M1 = 0 and M2 = 1) and z3 “negative” (N1 = 0 and N2 = 1) and z4 “big” (S1 = 1 and S2 = 0) then dx/dt = A1221x + B1221u, and the arrays A1221 και B1221 are extracted). Then, calculating all the Aijkl and Bijkl arrays with the same way, the desired fuzzy model is extracted. Finally, the output value is given by the equations below:

$$ \frac{\boldsymbol{dx}}{\boldsymbol{dt}}=\sum_{p=1}^{16}{h}_{p\left(z(t)\right)}\left({\boldsymbol{A}}_{\boldsymbol{p}}{\boldsymbol{x}}_{\left(\boldsymbol{t}\right)}+{\boldsymbol{B}}_{\boldsymbol{p}}{\boldsymbol{u}}_{\left(\boldsymbol{t}\right)}\right) $$
(13)
$$ p=l+2\left(k-1\right)+4\left(j-1\right)+8\left(i-1\right) $$
(14)
$$ {h}_{p\left(z(t)\right)}={E}_{i({z}_{1(t)})}\times {M}_{j({z}_{2(t)})}\times {N}_{k({z}_{3(t)})}\times {S}_{l({z}_{4(t)})} $$
(15)

It is mentioned that for the above multiplication of two elements, it is the minimum of these element in fuzzy logic. Similarly to example I, the efficacy of the fuzzy model was investigated setting up various values for the variables x1 and x2 and then making a comparison with the “actual” solutions for dx1/dt and dx2/dt. More specifically, setting up x1 = 0.9, x2 = 0.1, m = 1, M = 4, l = 1, u1 = 1 and u2 = 0 in the original system, the arising results are dx1/dt = 0.1 and dx2/dt = 6.1109, while running the program (code in Matlab) through fuzzy model the results are given as dx1/dt = 0.1 and dx2/dt = 5.9279. For these values, in the above figures (Figs. 8 and 9), some significant results are illustrated.

Fig. 8
figure 8

Arising results through Matlab: (a) minimum and maximum values of zi, (b) membership functions values and (c) final results

Fig. 9
figure 9

Results for the 16 Aijkl and Bijkl arrays

In Tables 3 and 4 and Figs. 10 and 11, the efficiency of the proposed linearization system through fuzzy model compared to real responses for the pendulum example is illustrated. Initially, the x1 variable was set as steady with value 570 and the second variable x2 was set with various values. Subsequently, using the square error method in order to investigate the efficiency of the fuzzy model approach, the imported errors are 0.0 and 0.0273 for the two outputs dx1/dt and dx2/dt, respectively. It is noted that the rest of the parameters remained steady (m = 1, M = 4, l = 1 and u = [1 0]).

Table 3 Results for steady x1 and various x2 for both actual and TS fuzzy model used
Table 4 Results for steady x2 and various x1 for both actual and TS fuzzy model used
Fig. 10
figure 10

Graphical depiction of the arising results for steady x1 and various x2

Fig. 11
figure 11

Graphical depiction of the arising results for steady x2 and various x1

As in the previous case with steady x1 and various x2, herein, it was investigated the efficiency of the TS fuzzy model changing the x1 variable and keeping the x2 steady (=0.1). The arising results are illustrated in the below table and figure. It is mentioned that using the square error method, the imported errors for the two outputs dx1/dt and dx2/dt are 0.0 and 0.125 respectively.

5 Conclusion

In the above study, the fuzzy model approach for non-linear systems was investigated. More specifically, the Takagi-Sugeno technique was used in order to evaluate the efficiency of the proposed linearization method. For a better validation of the under-study scheme, two examples were examined using the square error method as an indicator of the performance. Both of them showed that the imported error in the solutions had a minimum value indicating probably that this method is useful for applications where the time consuming and complexity are more significant than the accuracy.