Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L.

Mexico

Fuzzy, Neural and Neuro-Fuzzy Controllers for an Inverted Pendulum


Esteban Salazar (353869), Ernesto Len (808770)
AbstractThis paper presents the design of a fuzzy logic, artificial neural network (ANN) and neural-fuzzy (ANFIS) controllers for the inverted pendulum-cart system. The dynamic nonlinear equations are used to model the system. Fuzzy logic controller is one of the most important applications using the expert knowledge to control the system. Artificial Neural Networks has similar properties to Fuzzy systems but it includes a learning stage that allows to combine both strategies to implement a Neuro-Fuzzy controller which results in the optimization of fuzzy logic and ANN behavior. The simulation results of each controller are compared. Index TermsFuzzy Control; Artificial Neural Control; ANFIS Control; Inverted Pendulum.

b is the friction of the cart resisting motion, L is the length of the pendulum to its center of mass, I is the inertia of the pendulum, u(t) is the force applied to the cart, x represents the cart position coordinate and is the angle of the pendulum measured from the vertical.

I. INTRODUCTION

HE inverted pendulum is a multivariable and nonlinear system that is commonly used to test control strategies. The inverted pendulum may simulate natural phenomena such as the walking motion, missile guidance, biomechanical devices, etc. This paper contains the comparison of Fuzzy logic, artificial neural network and a synergy of both strategies responses in the control of the inverted pendulum using the non-linear equations. The approach of Passino [1] is used for the fuzzy rule database and then an ANN is trained with the Fuzzy Controller dynamics to emulate it and control the pendulum system. Finally a neuro-fuzzy controller is implemented.

Fig.1. Diagram of the inverted pendulum-cart system. Using the non-linear equations the system uses the parameters of Table I.
TABLE I INVERTED PENDULUM PARAMETERS.

II. MODELING THE SYSTEM A. Non-Linear Dynamics. The diagram of the inverted pendulum is shown in Fig. 1. The dynamic non-linear equations of the inverted pendulum system are as follows:

Parameters M m b L I g

Value 0.5 kg 0.2 kg 0.1 N/(m/s) 0.3 m 0.006 kg m 9.8 m/ s


2 2

M m bx mLcos mL 2 sin u x

(1) (2)

mL

I mgL sin mL cos x

Where M is the mass of cart, m is the mass of the pendulum,

The simulation of the controller was performed in Simulink MATLAB, this software allows to implement the model of the system using the non-linear dynamics equations in the form of block diagrams using a subsystem function. After substituting the parameters of the Table I into the equations, the resulting system is shown in Fig. 2.

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L. Mexico

controller to the plant. The inverted pendulum system has two variables for controlling: (i) the angle of the pendulum with respect of the vertical position and (ii) the position of the cart. The cart where the pendulum is mounting, it moves in straight direction to compensate the changes in the angle variations. From [1], the fuzzy rules for the error and the change of the error are in the form of fuzzy sets that describes the relation of the actual position with the desired. The fuzzy sets that describes the membership functions of the error and the change in error for the theta angle of the pendulum are the same form for both and is shown in Fig. 3, where the manipulation fuzzy sets of the controller is shown in Fig. 4.

Fig.2. Inverted pendulum non-linear system.

This block represents the plant that the control system will perform the manipulation. B. Control Strategies The strategies used in this paper to control the inverted pendulum-cart system are Fuzzy logic, ANN and ANFIS. The Fuzzy controller is designed to automate how a human expert who is successful at this task would control the system. First, the information of the expert is collected in linguistic descriptions at the form of if then rules. The statements that quantifies the configuration of the inverted pendulum proposed by Passino [1] are: (i) the statement error is positive large can represent the situation where the pendulum is at a significant angle to the left of the vertical, (ii) the statement error is negative small can represent the situation where the pendulum is just slightly to the right of the vertical but not close to the vertical to justify quantifying it as zero and far from negative large and (iii) the statement error is zero represents the situation where the pendulum is near the vertical position. For the change in the error the negative sentence means that the pendulum direction is closing to the vertical position and for a positive change in error represents that the pendulum is moving away the vertical position. Once the fuzzy controller is properly tuned, an artificial neural network is trained to simulate the fuzzy controller behavior using the back-propagation algorithm in MATLAB. III. FUZZY LOGIC CONTROLLER The fuzzy logic controller is known as knowledge based system [2], where the knowledge of an expert about a system behavior is pass on the form of if then rules to a data base of fuzzy rules that determines the manipulation of the fuzzy

