Position Control of a Pneumatic Drive Using a Fuzzy Controller with an Analytic Activation Function

The fuzzy logic controller, which uses an analytic activation function for the defuzzification procedure, was applied to the position control of a servo pneumatic drive controlled by a proportional valve. The Gaussian shape of input fuzzy sets, with the possibility of their modification, was used to fuzzify the input signal. The control signal was determined by introducing an analytic function instead of defining the fuzzy rule base. In this way, a conventional 2-D fuzzy rule table base is modified into 1-D fuzzy defuzzification based on an analytic function to calculate the controller output. In this control algorithm, the problem of conventional fuzzy logic control, in terms of the exponential growth in rules as the number of input variables increases, is eliminated. The synthesis controller procedure is adjusted to the flow rate characteristic of the proportional valve. The developed control algorithms are verified by computer simulation and by testing on a real pneumatic rodless cylindrical drive.


Introduction
Fuzzy logic control (FLC) can be used to improve an existing classical controller solution by adding an extra layer of "intelligence" to the control strategy. The fuzzy controller activity can be adjusted to the process characteristics with modifications of the knowledge base, the shapes of fuzzy sets, the defuzzification procedure, or scaling factors [1]. Unfortunately, there is no simple and sufficiently understandable systematic procedure to predict the precise results of these modifications for each particular system, and very often, the trial-and-error method has to be used in order to obtain specific design requirements [2,3]. It is usually a difficult task to optimize fuzzy membership functions and rule base. To avoid such difficulties, some design techniques based on a self-organizing fuzzy controller [4,5] or synthesis of fuzzy and neural networks [6][7][8] have been proposed. An effective way to reduce the rule base size is to combine FLC and sliding mode control [9,10]. However, it is known that this approach has its disadvantages in selecting the right parameters of switching function and the undesired phenomenon of chattering due to high-frequency switching. In addition, since fuzzy controllers are nonlinear with more parameters, it is difficult to set the controller parameters compared to the classical controller [11]. Theoretically, with a large enough fuzzy rule base and input variables, any unknown function can be approximated, i.e., any shape of the input-tooutput mapping surface and thus adopted controller action to process characteristics [12]. However, increasing the input variables will exponentially increase the fuzzy rule base. It is, therefore, necessary to find ways to cope with this inconvenient problem in the realization and implementation of the fuzzy logic controller. A large fuzzy rule base can also cause problems in computing and the practical realization of the control algorithm.
In this paper, the design and implementation of a FLC without a rule base for the position control of a servo pneumatic drive is presented. The controller output in each mapping process is determined by introducing an analytic activation function (AAF) instead of defining the fuzzy rule base [13]. In contrast to the common Mamdani-type min-max composition operator, all grades of input variables membership in all universe of discourses are calculated using a sum of products formula. The output fuzzy sets can be assumed as moving singletons with positions determined by an activation function in the fuzzification inference process. In this way, the classical defuzzification step is omitted and a direct input-to-output mapping process is possible, which can be easily implemented in the control algorithm.
Apart from this introduction, the paper is organized in the following manner. In Section 2, the experimental setup of a pneumatic servo drive controlled by a proportional valve is described. Then, the design of an FLC system employing a new analytic algorithm as a defuzzifier is presented. After that, the proposed control method is adjusted to the flow rate characteristic of the proportional control valve. Section 3 presents simulation and experimental results obtained by applying the proposed controller. The results were analyzed in Section 4. Finally, in Section 5, conclusions and comments are given.

Materials and Methods
In Figure 1, a photo of the laboratory equipment is shown, while the schematic description of the control system is illustrated in Figure 2. The experimental setup consists of standard industrial components and manually made parts. The actuator is a rodless cylinder (SMC CDY1S15H-500) with a stroke length of l = 500 mm and a diameter d = 15 mm. The piston position is measured by the horizontal linear potentiometer (Festo MLO-POT-500-TLF), which is attached to the actuator. The directly actuated proportional control valve (Festo MPYE-5 1/8 HF-010B), which is connected to both cylinder chambers, controls the linear motion of the piston. Three pressure transducers (SMC ISE4-01-26) are added to measure cylinder pressures and the pressure of the air supply.  The control software is written in C programming language and the feedback control algorithms are implemented on a Pentium-based PC using a PCL-812PG data acquisition card. All signals from the process are received in a microcomputer via a 12-bit A/D converter. The calculated control signals from the microcomputer are sent via a 12-bit D/A converter to the proportional control valve.
The experimental equipment also includes two proportional pressure valves (SMC VY1A00-M5) and two on/off solenoid valves (SMC EVT307-5D0-01F). In this paper, the control of a pneumatic drive using these valves is not considered, although research with them has been done [14,15].

