In this paper, the Multi-objective Genetic Algorithm (MOGA) is used to obtain the Pareto frontiers of conflicting objective functions for the fuzzy-Proportional-Integral-Derivative (fuzzy-PID) controllers. The ball–beam and inverted pendulum fourth order nonlinear systems are regarded as nonlinear benchmarks. The considered objective functions for the ball–beam system are the distance error of the ball, the angle error of the beam, and the control effort. For the inverted pendulum system, the objective functions are the distance error of the cart, the angle error of the pendulum, and the control effort, which must be minimized simultaneously. The Pareto fronts are compared with those obtained by Multi-objective Particle Swarm Optimization (MOPSO). Four points are chosen from nondominated solutions of the obtained Pareto fronts based on the three conflicting objective functions and used for illustration of the state variables of the controlled systems. Obtained results elucidate the efficiency of the proposed controller in order to control nonlinear systems.
Fuzzy-PID controller ; Multi-objective optimization ; Genetic algorithm ; Particle swarm optimization ; Ball–beam system ; Inverted pendulum system
Zadeh originally proposed the fuzzy logic and the fuzzy set theory [1] and [2] . Fuzzy systems are knowledge-based or rule-based systems formed via human knowledge and heuristics. They have been applied for a wide range of researching fields, such as control, communication, medicine, management, business, psychology, etc. The most significant applications and studies about fuzzy systems have concentrated on the control area [3] , [4] , [5] , [6] , [7] , [8] , [9] and [10] . The development of fuzzy-PID controllers for various engineering problems has been a major research activity in recent years. Duan et al. proposed an inherent saturation of the fuzzy-PID controller revealed due to the finite fuzzy rules [11] . Karasakal et al. applied fuzzy PID controllers based on an online tuning method and rule weighing in [12] . Boubertakh et al. proposed new auto-tuning fuzzy PD and PI controllers using reinforcement-learning algorithm for single-input single-output and two-input two-output systems [13] . In this way, the heuristic parameters of fuzzy-PID controllers have to be determined via an appropriate approach. A very effective way to choose these parameters is the use of evolutionary algorithms [14] , such as the Genetic Algorithm (GA) [15] and particle swarm optimization (PSO) [16] , etc. In [17] , a constrained optimization of a simple fuzzy-PID system was designed for the online improvement of PID control performance during productive control runs. Oh et al. developed a design methodology for a fuzzy PD cascade controller for a ball–beam system using particle swarm optimization (PSO) [18] . Mahmoodabadi et al. designed fuzzy controllers for nonlinear systems using MOPSO based on the Lorenz dominance method [19] . Sahib proposed a type of controller consisting of proportional, integral, derivative, and second order derivative terms optimized using the PSO algorithm for an automatic voltage regulator system [20] .
In this paper, a novel optimal fuzzy-PID control strategy is proposed and implemented on two nonlinear benchmark systems. Governing equations for ball–beam and inverted pendulum systems transformed to the state-space forms. Two fuzzy inference engines are utilized. Due to having some different objective functions, MOGA and MOPSO are applied and three and two dimensional Pareto front figures are shown. The conflicting objective functions for ball–beam system are the distance error of the ball, the angle error of the beam, and the control effort. For inverted pendulum system, those are the distance error of the cart, the angle error of the pendulum, and the control effort. The simulation results corresponding to the optimum points demonstrate that the designed controller has the superior performance in comparison with reported results in published literature.
The rest of this paper is organized as follows. Section 2 gives a brief description on the fuzzy-PID controller. Section 3 presents the multi-objective optimization genetic algorithm. In Section 4 , the dynamic models of the ball–beam and inverted pendulum systems are recalled. Furthermore, their optimal fuzzy-PID controllers, simulation results and comparison studies to verify the capability of the proposed controller are shown in this section. Finally, Section 5 concludes the paper.
The PID controller has a long history in the control engineering and is accepted in a lot of real applications due to the simple structure. Hence, this controller is widely used still in so many industrial applications despite offering several new techniques. Consider a fourth order nonlinear system with Equation (1) .
|
|
( 1) |
where f1 , f2 , b1 , and b2 are nonlinear functions and F is the control input. The state-space formulation of the system can be written as Equation (2) .
|
|
|
( 2) |
|
|
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x=\left[x_1\mbox{},\mbox{ }x_2\mbox{},\mbox{ }x_3\mbox{},\mbox{ }x_4\mbox{},\mbox{ }x_5\mbox{},\mbox{ }x_6\right]=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[\int x,\mbox{ }x,\mbox{ }\dot{x},\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\dot{\theta }\right]
is the state vector with desired value Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x^d=\left[x_1^d\mbox{},\mbox{ }x_2^d\mbox{},\mbox{ }x_3^d\mbox{},\mbox{ }x_4^d\mbox{},\mbox{ }x_5^d\mbox{},\mbox{ }x_6^d\right]=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[\int x^d\mbox{},\mbox{ }x^d\mbox{},\mbox{ }{\dot{x}}^d\mbox{},\mbox{ }\int {\theta }^d\mbox{},\mbox{ }{\theta }^d\mbox{},\mbox{ }{\dot{\theta }}^d\right]
. The PID controller with inputs Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle e_x\mbox{ }\left(t\right)=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): x-x^d
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle e_{\theta }\mbox{ }\left(t\right)=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \theta -{\theta }^d
and output Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle F_{pid}\mbox{ }\left(t\right)} is commonly defined as Equation (3) .
|
( 3) |
where Kp , Ki , and Kd are the proportional, integral, and derivative gains, respectively. The adjustment and determination of these design parameters are key issues to design PID controllers. Hence, the fuzzy logic approach is applied to calculate the gains adaptively.
|
( 4) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle F_{Fuzzy\mbox{ }pid}}
is the fuzzy-PID control action. Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle f_i\mbox{},\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6} are the fuzzy variables with inputs Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \int xdt,\mbox{ }x,\mbox{ }\frac{dx}{dt},\mbox{ }\int \theta dt,\mbox{ }\theta \mbox{ }\mbox{and}\mbox{ }\frac{d\theta }{dt}} , respectively, and should be obtained by Single Input Fuzzy Inference Motor (SIFIM). Furthermore, in Equation (4) , the variables Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {\overset{\mbox{ˆ}}{K}}_{ix}\mbox{},\mbox{ }{\overset{\mbox{ˆ}}{K}}_{px}\mbox{},\mbox{ }{\overset{\mbox{ˆ}}{K}}_{dx}\mbox{},\mbox{ }{\overset{\mbox{ˆ}}{K}}_{i\theta }\mbox{},\mbox{ }{\overset{\mbox{ˆ}}{K}}_{p\theta }\mbox{ }\mbox{and}\mbox{ }{\overset{\mbox{ˆ}}{K}}_{d\theta }} are calculated by Equation (5) .
|
|
|
|
|
|
( 5) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \Delta W_i\mbox{},\mbox{ }i=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): 1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6
are the fuzzy variables with inputs Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \int xdt,\mbox{ }x,\mbox{ }\frac{dx}{dt},\mbox{ }\int \theta dt,\mbox{ }\theta \mbox{ }\mbox{and}\mbox{ }\frac{d\theta }{dt}} , respectively, and should be obtained by Preferrer Fuzzy Inference Motor (PFIM). Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{ix}^b\mbox{},\mbox{ }K_x^b\mbox{},\mbox{ }K_{dx}^b\mbox{},\mbox{ }K_{i\theta }^b\mbox{},\mbox{ }K_{\theta }^b\mbox{ }\mbox{and}\mbox{ }K_{d\theta }^b} are the base variables and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{ix}^r\mbox{},\mbox{ }K_x^r\mbox{},\mbox{ }K_{dx}^r\mbox{},\mbox{ }K_{i\theta }^r\mbox{},\mbox{ }K_{\theta }^r\mbox{ }\mbox{and}\mbox{ }K_{d\theta }^r} are the regulation variables. The base and regulation variables can be obtained by the try and error process. However, one of the best solutions to find these to have an optimal controller is the use of optimization approaches such as evolutionary methods, such as the genetic algorithm.
The genetic algorithm is an approach for solving optimization problems based on biological evolution via modification of a population of individual solutions, repeatedly. At each level, individuals are chosen randomly from the current population (as parents) then employed to produce the children for the next generation. In this paper, toolbox optimization of MATLAB (R2012a) with the following operators is implemented for optimal design of the fuzzy-PID controllers.
Increasing the population size enables the genetic algorithm to search more points and thereby obtain a better result. However, the larger the population size, the longer it takes for genetic algorithm to compute each generation.
Crossover options specify how the genetic algorithm combines two individuals, or parents, to form a crossover child for the next generation.
The crossover fraction specifies the fraction of each population, other than elite children, that is made up of crossover children.
Selection options specify how the genetic algorithm chooses parents for the next generation.
Migration options specify how individuals move between subpopulations. Migration occurs if you set population size to be a vector of length greater than 1. When migration occurs, the best individuals from one subpopulation replace the worst individuals in another subpopulation. Individuals that migrate from one subpopulation to another are copied. They are not removed from the source subpopulation.
Stopping criteria determine what causes the algorithm to terminate.
In this paper, the configuration of the genetic algorithm is set as the values given in Table 1 .
Parameter | Value |
---|---|
Crossover fraction | 0.8 |
Population size | 200 |
Selection function | Tournament |
Mutation function | Constraint-dependent |
Crossover function | Intermediate |
Migration direction | Forward |
Migration fraction | 0.2 |
Migration interval | 20 |
Stopping criteria | Maximum generation 200 |
Furthermore, the multi-objective optimization of the proposed fuzzy-PID controller would be done with respect to twelve design variables and three objective functions. The base values [Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{ix}^b}
,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{px}^b} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{dx}^b} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{i\theta }^b} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{p\theta }^b} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{d\theta }^b} ] and regulation values [Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{ix}^r} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{px}^r} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{dx}^r} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{i\theta }^r} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{p\theta }^r} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle K_{d\theta }^r} ] are the design variables. For ball–beam system, the distance error of the ball, the angle error of the beam and the control effort, and for inverted pendulum system, the distance error of the cart, the angle error of the pendulum and the control effort, are the objective functions. In other words, for both systems, the objective functions can be written as Equations (6) , (7) and (8) .
|
( 6) |
|
( 7) |
|
( 8) |
In this section, the optimal fuzzy-PID controller would be designed for the ball–beam and the inverted pendulum systems.
In the following, we consider the ball–beam system depicted in Fig. 1 . The state vector is the system observable state vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x=\left[x_1\mbox{},\mbox{ }x_2\mbox{},\mbox{ }x_3\mbox{},\mbox{ }x_4\mbox{},\mbox{ }x_5\mbox{},\mbox{ }x_6\right]=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[\int x,\mbox{ }x,\mbox{ }\dot{x},\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\dot{\theta }\right]
, including, respectively, the integral of the ball position, the ball position, the ball velocity, integral of the beam angle, the beam angle and the beam angular velocity. The dynamic equations of this system in the state-space form are expressed by Equation (9) .
|
|
|
|
|
|
( 9) |
where M is the ball mass, g is the gravity acceleration, J1 is the ball inertia moment, and J2 is the beam inertia moment. The manipulated variable F is related with the torque τ by Equation (10) .
|
( 10) |
where F is the control input and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle F=F_{Fuzzy\mbox{ }pid}}
. The system parameters used for simulation are M = 0.05 kg , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle J_1=2\times {10}^{-6}\mbox{ }kgm^2} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle J_2=0.02\mbox{ }kgm^2} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle g=9.81\mbox{ }\frac{m}{s^2}} , and B = 0.7143.
|
Fig. 1. Structure of the ball–beam system. |
The initial and desired values are regarded as Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x\left(0\right)=\left[x_1\mbox{ }\left(0\right),\mbox{ }x_2\mbox{ }\left(0\right),\mbox{ }x_3\mbox{ }\left(0\right),\mbox{ }x_4\mbox{ }\left(0\right),\mbox{ }x_5\mbox{ }\left(0\right),\mbox{ }x_6\mbox{ }\left(0\right)\right]=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[0,\mbox{ }0.5,\mbox{ }0,\mbox{ }0,\mbox{ }-\right. Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left. \mbox{ }30\mbox{°},\mbox{ }0\right]
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x^d=\left[x_1^d\mbox{},\mbox{ }x_2^d\mbox{},\mbox{ }x_3^d\mbox{},\mbox{ }x_4^d\mbox{},\mbox{ }x_5^d\mbox{},\mbox{ }x_6^d\right]=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[0,\mbox{ }0,\mbox{ }0,\mbox{ }0,\mbox{ }0,\mbox{ }0\right]
, respectively.
The block diagram for the stabilization control of the ball–beam system shown in Fig. 2 illustrates that each of the state variables Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \int x,\mbox{ }x,\mbox{ }v,\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\omega }
relevant to the ball–beam system is fed back and compared with its desired value. Since all of the desired values in the stabilization control are zeros, the variables are reversely inputted into the Norm block for normalization of the state variables by their scaling factors. The scaling factors and the normalized form of the outputs are given in Table 2 .
|
Fig. 2. The block diagram of fuzzy-PID control for the ball–beam system. |
Variable | Scaling factor | Normalized form | |||
---|---|---|---|---|---|
|
1 | X1 | |||
x | 1 | X2 | |||
|
1 | X3 | |||
|
1 | X4 | |||
θ | 45° | X5 | |||
|
100°/s | X6 |
For ball–beam system, the Single Input Fuzzy Inference Motor (SIFIM) has only one input, and for each normalized variable (Norm block output) an SIFIM is defined. Since there are 6 Norm block output items, 6 SIFIMs would be created. For each input item Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{};\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6}
, there is an SIFIM-i (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle f_i\mbox{};\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6} ). The Preferrer Fuzzy Inference Motor (PFIM) represents the control priority order of each Norm block output. The PFIM blocks for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{};\mbox{ }i=1,\mbox{ }2,\mbox{ }3} take the absolute values of the input items X2 and X5 as the antecedent variables, and the PFIM blocks for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{};\mbox{ }i=4,\mbox{ }5,\mbox{ }6} take the absolute value of the input item X5 as their antecedent variable. The membership functions of SIFIMs are shown in Table 3 and Fig. 3 , and their rules are mentioned in Table 4 and Table 5 .
If | Then |
---|---|
Xi ≤ −1 | VBi = 1POi = 0ZBi = 0 |
−1 ≤ Xi ≤ 0 | VBi = − Xi'POi = Xi +1ZBi = 0 |
0 ≤ Xi ≤ 1 | VBi = 0Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle PO_i=-X_i+1}
ZBi = Xi |
1 ≤ Xi | VBi = 0POi = 0ZBi = 1 |
|
Fig. 3. Membership functions of SIFIMs for the ball–beam system. |
If Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{ }\left(i=1,\mbox{ }2,\mbox{ }3\right)} | Then | |||
---|---|---|---|---|
VBi |
| |||
POi |
| |||
ZBi |
|
If Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{ }\left(i=4,\mbox{ }5,\mbox{ }6\right)} | Then | |||
---|---|---|---|---|
VBi |
| |||
POi |
| |||
ZBi |
|
The output of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle f_i\mbox{},\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6}
for the ball and beam could be calculated using Equations (11) and (12) .
|
( 11) |
|
( 12) |
where variables VB , PO , and ZB are given in Table 3 and Fig. 3 . The membership functions of PFIMs are illustrated in Table 6 and Fig. 4 , and their rules are shown in Table 7 and Table 8 .
If | Then | |||
---|---|---|---|---|
|
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HS_1=-2\vert X_2\vert +1}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_1=2\vert X_2\vert } HB1 = 0 | |||
|
HS1 = 0Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_1=-2\vert X_2\vert +2}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HB_1=2\vert X_2\vert -1} | |||
|
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HS_3=-2\vert X_5\vert +1}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_3=-2\vert X_5\vert } HB3 = 0 | |||
|
HS3 = 0Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_3=-2\vert X_5\vert +2}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HB_3=2\vert X_5\vert -1} |
|
Fig. 4. Membership functions of PFIM for the ball–beam system. |
If | Then | ||||
---|---|---|---|---|---|
|
HS1 | W1 = 0 | |||
|
HS3 | ||||
|
HM1 | W2 = 0.5 | |||
|
HS3 | ||||
|
HB1 | W3 = 1 | |||
|
HS3 | ||||
|
HS1 | W4 = 0 | |||
|
HM3 | ||||
|
HM1 | W5 = 0 | |||
|
HM3 | ||||
|
HB1 | W6 = 0.5 | |||
|
HM3 | ||||
|
HS1 | W7 = 0 | |||
|
HB3 | ||||
|
HM1 | W8 = 0 | |||
|
HB3 | ||||
|
HB1 | W9 = 0 | |||
|
HB3 |
If | Then | |||||||
---|---|---|---|---|---|---|---|---|
|
HS3 |
| ||||||
|
HM3 |
| ||||||
|
HB3 |
|
The outputs of PFIMs for ball and beam, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \Delta W_1\mbox{},\mbox{ }\Delta W_2\mbox{},\mbox{ }\Delta W_3\mbox{},\mbox{ }\Delta W_4\mbox{},\mbox{ }\Delta W_5\mbox{ }\mbox{and}\mbox{ }\Delta W_6}
, can be calculated by Equations (13) and (14) .
|
( 13) |
|
( 14) |
After calculation of fi and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \Delta W_i\mbox{};\mbox{ }i=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): 1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6
, it is possible to define the fuzzy-PID controller via Equation (4) .
In the following, the multi-objective optimization of the proposed fuzzy-PID controller would be done by MOGA and MOPSO [19] (with the same settings) with respect to the base and regulation parameters as design variables, and three objective functions as the distance error of the ball, the angle error of the beam and the control effort. The optimum points of the objective functions are illustrated in Fig. 5 , Fig. 6 , Fig. 7 and Fig. 8 . Points A, B and C are the best points for objectives 1, 2 and 3, respectively, and point D is a trade-off point. The time responses of the ball position, beam angle and control input for these optimum points are depicted in Fig. 9 , Fig. 10 and Fig. 11 .
|
Fig. 5. Three-dimensional Pareto fronts of objective functions 1, 2 and 3 for the ball–beam system. |
|
Fig. 6. Pareto fronts of objective functions 1 and 2 for the ball–beam system. |
|
Fig. 7. Pareto fronts of objective functions 1 and 3 for the ball–beam system. |
|
Fig. 8. Pareto fronts of objective functions 2 and 3 for the ball–beam system. |
|
Fig. 9. Time response of the ball position for the ball–beam system. |
|
Fig. 10. Time response of the beam angle for the ball–beam system. |
|
Fig. 11. Time response of the driving force for the ball–beam system. |
Although the complete stabilization occurs and all the state variables converge to zero, by comparison of method proposed by Yi et al. [21] and this work, the superiority of this work from viewpoints of distance and angle error is obvious. In [21] , as shown in Fig. 9 and Fig. 10 , the ball position and beam angle reached the final state almost at 6 and 5.5 seconds, respectively, while this work can achieve almost 3 seconds for the ball position, 3.8 seconds for the beam angle and the maximum absolute of the control input is about 28.7 (point D). The values of design variables relative to point D and objective functions relative to points A, B, C, and D are given in Table 9 and Table 10 , respectively.
Design variable | Value | |||
---|---|---|---|---|
|
2.45 | |||
|
6.98 | |||
|
7.75 | |||
|
17.40 | |||
|
32.09 | |||
|
18.59 | |||
|
1.24 | |||
|
7.07 | |||
|
4.86 | |||
|
5.79 | |||
|
9.22 | |||
|
8.71 |
Point | Value |
---|---|
A | Objective function 1 = 1.79 |
Objective function 2 = 38.13 | |
Objective function 3 = 6.98 | |
B | Objective function 1 = 3.97 |
Objective function 2 = 27.40 | |
Objective function 3 = 6.07 | |
C | Objective function 1 = 2.47 |
Objective function 2 = 32.65 | |
Objective function 3 = 4.41 | |
D | Objective function 1 = 1.91 |
Objective function 2 = 34.75 | |
Objective function 3 = 6.04 |
In the following, we consider the inverted pendulum system depicted in Fig. 12 . Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x=\left[x_1\mbox{},\mbox{ }x_2\mbox{},\mbox{ }x_3\mbox{},\mbox{ }x_4\mbox{},\mbox{ }x_5\mbox{},\mbox{ }x_6\right]=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[\int x,\mbox{ }x,\mbox{ }\dot{x},\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\dot{\theta }\right]
, including, respectively, integral of the cart position, the cart position, the cart velocity, integral of the pendulum angle, the pendulum angle and the pendulum angular velocity. The dynamic equations of this system in the state-space form are expressed by Equation (15) .
|
|
|
|
|
|
( 15) |
where mc is the mass of the cart, mp is the mass of the pendulum, g is the gravity acceleration, and F is the control input and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle F=11\times F_{Fuzzy\mbox{ }pid}}
. lp is the length from the center of the pendulum to the pivot and equals to the half-length of the pendulum. For simulation, the following specifications are used Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle m_c=1\mbox{ }kg,\mbox{ }m_p=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): 0.1\mbox{ }kg,\mbox{ }l_p=0.5\mbox{ }m,\mbox{ }and\mbox{ }g= Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): 9.8\mbox{ }\frac{m}{s^2}
.
|
Fig. 12. Structure of the inverted pendulum system. |
The initial and desired conditions are Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x\left(0\right)=\left[x_1\mbox{ }\left(0\right),\mbox{ }x_2\mbox{ }\left(0\right),\mbox{ }x_3\mbox{ }\left(0\right),\mbox{ }x_4\mbox{ }\left(0\right),\mbox{ }x_5\mbox{ }\left(0\right),\mbox{ }x_6\mbox{ }\left(0\right)\right]=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[0,\mbox{ }2,\mbox{ }0,\mbox{ }0,\mbox{ }0,\mbox{ }0\right]
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle x^d=\left[x_1^d\mbox{},\mbox{ }x_2^d\mbox{},\mbox{ }x_3^d\mbox{},\mbox{ }x_4^d\mbox{},\mbox{ }x_5^d\mbox{},\mbox{ }x_6^d\right]=}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left[0,\mbox{ }0,\mbox{ }0,\mbox{ }0,\mbox{ }0,\mbox{ }0\right]
, respectively. The block diagram for the stabilization control of the inverted pendulum system illustrated in Fig. 13 shows that each of the state variables Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \int x,\mbox{ }x,\mbox{ }v,\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\omega } relevant to inverted pendulum system is fed back and compared with its desired value. Since all of the desired values in the stabilization control are zero, the variables are directly inputted into the Norm block. The normalization of the state variables based on their scaling factors and creating input items Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_1\mbox{},\mbox{ }X_2\mbox{},\mbox{ }X_3\mbox{},\mbox{ }X_4\mbox{},\mbox{ }X_5\mbox{},\mbox{ }X_6} from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \int x,\mbox{ }x,\mbox{ }v,\mbox{ }\int \theta ,\mbox{ }\theta ,\mbox{ }\omega } , respectively, is done by the Norm block. The scaling factors and the normalized form of the Norm block outputs are given in Table 11 .
|
Fig. 13. Block diagram of fuzzy-PID control for the inverted pendulum system. |
Variable | Scaling factor | Normalized form | |||
---|---|---|---|---|---|
|
1 | X1 | |||
x | 2.4 m | X2 | |||
|
1 | X3 | |||
|
1 | X4 | |||
θ | 30° | X5 | |||
|
100°/s | X6 |
Here, similar to fuzzy-PID control of the ball–beam system, two fuzzy inference engines SIFIM and PFIM are utilized. Each input item Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{};\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6}
is guided to the SIFIM-i, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle f_i\mbox{};\mbox{ }i=1,\mbox{ }2,\mbox{ }\ldots \mbox{ },\mbox{ }6} are its output corresponding to the input item Xi . PFIM represents the control priority order of each Norm block output. All of the PFIM blocks take the absolute value of the input item X5 as their antecedent variable. The membership functions of SIFIMs are depicted in Table 12 and Fig. 14 . The rules of the PFIMs are given in Table 13 and Table 14 .
If | Then |
---|---|
Xi ≤ −1 | VBi = 1POi = 0ZBi = 0 |
−1 ≤ Xi ≤ 0 | VBi = − Xi'POi = Xi +1ZBi = 0 |
0 ≤ Xi ≤ 1 | VBi = 0Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle PO_i=-X_i+1}
ZBi = Xi |
1 ≤ Xi | VBi = 0POi = 0ZBi = 1 |
|
Fig. 14. Membership functions of SIFIMs for the inverted pendulum system. |
If Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{ }\left(i=1,\mbox{ }2,\mbox{ }3\right)} | Then | |||
---|---|---|---|---|
VBi |
| |||
POi |
| |||
ZBi |
|
If Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle X_i\mbox{ }\left(i=1,\mbox{ }2,\mbox{ }3\right)} | Then | |||
---|---|---|---|---|
VBi |
| |||
POi |
| |||
ZBi |
|
The output of SIFIM-i (fi ) for the cart and pendulum is calculated by Equations (16) and (17) , respectively.
|
( 16) |
|
( 17) |
The membership functions of PFIMs are shown in Table 15 and Fig. 15 . The rules of the PFIMs are given in Table 16 and Table 17 .
If | Then | |||
---|---|---|---|---|
|
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HS_1=-2\vert X_2\vert +1}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_1=2\vert X_2\vert } HB1 = 0 | |||
|
HS1 = 0Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HM_1=-2\vert X_2\vert +2}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle HB_1=2\vert X_2\vert -1} |
|
Fig. 15. Membership functions of PFIM for the inverted pendulum system. |
If | Then | ||||
---|---|---|---|---|---|
|
HS1 | W1 = 1 | |||
|
HM1 | W2 = 0.5 | |||
|
HB1 | W3 = 0 |
If | Then | ||||
---|---|---|---|---|---|
|
HS1 | W4 = 0 | |||
|
HM1 | W5 = 0.5 | |||
|
HB1 | W6 = 1 |
The outputs of PFIMs for ball and beam, ΔW1 , ΔW2 , ΔW3 , ΔW4 , ΔW5 and ΔW6 , can be calculated by Equations (18) and (19) .
|
( 18) |
|
( 19) |
where variables HS1 , HM1 , and HB1 are given in Table 15 and Fig. 15 .
After calculation of fi and ΔWi , it is possible to define the fuzzy-PID controller based on Equation (4) .
The Pareto fronts obtained via the multi-objective genetic algorithm and particle swarm optimization [19] (with the similar configurations) are given in Fig. 16 , Fig. 17 , Fig. 18 and Fig. 19 . Points A, B, and C are the best points of objectives 1, 2, and 3, respectively, and point D is selected as a trade-off optimum point. Trade-off is the best point that is obtained by substituting base variables and regulation variables of all the optimal points achieved of optimization via genetic algorithm and acquiring the best condition according to settling time and overshoot. The time responses of cart position, pendulum angular and derive force for the optimum points are illustrated in Fig. 20 , Fig. 21 and Fig. 22 .
|
Fig. 16. Three-dimensional Pareto fronts of objective functions 1, 2 and 3 for the inverted pendulum system. |
|
Fig. 17. Pareto fronts of objective functions 1 and 2 for the inverted pendulum system. |
|
Fig. 18. Pareto fronts of objective functions 1 and 3 for the inverted pendulum system. |
|
Fig. 19. Pareto fronts of objective functions 2 and 3 for the inverted pendulum system. |
|
Fig. 20. Time response of the cart position for the inverted pendulum system. |
|
Fig. 21. Time response of the pendulum angle for the inverted pendulum system. |
|
Fig. 22. Time response of the driving force for the inverted pendulum system. |
It is observable from Fig. 20 , Fig. 21 and Fig. 22 that all the state variables converge to zero and complete stabilization occurs. Moreover, the superiority of this work in comparison with proposed approach in [22] is obvious. In [22] , the cart position and pendulum angle reached the final state almost in 7.2 and 7.5 seconds, respectively, while this work can achieve almost 3 seconds for the ball position and 4 seconds for the beam angle and the maximum absolute of the control input is about 8.02 (Point D). The values of design variables relative to point D and objective functions relative to points A, B, C, and D are given in Table 18 and Table 19 , respectively.
Design variable | Value | |||
---|---|---|---|---|
|
0.029 | |||
|
0.583 | |||
|
0.110 | |||
|
2.88 | |||
|
2.61 | |||
|
1.92 | |||
|
−0.030 | |||
|
0.291 | |||
|
0.152 | |||
|
3.79 | |||
|
−1.50 | |||
|
5.00 |
Point | Value |
---|---|
A | Objective function 1 = 2.32 |
Objective function 2 = 23.52 | |
Objective function 3 = 12.89 | |
B | Objective function 1 = 19.41 |
Objective function 2 = 1.32 | |
Objective function 3 = 0.79 | |
C | Objective function 1 = 19.18 |
Objective function 2 = 1.60 | |
Objective function 3 = 0.64 | |
D | Objective function 1 = 3.18 |
Objective function 2 = 13.47 | |
Objective function 3 = 3.90 |
In this work, multi-objective optimization algorithms, i.e. MOGA and MOPSO, were successfully used to optimum design the fuzzy-PID controllers for the ball–beam and inverted pendulum systems. An integral term was augmented to the state variables in order to eliminate the steady state errors and decrease the rising time. The conflicting objective functions for the ball–beam system were considered as the distance error of the ball, the angle error of the beam, and the control effort. The conflicting objective functions for the inverted pendulum system were considered as the distance error of the cart, the angle error of the pendulum, and the control effort. The reported results demonstrated that the proposed methodology can effectively control the nonlinear systems.
Published on 07/04/17
Licence: Other
Are you one of the authors of this document?