Fig.3. Fuzzy sets for error and change in error for theta.

Fig.4. Fuzzy sets for controller manipulation. From Fig. 3 it is possible to observe that fuzzy sets for error and chance in error is the range [-3 3] and from Fig. 4 the range is [-5 5]. For the cart position controller the manipulation fuzzy sets are the same from Fig. 4 meanwhile the error and the change in error is shown in Fig. 5, where the range of values is [-10 10].

Fig.5. Fuzzy sets for error and change in error for cart position.

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L. Mexico Using the approach from section II.B and the fuzzy sets from above the rule bases can be defined. For the pendulum problem there are two inputs (Error, change in error) and five linguistic values (Negative Large, Negative Small, Zero, Positive Small, Positive Large) for each case of these, there are at most 52 = 25 possible rules. The rule table for the inverted pendulum for controlling the angle and the cartposition is shown in Table II.
TABLE II THETA AND CART POSITION RULE DATABASE de e NL NS Z PS PL

process to ANN architecture. The training process of the ANN in this paper used the data of the manipulation or output of the Fuzzy Controller and the two input vectors that correspond to the error and change in error, to the train the ANN. The objective of the training is that the ANN has to adjust the bias and its weights using the backpropagation algorithm and the MSE (Mean Square Error) method to calculate the error each iteration of the regression process. It can be observed that the ANN is able to approximate the behavior of the manipulation signal of the Fuzzy Controller successfully (see Fig. 7).

NL PL PL PL PS Z

NS PL PL PS Z NS

Z PL PS Z NS NL

PS PS Z NS NL NL

PL Z NS NL NL NL

The fuzzy controller for the angle of the pendulum and the cart position are implemented using a Simulink block, where the designed controllers are embedded. The simulation process is shown in Fig. 6, the block diagram consist in a desired position using a constant, then calculation of the error and change in error that are the inputs for the fuzzy controller, next the manipulation for the plant or the subsystem and finally the actual position is provided for the feedback.

Fig.7. Output data of the Fuzzy Controller versus the learning ANN response. The ANN controller is then incorporated to the block diagram of the Fig. 6 to simulate the system response. Then the response of the system to a change in the desired position and angle disturbances is shown in Fig. 15 and Fig. 18 respectively. V. ANFIS CONTROLLER A. Basic Principles of ANFIS An alternative of controlling is the ANFIS (Adaptive Network Fuzzy Inference System) Controller that uses a routine for Sugeno-type fuzzy inference systems with a hybrid learning algorithm to identify parameters of the Sugeno-type fuzzy inferences. The hybrid method is a combination of the least-square method and the back-propagation gradient descent method for training the FIS membership function parameters to emulate a given training data set [4]. B. Training the ANFIS Controller The training process of the ANFIS controller was performed in the ANFIS MATLAB Toolbox. The training data (see Fig 8) is a matrix that consists in the Error, change in error and the output of the fuzzy controller, using this data the toolbox generates a Sugeno-type fuzzy inference system that fixes the parameters of the fuzzy sets with an hybrid optimization algorithm. A value of desired minimum error of 0.01 is set before the training process. The learning process finishes if the number of epochs

Fig.6. Block diagram of the controller simulation. To test the performance of the system two disturbances are added to the system, a change in the desired position from 0 to 3 meters of the cart (see Fig. 14) and a disturbance of 10 degrees in the angle of the pendulum (see Fig 17). IV. NEURAL NETWORK CONTROLLER Controlling a dynamical system means forcing it to behave in some desired way. Once the desired goal is specified, the design of the controller is dictated by the knowledge about the plant and the data available [3]. A neural network can learn from the dynamics of other controllers by adding a training

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L. Mexico selected for trained or while the desired error are reached (Fig. 9) the toolbox adjusts the Sugeno-type fuzzy inference system with two inputs for the error and change in error and the manipulation that consist in Sugeno functions. The ANFIS controller training for the angle of the pendulum inputs are shown in Fig.10 and Fig. 11 respectively.

Fig.11. Sugeno fuzzy sets resulting from ANFIS training for the change in Error. Then for the cart position controller the process is the same and the resulting fuzzy sets for Error and change in error is shown in Fig. 12 and Fig. 13 respectively.