Design of a Fuzzy Logic Controller with an Analytic Activation Function
It is well known that the conventional procedure of an FLC system design is composed of a fuzzification process, fuzzy rule base with fuzzy inference engine, and defuzzification process. In this section, a design procedure of an FLC system will be shown without any fuzzy rule base by introducing an AAF for the determination of the controller output. The proposed method is based on the theory of an adaptive FLC synthesis applied to a pneumatic servo system. In the fuzzification process, a Gaussian shape of input fuzzy sets is introduced, with the possibility of fuzzy sets modification, by employing an adjustable parameter β. This makes possible the setting of the distribution of input fuzzy sets, and indirectly, by using an analytic activation function, determination of the controller output in each mapping process. In this way, the analytic functions are used as a defuzzifier for generating a crisp value of controller output in each sampling time.

Definition of Fuzzy Membership Functions
For the realization of a new fuzzification process of the input variables of a fuzzy controller, it is necessary to define the fuzzy membership functions on a universe of discourse that has a modification shape possibility. In that sense, a Gaussian shape membership function of fuzzy sets with zero center positions is chosen: where x is the input variable of fuzzy controller and a is the parameter, which determines the width of the membership function µ(x). The pick value of curves is defined by the K coefficient. In fuzzy control theory, it is usually assumed that µ(x) = 1 if an input variable totally belongs to a fuzzy set µ(x = x c = 0), where index "c" means "center", because of that, the coefficient K is set at the value K = 1. For different values of parameter a, also a different width of membership functions can be achieved. A larger parameter a gives a more pointed curve shape. The membership function of the input fuzzy set has the following characteristic values: Some other shapes of fuzzy sets can also be used. For example, bell-shaped, symmetric sigmoidal shaped, or cosine-shaped membership can be applied in adaptive FLC implementation. The shape of membership functions is generally less important than the number of fuzzy sets and their positions [1].

Input Variable Normalization
The universe of discourse of the fuzzy logic controller must be large enough to cover all possible values in the control process. Therefore, in the controller design procedure, the input variable x j can be normalized to the interval [−1, 1] by using the following Equation: where x N j is the normalized value of input variable x j , j = 1, . . . , m, and x j max is the maximum value of x j on the universe of discourse. By changing the scaling factors K j , the proposed controller structure can be used in different control processes.

Distribution of Input Fuzzy Sets
For the realization of a better adjustment possibility of input fuzzy sets, a modification of fuzzy set shape from Equation (1) is carried out by introducing the adjustable parameter β. Thus the grade of membership function of a normalized input variable is defined by the Equation: process in which the activation of an output fuzzy set is determined, instead of using classical min-max operators.

Fuzzy Inference Engine
An input variable x N j in the input fuzzy set A i defined on a universe of discourse has the grade of membership µ N i (x N j ), and activates the corresponding output fuzzy set B j with a certain degree µ B j . As distinguished from conventional fuzzy logic controller design, the fuzzy rule-base approach and the distribution of output fuzzy sets are replaced by an analytic procedure, which calculates the positions of output fuzzy sets in the form of moving singletons. For the determination of the activation function in the inference process a sum-prod composition operator is used: where i is the number of fuzzy sets, j is the number of input variables, n j is the number of membership functions of the j-th input variable and µ B j is the membership function of an output fuzzy set B j . Consequently, the activation function s j is defined by the analytic form: The activation function s j indicates the grade of membership of input variable x j in all of the input fuzzy sets A i . The function for analytic determination of the controller output defined as y N cj = f (x N j ) is then introduced instead of defining fuzzy rules, as in conventional fuzzy controller design. For the solution to this problem the following intuitive consideration is proposed: if the membership of input variable µ N i (x N j ) is smaller, then the distance x N j to zero is larger. Assuming the position error e is the input variable, this means that the control error is larger and the control system is far from a reference position. This implies that the amplitude of the control variable should be larger. Following the same analogy, the absolute position of the corresponding output fuzzy set, which represents the controller action, should be larger. In accordance with this, amplitudes of normalized positions of output fuzzy sets can be computed by the equation: Because the sign of y N cj must be equal to the sign of x N j , normalized positions of output fuzzy sets can be calculated by the expression: Since the input variables are normalized, if it is necessary for the regular operation of control components, the position of output fuzzy sets can be adjusted to the output domain with the scaling factor K cj : In general, the scaling factor K cj of the output fuzzy set position is equal to the value of the control variable u for maximal control effort.

