Non Linear Modelling and Control of Hydraulic Actuators

Hydraulic actuators are used for delivering high actuation forces and high power density. Due to their simple construction and low cost, hydraulic actuators are widely used. These actuators have highly nonlinear model characteristics. Two types of actuators are used, differential (single-rod) and synchronizing (double-rod). From the control engineering point of view, synchronizing or symmetric actuators are preferred because there is no piston area difference and this fact reduces non-linearities, but on the other hand, the construction of these types of actuators is difficult and expensive. Also in some situations, e.g., robots, cranes, etc., due to limited space symmetric actuators cannot be used. In the literature [13, 6, 11, etc.] various models of hydraulic actuators are presented. Some are linear models, mostly applied to synchronizing cylinders. Many authors have neglected the leakage; also the friction forces are not completely modeled. These factors are all included in the derivation of our model that provides the basis for creating object oriented library blocks. The schematic diagram of a differential actuator, as shown in Fig. 1, consists of a constant pressure supply pump, a magnetically controlled spool valve and a differential hydraulic cylinder. All the variables are explained in the list of symbols (Table 2). The model is derived in the next section. The motivation is to prepare the relations and parameter definitions for object-oriented blocks that are suitable for programming in special Matlab S-functions.


Introduction
Hydraulic actuators are used for delivering high actuation forces and high power density.Due to their simple construction and low cost, hydraulic actuators are widely used.These actuators have highly nonlinear model characteristics.Two types of actuators are used, differential (single-rod) and synchronizing (double-rod).From the control engineering point of view, synchronizing or symmetric actuators are preferred because there is no piston area difference and this fact reduces non-linearities, but on the other hand, the construction of these types of actuators is difficult and expensive.Also in some situations, e.g., robots, cranes, etc., due to limited space symmetric actuators cannot be used.
In the literature [13, 6, 11, etc.] various models of hydraulic actuators are presented.Some are linear models, mostly applied to synchronizing cylinders.Many authors have neglected the leakage; also the friction forces are not completely modeled.These factors are all included in the derivation of our model that provides the basis for creating object oriented library blocks.
The schematic diagram of a differential actuator, as shown in Fig. 1, consists of a constant pressure supply pump, a magnetically controlled spool valve and a differential hydraulic cylinder.All the variables are explained in the list of symbols (Table 2).The model is derived in the next section.The motivation is to prepare the relations and parameter definitions for object-oriented blocks that are suitable for programming in special Matlab S-functions.