Fig.8. ANFIS controller training data.

Fig.12. Sugeno fuzzy sets resulting from ANFIS cart position controller training for the Error.

Fig. 9. ANFIS controller successfully training.

Fig.13. Sugeno fuzzy sets resulting from ANFIS cart position controller training for the change in Error. The ANFIS controller is then incorporated to the block diagram of the Fig. 6 to simulate the system response. Then the response of the system to a change in the desired position and angle disturbances is shown in Fig. 16 and Fig. 19 respectively.

In Fig. 9 it is possible to see that the ANFIS training reaches the desired error in a less number of epochs than ANN learning.

VI. SIMULATION RESULTS The structure of the inverted pendulum system by Simulink is shown in Fig.6, applying the dynamic model of the inverted pendulum using the non-linear equation shown in Fig.2 and the parameters given in Table I. The simulations consist in two tests: (i) first a change in reference is added to the desired of the cart position and the (ii) second is a disturbance in the angle of the pendulum and the cart reference position remains in a value of zero.

Fig.10. Sugeno fuzzy sets resulting from ANFIS Theta controller training for Error.

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L. Mexico

Furthermore, Fuzzy and ANN controlled cart position in similar time, which is around 15 to 16, meanwhile the ANFIS controlled in lower time, which is a value around 4 to 5.

Fig.14. Fuzzy controller response to a change in the desired reference where the solid line represents the theta position and the dotted represents the cart position.

Fig.17. Fuzzy controller response to a disturbance in the pendulum where the solid line represents the theta position and the dotted represents the cart position.

Fig.15. ANN controller response to a change in the desired reference where the solid line represents the theta position and the dotted represents the cart position.

Fig.18. ANN controller response to a disturbance in the pendulum where the solid line represents the theta position and the dotted represents the cart position.

Fig.16. ANFIS controller response to a change in the desired reference where the solid line represents the theta position and the dotted represents the cart position. The test of changes in reference of Fig.14,15,16 shows that the ANN and Fuzzy controllers has similar responses, but the Fuzzy has lower oscillation levels in the manipulation of the cart position than the Fuzzy controller, meanwhile the ANFIS manipulation of the cart position has no overshooting.

Fig.19. Fuzzy controller response to a disturbance in the pendulum where the solid line represents the theta position and the dotted represents the cart position.

Intituto Tecnolgico y de Estudios Superiores de Monterrey, Intelligent Controll, Fall 2011, Monterrey, N.L. Mexico The test of disturbances in the angle of the inverted pendulum of Fig.17,18,19 shows that the ANN and Fuzzy controller has similar responses in the angle theta overshoot value, which are certain of 2 and -2, meanwhile the ANFIS controller has higher overshooting in the range of 10 and -10, but this changes in the angle allows the ANFIS to control in lower time than Fuzzy and ANN. The ANN and Fuzzy controlled in time equal to 30 and the ANFIS controlled approximately at time 15. VII. CONCLUSION This work presents the design of a Fuzzy, Neural and ANFIS controllers for an inverted pendulum-cart system. A non-linear model of the system has been considered to develop the controllers. The response of the system with each controller has been compared. These responses are shown in section VI. From the simulation results, it is possible to conclude that the three controllers can successfully stabilize the inverted pendulum and also controls the cart at the desired positions. From the experimentation it is possible to conclude that the ANFIS has the best performance due to the lower rate of changes in the angle of the pendulum and the time that the controller requires to stabilize both systems is smaller than the Fuzzy and the ANN controllers. Then it is possible to conclude that the ANFIS training methodology obtain the best characteristics of both controllers (Fuzzy and ANN) to optimize the system performance. REFERENCES
[1] [2] [3] [4] Passino K. M, Fuzzy Control, Menlo Park, Calif.:Addison-Wesley, pp 26-33, c1998. Driankov D.,An introduction to fuzzy control, Berlin: New York: Springer, pp. 23-40, c1996. Hung T. Nguyen, A first course in fuzzy and neural control, Boca Raton, FL: Chapman & Hall/CRC Press, c2003. Mathworks, Advanced Fuzzy Inference Techniques: ANFIS, [Online] Matlab Documents [Access on date Dec 1, 2011]. http://www.mathworks.com/help/toolbox/fuzzy/anfis.html

You might also like