Defuzzification Process
To generate a non-fuzzy output (a crisp value of control signal, which is sent to the control process), a formal defuzzification procedure is used. At each sampling period, the input variable x N j (t) activates a corresponding output fuzzy set. Such an activated output fuzzy set is in the form of a moving singleton, which represents the control signal. The controller output of multi-fuzzy input variables is the average of their individual corresponding output. The crisp value is then determined from the values of positions of output fuzzy sets obtained in Equation (9), as: The existing problem of misleading the contribution of each fuzzy input variable, in that case, demands that adjustable parameters a and β need to be designed by simulation in each concrete case. The proposed fuzzy logic controller design is very simple because a simple procedure is used for the calculation of the controller output. In contrast to a conventional rule-based approach, in this design method, the number of input variables and the number of input fuzzy sets are not limited, and the control algorithm can be realized very fast. In this way, the problem of conventional FLC systems with the exponential growth of rule base matrix by increasing the number of input variables is eliminated. For example, if we have two input variables with 10 fuzzy sets distributed to the input domain, in the conventional rule-based approach, it is necessary to make a matrix with 100 elements (rules). In the proposed method, it is necessary to calculate the grade of membership of input variables in each fuzzy set (2 variables × 10 fuzzy sets = 20 operations according to Equation (4), and two summation procedures according to Equation (6)). In the case of increasing the number of input variables, the advantage of the proposed method, in relation to the complexity of the control algorithm, becomes more important.

Synthesis of Adaptive FLC Using Parameter β-Adaptation Algorithm
In the case of the proposed controller synthesis, it is very important to develop a corresponding automatic procedure for the adaptation of relevant parameters of the FLC system. The parameter β j corresponds to the closed-loop gain of the j-th input variable of the FLC system. Increasing the β j parameter has the consequence of increasing the amplitudes of normalized positions of centers of output fuzzy sets y cj and vice versa. The following performance index has been introduced in order to create an optimal procedure of the parameter β j -adaptation scheme: where X j is the Euclidean norm and may be interpreted geometrically as the distance between the input variables and the origin, P j is a corresponding scaling factor, t s is the adaptation starting time point, and t f is the final time. Let the desired value of the performance index Equation (11) be known and be denoted as I dj . Then the adaptation algorithm for optimal parameter β j -adaptation is given by the following procedure: where δ j is an adaptation gain for the determination of an adaptation speed (typical range 0.1 < δ j > 0.1), and ϕ j is a parameter for the determination of a free region of the index of performance I i j (typical range 0.5 < ϕ j > 1). This algorithm is the gain adaptation function, which depends on the state errors and previous control variables, and acts as a system-stabilizing factor.