Mathematical Modelling
Let the flow areas to the supply and return port of the spool valve be proportional to the spool displacement x s , (i.e., A K x 0 0 = s ).Then the flow rate of oil across the spool valve can be given as: where At the nominal pressure drop (Dp N ) and nominal flow (Q N ), this constant can be estimated as Applying the continuity equation to both chambers 1 and 2 and considering the compressibility of oil E oil as Fig. 1: Schematic diagram of a differential hydraulic actuator after putting this formula into Eq.( 3) we obtain the equations where where coefficients k int and k ext, 2 can be evaluated by means of the general formula by [12] [1] can be given as: ( ) and the following notification is used ( ) The forces on the cylinder can be expressed as (using Newton's Second Law of Motion) where v x t The friction forces ( ) are viscous friction, Coulomb friction and static friction, i.e., ( ) ( ) The plot of friction versus velocity is shown in Fig. 2. The factors of friction forces F v (viscous), F c (Coulomb) and F s (static) can be identified from the total friction (F F ) and velocity (v c ).These (F F and v c ) can be estimated from the values of the position, and pressures in both chambers of the cylinders experimentally with zero load, and using then numerical integration of the position for determing velocity.

Spool valve
Spool valve dynamics can be derived in a similar way as for a cylinder, but the following linear second order differential equation is a widely used and sufficient approximation: Typical values of spool valve parameters are: natural frequency w n = 300-500 s -1 and damping factor B = 0.7-1.0.
Correct modelling of a spool valve requires resetting of the integrators by bringing their inputs to zero as soon as the end positions of the spool valve are overstepped.This precaution is shown in Fig. 4.

State space form of the hydraulic actuator
then from Eq. (5-9) we get: [ ] The model has been implemented in versatile software Matlab/Simulink, which is widely used in control engineering communities around the world.Cylinder, spool valve and controller models are shown in Fig. 3.These blocks were created using the above derived equations, and a GUI (graphical user interface) will appear by clicking the block.Parameters can be entered through these menus.Fig. 4 shows the spool valve model, where anti-windup has been included.

Fuzzy Logic Controller (FLC)
Looking for an algorithm that would be closer to the time optimal controller (bang-bang control), we tried using non--linear Fuzzy Logic Control design techniques.The basic structure of a Fuzzy Logic Controller is shown in Fig. 6.From the many types of fuzzy controllers, e.g., PID-like, sliding mode, Takagi-Sugeno etc., we selected Mamdani type Fuzzy Logic Controller.This controller uses two inputs (control error and its derivate) and one output (control signal).For both inputs, three fuzzy sets (two Sigmoid and one Gaussian membership functions), and for output five fuzzy sets (two Sigmoid and three Gaussian membership functions) have been taken, as shown in Fig. 6.Rules are defined such that for the region where we have large errors, a constant and maximum allowable control signal will be delivered, whereas in the small error region it will behaves as a non-linear PD-like controller, see Table 1.
Two types of Inference Engines are used; one is composition-based inference and the other is individual-rule-based inference.In the defuzzification, the set of modified control output values in the form of fuzzy sets is converted into single point-wise values or crisp values.Various defuzzification methods can be used; we used the centre of gravity or centre of area method.
Fuzzy controllers have the disadvantage that it is difficult to tune the large number of parameters, in contrast to the proportional derivative (PD) controller, which can be expressed by the equation: Even in the presented case of a fuzzy logic controller when a minimum number of fuzzy variables and rules have been used, better results than with a PD controller have been achieved.As a fuzzifier, three fuzzy sets (two sigmoid and one Gaussian membership functions) have been used to convert the crisp values of the inputs into fuzzy linguistic variables, see Fig. 9. Similarly five fuzzy sets (two sigmoid and three Gaussian membership functions) have been used to convert fuzzy linguistic variables into crisp values of the outputs as a control signal.The whole process of fuzzy control can be expressed in the following steps, considering x as input and y as output for each step.Also two types of membership functions are used as given below: Sigmoid membership function: ( ) Step 1: Fuzzifier: Conversion of crisp values to fuzzy variables: For Input 1, i.e., error, conversion has been done using three fuzzy variables (Negative (N) using the sigmoid membership function of parameters [-250 -0.02], Zero (Z) using the Gaussian membership function of parameters [0.015 0], and Positive (P) using the sigmoid membership function of parameters [250 0.02]).

Logical Operators
The logical operator AND used in the rules is described as: ( ) Step 3:

Implication
The implication used in rules is as follows: if error is P AND change of error is N then control signal is P.
Step 4: Aggregation: In Aggregation, the rules directed towards one output are combined together.We used the logical operator OR with max function as given below: ( ) In our case we had one output and five rules.
Step 5: Defuzzification: Defuzzification is the process of converting fuzzy variables to crisp values.The center of gravity method has been used to obtain crisp values of the output from the reference output fuzzy sets.The reference fuzzy sets consist of five fuzzy variables (negative large (NL) using the sigmoid membership function [-175 -0.12], negative (N) using the Gaussian membership function [0.008 -0.05], zero (Z) using the Gaussian membership function [0.008 0], positive (P) using the Gaussian membership function [0.008 0.05] and positive large (PL) using the sigmoid membership function [175 0.12]).The following formula has been used to convert the fuzzy variables to crisp values.
( ) As shown in Fig. 8, GUIs has been used in Matlab, where all the input and output fuzzy variables, inference system, fuzzifier and defuzzifier can be defined very easily by setting the corresponding parameters.Then the controller is connected to the model in Simulink, as shown in Fig. 7.

Results and conclusions
This work has two aims: the first is to elaborate a way of non-linear modelling of a differential hydraulic actuator suit- able for programming in Simulink.The second goal is to use this model for comparing a classical and a non-linear fuzzy logic control loop design.The obtained results do not show any discrepancy with our experience or with the available experimental data.The responses that we obtained confirm the general advantage of FLC in quicker responses, due to the fact that only FLC is able to produce control signals that are not only proportionally dependent on control error as in the case of a PD controller.The fundamental importance of a proper choice of the gain in the PD controller is demonstrated in by the columns in Fig. 13, where the left column shows responses with half of the gain used in the experiments depicted in the right column.PD for small step changes surprisingly achieved worse control responses than for larger step changes.The anti-windup problem has been solved, as shown in Fig. 15, which explains the importance of

Fig. 5 Fig. 3 :Fig. 4 :
Fig. 3: Simulink block diagram of the hydraulic actuator model where u PD is the control signal, e the control error, and the constants K P , K D represent proportional and derivate constants.The controller parameters can be optimised heuristically, but good support for optimising these parameters is provided by the Matlab toolbox called the NCD Block set.

Table 1 :
Lookup Table (explaining rules) Normalization Crisp process-state valuesFig.6: The structure of a Fuzzy Knowledge Based Controller

Table 2 :
Lists of Symbols