The Adjustment of the Controller Action to the Valve Flow Rate Characteristic
The control signal as an output of the fuzzy controller is sent via a D/A converter to the proportional valve, which is the control component in the system. Control voltage on the valve should be in the range of 0-10 V, and a neutral position of the valve (where fluid flow to the cylinder chambers is blocked) is defined by a 5 V control signal, Figure 3. The control signal should be adjusted to the valve flow rate characteristic so that the valve has a value of 5 V at the operating point, when the cylinder is in the reference position and control error vanishes. From Equation (6), it is noticeable that the activation function is obtained by a summation process of grades of membership of input variables to fuzzy sets. Taking this into account, we proposed the input domain distribution to 5 fuzzy sets with the center positions of membership functions is zero.
At the operating point, the activation function from Equation (6) will have a sum equal to 5, and in the realization of the control algorithm, it will correspond to a 5 V control signal. The activation function for determination of the membership degree of the input variable x j to all fuzzy sets is then given as: where j = 1, . . . , m is the number of input variables, and n j = 5 is the total number of fuzzy sets on the input domain. The control signal obtained on the basis of normalized absolute values of positions of output fuzzy sets in Equation (9) is applicable for control components with a neutral position at zero (for example, DC servo motor). The proportional valve used in this work has a neutral position for 5 V control signal. Thus, the control signal should be adjusted to the valve characteristic. Taking into account the valve flow rate characteristic from Figure 3, the expression (9) is modified in order to obtain a negative slope of control function, with shifted neutral position. The modified expression of Equation (9) is then: where Y 0 is the shifted neutral position from zero. The verification of the numerical values for the position of output fuzzy sets for three characteristic values of the input variable can be performed according to the following consideration. The voltage from the linear potentiometer can be in the range 0-10 V, and accordingly, the control error e, as an input variable x j , can have a maximal value of +10 V or −10 V. By inserting the scaling factor, the total number of membership functions and shifted neutral position on value 5 (i.e., K cj = 5, n j = 5, Y 0 = 5) then from Equation (14), for three characteristic points of position of output fuzzy set y cj , we have the following values: This means that if the control error has a maximal value, the system is far from a reference value, and according to Figure 3, the airflow through the valve should also be at the maximal value. When we have more than one input variable, the values for the activation function s j and the values for the number of membership functions n j should be multiplied by the number of input variables. In that case, the same values for the characteristic points of output fuzzy set position y cj will be obtained. Between these characteristic points, the shape of the control function depends on the distribution of membership functions to fuzzy sets on the input domain. The position of output fuzzy sets will determine the value of the fuzzy controller output, which is sent to the proportional valve.

Results
The real discrete-time control system that uses fuzzy logic controller with an analytic activation function can be shown in Figure 4. A simplified dynamic model, which still reflects the essential characteristics of a pneumatic cylinder controlled by a proportional valve, can be presented by third-order transfer function with forward gain C 0 , natural frequency ω 0 and damping ratio ζ as the characteristics of the system, as follows: Delay from the D/A conversion is expressed using first-order transfer function, where K DA is the gain of the D/A converter and T is the sampling time: Cylinder positions are converted to digital data using A/D converter gain K AD . Then: The dynamic of the measuring system is approximated as a proportional gain K m . This model was used for the computer simulation analysis. The parameters of the control system were as follows: ω 0 = 32.97 rad/s, ζ = 1.1, C 0 = 0.7 m/Vs, K m = 20 V/m, K DA = 2.44 × 10 −3 V, K AD = 204.8 V −1 , T = 0.01 s and these parameters have been derived in [14].
To obtain better closed-loop responses, the function of the nonlinear mapping of input variable x j (t) to output variable u(t) should be adjusted in the control process. The slope and amplitude of the control function can be modified by changing the distribution of membership functions of input fuzzy sets (parameter a) or by changing the width of membership functions (parameter β), as shown in Figure 5. Increasing of a and β parameters has an influence on the narrowing of membership functions of fuzzy sets, and thus on increasing the slope of the control function. This corresponds to the increase of the closed-loop gain in a conventional controller design. The initial values of parameter a are given in vector a 0 = (0.05 0.1 0.25 0.5 2.5), which is selected so that the membership functions of fuzzy sets appropriately cover the input domain. The distribution of input fuzzy sets in Figure 5 is given in the range of possible values of measured signals from the linear potentiometer. Based on the proportional valve flow characteristics, the output control function is presented in the range 0 to 10 with an inflexion point in 5, which corresponds to the neutral position of the proportional valve. In the control algorithm, these values will take a meaning of the control signal measured in Volts. The output control functions are smooth curves despite the input fuzzy sets do not cover the input domain in a strictly harmonized manner. The control signal amplitude is related to fluid flow in the cylinder chambers. Thus, to bring the closed-loop system to its reference position faster, it is reasonable to enable the maximum valve opening in case of a large control error.
The simulation results of the position control of the pneumatic servo system for fixed distribution of membership functions of fuzzy sets (a = a 0 ) and variable parameter β is shown in Figure 6. From Figure 6, it can be seen that the larger parameter β will cause a more oscillatory response of the system. Expanding the controller structure by the change of error ∆e as an additional input variable can reduce the overshoot in the system response.
Increasing of a and β parameters has an influence on the narrowing of membership functions of fuzzy sets, and thus on increasing the slope of the control function. This corresponds to the increase of the closed-loop gain in a conventional controller design. The initial values of parameter a are given in vector a0 = (0.05 0.1 0.25 0.5 2.5), which is selected so that the membership functions of fuzzy sets appropriately cover the input domain. The distribution of input fuzzy sets in Figure 5 is given in the range of possible values of measured signals from the linear potentiometer. Based on the proportional valve flow characteristics, the output control function is presented in the range 0 to 10 with an inflexion point in 5, which corresponds to the neutral position of the proportional valve. In the control algorithm, these values will take a meaning of the control signal measured in Volts The output control functions are smooth curves despite the input fuzzy sets do not cover the input domain in a strictly harmonized manner. The control signal amplitude is related to fluid flow in the cylinder chambers. Thus, to bring the closed-loop system to its reference position faster, it is reasonable to enable the maximum valve opening in case of a large control error.
The simulation results of the position control of the pneumatic servo system for fixed distribution of membership functions of fuzzy sets (a = a0) and variable parameter β is shown in Figure 6. From Figure 6, it can be seen that the larger parameter β will cause a more oscillatory response of the system. Expanding the controller structure by the change of error Δe as an additional input variable can reduce the overshoot in the system response.  This control structure, with two input variables and one output variable, corresponds to the structure of a conventional fuzzy PD controller. In this controller synthesis procedure, it is possible to set the arrangement and shape of membership functions independently by changing the parameters a and β, in order to get a better system performance. This control structure, with two input variables and one output variable, corresponds to the structure of a conventional fuzzy PD controller. In this controller synthesis procedure, it is possible to set the arrangement and shape of membership functions independently by changing the parameters a and β, in order to get a better system performance.
In Figure 7, the simulation results for two cases of settings a and β parameters are shown. In both cases, parameter a is defined with the vector a 0 . The procedure for adjusting the control signal is very intuitive and does not require much iteration until a satisfactory response is achieved. The control algorithms were also verified by experimental tests. The results of position control on varying step reference signals are shown in Figure 8. The experiments for tracking control were made with two input variables to the proposed fuzzy controller for a square-wave reference signal as well as for a sinusoidal reference signal. During the experiments, it turned out that the system was more sensitive to a change of the membership functions' arrangement (parameter a) than to a change of shape of the membership functions (parameter β). The reason for this is that parameter β mostly modifies the control function in the narrow range of the operation point and can be used for fine-tuning the controller action.

Discussion
Generally, to get the control system more sensitive to the small range of input signals, it is reasonable to choose a wider distribution of membership functions in view of the first input variable e(t) and narrower distribution of membership functions in view of the second input variable ∆e(t); this way, the amplitude of the control signal will be smaller. This has a positive influence on reducing the system overshoot but also has a negative influence on increasing the steady-state error. Thus, a fine-tuning procedure is desirable to get the required control system performances.

Conclusions
Instead of defining a conventional fuzzy rule base, the controller output was determined by introducing an analytic activation function in the fuzzification process. The proposed controller design without the fuzzy rule base is simpler than a conventional fuzzy logic controller design. Therefore, easy implementation of the control algorithm is possible. In the proposed control method, the problem of conventional FLC in terms of the exponential growth in rules as the number of input variables increases is eliminated. The controller has been implemented to position control of a pneumatic servo drive controlled by a proportional valve. The effectiveness of the control method has been demonstrated by tracking variable reference inputs both in the simulation and the experimentation. The experimental study has shown that the controller performed well, and the system had a satisfactory output response.