1 Introduction

Recently, more and more intelligent devices have been developed in various industries using intelligent control theory [1, 2]. Of course, the research and development of precision medical equipment is also the theme of the times [3]. Pneumatic technology uses compressed air as a working medium for energy and signal transmission [4, 5]. The application of compressed air in the field of transmission and control has been described as a problem of charging and exhausting the fixed chamber. Pneumatic technology is important to production and automatic control [6, 7]. It has the advantages of low cost, cleanliness, safety, and reliability, and it has been widely used in various industries, such as automobile brake systems, pneumatic robots, pneumatic conveying, and nail guns [8,9,10].

Pneumatic finger cylinders, also known as pneumatic claws, can realize various grasping functions and are the key components of modern pneumatic manipulators. The characteristic of a pneumatic finger cylinder is that all the structures are double-acting. It can realize two-way grasping and automatic alignment [11]. However, because the machining accuracy of the pneumatic finger cylinder or workpiece is insufficient or the structure size deviation is large, the pneumatic finger clamping is not stable. Therefore, in order to achieve better clamping quality, a certain margin of opening and closing stroke should be reserved for the pneumatic finger cylinder when clamping the workpiece. For extremely thin and slender workpieces, in order to prevent unstable clamping and position deviation, the concession space should be set at the end of the pneumatic finger cylinder. In industrial applications, the two-point position control mode can no longer satisfy the requirements of the modern industry for position control. The requirement of pneumatic position servo system is getting higher and higher. In order to achieve stable clamping, it has become a hot spot in the field of position servo control to achieve precise control of the position of the pneumatic finger at any position within the range of travel.

In high precision and ultra-low-speed servo systems, the dynamic and static performance of the system is greatly affected by the existence of nonlinear friction links, which mainly manifests as a creeping phenomenon at low speed and a static or limit-cycle oscillation phenomenon at steady state. Research on friction modeling and dynamic compensation control technology has a history of nearly 100 years. However, owing to limitations of control theory and tribology development levels, research in this area has not progressed. With the advanced friction model and compensation method proposed one after another, many compensation techniques have been successfully applied for the control design of mechanical servo system. Rouzbeh et al. [12] added an adaptive friction compensator to the outer-loop position control law of the pneumatic rotary actuator controller. The experimental results show that the accuracy of the rotation position was improved and the steady-state error of the servo system was reduced.

With the development of intelligent algorithms, in the field of pneumatic position servos, many experts and scholars have used intelligent algorithms to improve the accuracy of pneumatic positions [13, 14]. Mu et al. [15] proposed a predictive fuzzy control method based on a neural network of a pneumatic servo system. This method predicts the output according to the hypothetical object of the predictive fuzzy scheme and verifies it with the target virtual object model established by the neural network. This method improves the effect of position control. Bone [16] proposed a new discrete-valued model predictive control algorithm for the position control of hybrid pneumatic electric actuators. Simulation results show that the proposed algorithm has better control accuracy than the sliding mode control algorithm. In order to solve the problem that pneumatic artificial muscle is difficult to control its position precisely because of its high nonlinearity, Fan et al. [[17]] proposed an adaptive cascade controller based on the BP neural network tuning PID algorithm, which greatly improved the position control performance of pneumatic artificial muscle. Estrada et al. proposed a sample-based second-order sliding mode switched to gain an output feedback controller. The controller used the gain adjustment mechanism of the convergence condition to reduce the position buffeting effect of the actuator.

At present, scholars at home and abroad have performed little research on the position control of pneumatic finger, and the accuracy of position control is low, which cannot meet the requirements of modern industry for position control. Intelligent algorithm and friction compensation method can improve the accuracy of position servo control system to a great extent [18, 19]. The proportional derivative (PD) controller is widely used because of its simple structure and good control performance [20,21,22]. Differential evolution algorithms are optimization algorithms based on swarm-intelligence theory. In this paper, a friction compensation controller based on a differential evolution algorithm to optimize the PD parameters is proposed. Experiments showed that the controller exhibited good control performance in a position servo system of a pneumatic finger cylinder controlled by a proportional valve.

2 Establishment of Experimental Platform

Figure 1 displays a pneumatic servo position control system with a sliding guideway finger cylinder as the control object. The power source of the pneumatic system is the air compressor, and the air-service unit plays the role of stabilizing the air pressure and cleaning the gas. The proportional directional valve controls the flow direction and flow rate of the gas, and it controls the displacement of the pneumatic finger cylinder. The laser range finder transmits the opening/closing displacement of the pneumatic finger cylinder to the data acquisition system of an industrial computer in the form of voltage. Through the conversion of displacement and voltage, the opening/closing displacement of the pneumatic finger cylinder was obtained. LabVIEW software is used as the host computer to process and collect information. The difference between the set displacement and the measured actual displacement was converted into a voltage signal of 0–10 V, which is transmitted to the proportional directional valve to control the deviation from the opening size of the proportional valve to adjust the pneumatic finger displacement. The precise opening/closing displacement of the finger cylinder is controlled in real time by the above process.

Figure 1
figure 1

Principle diagram of pneumatic finger cylinder position servo control system

According to the principle of the system, the components are selected reasonably, and the experimental platform is built as shown in Figure 2. The types and parameters of the components are listed in Table 1.

Figure 2
figure 2

Experimental platform of pneumatic finger cylinder position servo control system

Table 1 Types and parameters of major components

3 System Modeling

The mathematical model expresses the dynamic characteristics of the system. It not only reflects the dynamic characteristics of each state variable of the system, but it also reveals the effect of each factor on the system response in essence [23].

Figure 3 displays the proportional directional valve that controls the pneumatic finger cylinder mechanism. It describes the gas flow mechanism of a valve-controlled cylinder system. The left and right chambers of the proportional directional valve are connected to the two chambers of the cylinder. The control body connected to the left chamber of the proportional valve is Chamber a, and the control body connected to the right end of the proportional valve is Chamber b. Compressed air flows from the left chamber of the proportional valve into Chamber a, whereas the gas in Chamber b flows into the atmosphere through the right chamber of the proportional valve. To simplify the mathematical model of the system, it is assumed that any chamber of the proportional valve and the cylinder chamber connected with it can be regarded as an integral chamber with equal temperature and pressure. Additionally, it was assumed that the spool of proportional directional valve moves in a positive direction to the right. When the spool of the proportional direction valve moves in the positive direction, the pneumatic finger cylinder moves from the open state to the closed state. It was assumed that the working medium is an ideal gas satisfying the ideal gas state equation, and the flow process of the gas is an isentropic adiabatic process, ignoring the leakage of the gap between the spool and the valve sleeve.

Figure 3
figure 3

Diagram of proportional directional valve control pneumatic finger cylinder mechanism

In Figure 3, ps represents the supply pressure; pe represents the atmospheric pressure; L represents the piston displacement; y represents the pneumatic finger movement displacement; the mass flow rate of Chamber a and Chamber b are expressed by \(\dot{M}_{{\text{a}}}\) and \(\dot{M}_{{\text{b}}}\), respectively; the pressure of the two chambers is expressed in terms of pa and pb; the volumes of the two chambers are Va and Vb; and the temperatures of the two chambers are Ta and Tb.

3.1 Mass-Flow Equation of Proportional Directional Control Valve

When the spool moves to the right, the gas flows into the left chamber or atmosphere through the throttle hole of the proportional valve. The compressed air in the air inlet chamber of the pneumatic finger cylinder drives the piston to move, and the piston drives the finger of the pneumatic finger cylinder to produce a closed action through the guide rail. Figure 4 presents a diagram of the relative position of the circular throttle hole and the spool shoulder of the proportional valve.

Figure 4
figure 4

Diagram of relative position of circular throttle orifice and spool shoulder of proportional valve

In Figure 4, r represents the radius of a circular orifice, 2a is the width of the spool shoulder, \(x_{{\text{v}}}\) represents the displacement of the spool relative to the bush, and the area S represents the geometric cross-sectional area of the orifice. The expression of the geometric section area S can be obtained from the geometric relationship in the graph [[24]]:

$$S = \left\{ {\begin{array}{*{20}c} {0,} & {x_{{\text{v}}} \le a - r,} \\ {r^{2} \arccos \frac{{a - x_{{\text{v}}} }}{r} - \left( {a - x_{{\text{v}}} } \right)\sqrt {r^{2} - \left( {a - x_{{\text{v}}} } \right)^{2} } ,} & {a - r < x_{{\text{v}}} \le a.} \\ \end{array} } \right.$$
(1)

Considering the shrinkage and friction loss of the throttle hole, the mass flow rate of the inlet pneumatic finger cylinder can be expressed as follows:

$${\dot M_{\text{a}}} = \left\{{ \begin{array}{*{20}ll} {CS\frac{p_{\text{s}}}{{\sqrt {R{T_{\text{s}}}}}}\sqrt {\frac{2\kappa}{\kappa - 1}\left[ {{{\left( {\frac{p_{\text{a}}}{p_{\text{s}}}} \right)}^{\frac{2}{\kappa }}} - {{\left( {\frac{p_{\text{a}}}{p_{\text{s}}}} \right)}^{\frac{\kappa + 1}{\kappa }}}} \right]} ,} & {\left( {\frac{p_{\text{a}}}{{{p_{\text{s}}}}} \geqslant {c_0}} \right),} \\ {CS\frac{p_{\text{s}}}{{\sqrt {R{T_{\text{s}}}} }}\sqrt {\frac{{2\kappa }}{{\kappa + 1}}{{\left( {\frac{2}{{\kappa + 1}}} \right)}^{\frac{2}{\kappa - 1}}},} } & {\left( {\frac{p_{\text{a}}}{p_{\text{s}}} < {c_0}} \right),} \\ \end{array} } \right.$$
(2)
$${\dot M_{\text{b}}} = \left\{ {\begin{array}{*{20}ll} { - CS\frac{p_{\text{b}}}{{R{T_{\text{b}}}}}\sqrt {\frac{{2\kappa }}{{\kappa - 1}}\left[ {{{\left( {\frac{p_{\text{e}}}{p_{\text{b}}}} \right)}^{\frac{2}{\kappa }}} - {{\left( {\frac{{p_{\text{e}}}}{{p_{\text{b}}}}} \right)}^{\frac{\kappa + 1}{\kappa }}}} \right]} ,} & {\left( {\frac{p_{\text{e}}}{p_{\text{b}}} \geqslant {c_0}} \right),} \\ { - CS\frac{p_{\text{b}}}{R{T_{\text{b}}}}\sqrt {\frac{2\kappa }{\kappa + 1}{{\left( {\frac{2}{\kappa + 1}} \right)}^{\frac{2}{\kappa - 1}}}} ,} & {\left( {\frac{{p_{\text{e}}}}{{p_{\text{b}}}} < {c_0}} \right),} \\ \end{array} } \right.$$
(3)

where R is the gas constant, C is the flow coefficient of gas through the throttle orifice, and \(\kappa\) is the isentropic index (air at room temperature is 1.4), and \(c_{0}\) is the critical pressure ratio.

Eqs. (2) and (3) are linearized using Taylor’s formula in the middle of the spool:

$$\left\{ \begin{aligned} \Delta \dot{M}_{{\text{a}}} & = k_{1} \Delta x_{{\text{v}}} - k_{2} \Delta p_{{\text{a}}} , \\ \Delta \dot{M}_{{\text{b}}} & = - k_{1} \Delta x_{{\text{v}}} - k_{2} \Delta p_{{\text{b}}} , \\ \end{aligned} \right.$$
(4)

where k1 stands for the flow gain and k2 stands for the flow-pressure coefficient. k1 and k2 under initial conditions are expressed as follows:

$$\left\{ \begin{aligned} k_{1} & { = }\left. {\frac{{\partial \dot{M}_{{\text{a}}} }}{{\partial x_{{\text{v}}} }}} \right|_{{p_{{\text{a}}} = p_{0} }} \approx \left. { - \frac{{\partial \dot{M}_{{\text{b}}} }}{{\partial x_{{\text{v}}} }}} \right|_{{p_{{\text{b}}} = p_{0} }} , \\ k_{2} & { = }\left. { - \frac{{\partial \dot{M}_{{\text{a}}} }}{{\partial p_{{\text{a}}} }}} \right|_{{p_{{\text{a}}} = p_{0} }} \approx \left. { - \frac{{\partial \dot{M}_{{\text{b}}} }}{{\partial p_{{\text{b}}} }}} \right|_{{p_{{\text{b}}} = p_{0} }} . \\ \end{aligned} \right.$$
(5)

3.2 Mass Flow Continuity Equation of Pneumatic Finger Cylinder

According to the law of mass flow conservation, under the condition of isentropy, the mass flow rate of the two chambers of the air claw cylinder is equal to the mass of the gas flowing into or out of the two chambers in a unit time.

$$\begin{aligned} \sum {\dot{M}_{{{\text{in}}}} } - \dot{M}_{{{\text{out}}}} & = \frac{{{\text{d}}M}}{{{\text{d}}t}} = \frac{{{\text{d}}\left( {\rho V} \right)}}{{{\text{d}}t}} \\ & = \rho \frac{{{\text{d}}V}}{{{\text{d}}t}} + V\frac{{{\text{d}}\rho }}{{{\text{d}}t}}. \\ \end{aligned}$$
(6)

The continuity equation of mass flow in the pneumatic finger cylinder chamber a and chamber b is as follows:

$$\left\{ \begin{aligned} \dot{M}_{{\text{a}}} & = \rho_{{\text{a}}} \frac{{{\text{d}}V_{{\text{a}}} }}{{{\text{d}}t}} + V_{{\text{a}}} \frac{{{\text{d}}\rho_{{\text{a}}} }}{{{\text{d}}t}}, \\ \dot{M}_{{\text{b}}} & = \rho_{{\text{b}}} \frac{{{\text{d}}V_{{\text{b}}} }}{{{\text{d}}t}} + V_{{\text{b}}} \frac{{{\text{d}}\rho_{{\text{b}}} }}{{{\text{d}}t}}. \\ \end{aligned} \right.$$
(7)

Substituting the state equation \(p = mRT/V\) of ideal gas into Eq. (7), Eq. (8) can be obtained:

$$\left\{ \begin{aligned} \dot{M}_{{\text{a}}} & = \frac{1}{{RT_{{\text{a}}} }}\left( {p_{{\text{a}}} \frac{{{\text{d}}V_{{\text{a}}} }}{{{\text{d}}t}} + V_{{\text{a}}} \frac{{{\text{d}}p_{{\text{a}}} }}{{{\text{d}}t}} - \frac{{p_{{\text{a}}} V_{{\text{a}}} }}{{T_{{\text{a}}} }}\frac{{{\text{d}}T_{{\text{a}}} }}{{{\text{d}}t}}} \right), \\ \dot{M}_{{\text{b}}} & = \frac{1}{{RT_{{\text{b}}} }}\left( {p_{{\text{b}}} \frac{{{\text{d}}V_{{\text{b}}} }}{{{\text{d}}t}} + V_{{\text{b}}} \frac{{{\text{d}}p_{{\text{b}}} }}{{{\text{d}}t}} - \frac{{p_{{\text{b}}} V_{{\text{b}}} }}{{T_{{\text{b}}} }}\frac{{{\text{d}}T_{{\text{b}}} }}{{{\text{d}}t}}} \right). \\ \end{aligned} \right.$$
(8)

Eq. (9) can be obtained from isentropic conditions:

$$T = T_{0} \left( {\frac{p}{{p_{0} }}} \right)^{{\frac{\kappa - 1}{\kappa }}} ,$$
(9)

where \(T_{0}\) stands for the initial temperature, and \(p_{0}\) stands for initial pressure. Eq. (10) can be derived from the differential of Eq. (9) pairs of time.

$$\begin{aligned} \frac{{{\text{d}}T}}{{{\text{d}}t}} & = \frac{\kappa - 1}{\kappa }\frac{{T_{0} }}{{p_{0} }}\left( {\frac{p}{{p_{0} }}} \right)^{{ - \frac{1}{k}}} \frac{{{\text{d}}p}}{{{\text{d}}t}} \\ & = \frac{\kappa - 1}{\kappa }\frac{{T_{0} }}{p}\left( {\frac{p}{{p_{0} }}} \right)^{{\frac{\kappa - 1}{\kappa }}} \frac{{{\text{d}}p}}{{{\text{d}}t}} \\ & = \frac{\kappa - 1}{\kappa }\frac{T}{p}\frac{{{\text{d}}p}}{{{\text{d}}t}}. \\ \end{aligned}$$
(10)

Substituting Eq. (10) into Eq. (8) yields:

$$\left\{ \begin{aligned} \dot{M}_{{\text{a}}} & { = }\frac{1}{{RT_{{\text{a}}} \kappa }}\left( {V_{{\text{a}}} \frac{{{\text{d}}p_{{\text{a}}} }}{{{\text{d}}t}} + \kappa p_{{\text{a}}} \frac{{{\text{d}}V_{{\text{a}}} }}{{{\text{d}}t}}} \right), \\ \dot{M}_{{\text{b}}} & { = }\frac{1}{{RT_{{\text{b}}} \kappa }}\left( {V_{{\text{b}}} \frac{{{\text{d}}p_{{\text{b}}} }}{{{\text{d}}t}} + \kappa p_{{\text{b}}} \frac{{{\text{d}}V_{{\text{b}}} }}{{{\text{d}}t}}} \right). \\ \end{aligned} \right.$$
(11)

Under the assumption of a small disturbance, Eq. (12) can be obtained by setting the parameters of the pneumatic finger cylinder piston at a steady working point as initial values. The subscripts 0a and 0b represent the initial states of chambers a and b, respectively.

$$\left\{ {\begin{array}{*{20}ll} {\dot{M}_{{\text{a}}} { = }0 + \Delta \dot{M}_{{\text{a}}} ,} & {\dot{M}_{{\text{b}}} = 0 + \Delta \dot{M}_{{\text{b}}} ,} \\ {p_{{\text{a}}} = p_{{{\text{0a}}}} + \Delta p_{{\text{a}}} ,} & {p_{{\text{b}}} { = }p_{{{\text{0b}}}} + \Delta p_{{\text{b}}} ,} \\ {V_{{\text{a}}} { = }V_{{{\text{0a}}}} + \Delta V_{{\text{a}}} ,} & {V_{{\text{b}}} { = }V_{{{\text{0b}}}} + \Delta V_{{\text{b}}} ,} \\ {T_{{\text{a}}} = T_{{{\text{0a}}}} + \Delta T_{{\text{a}}} ,} & {V_{{\text{b}}} = T_{{{\text{0b}}}} + \Delta T_{{\text{b}}} .} \\ \end{array} } \right.$$
(12)

Figure 5 shows the physical drawing of the piston rod and finger. Because the connecting angle between the top of the piston rod and finger guide rail is 60°, the piston displacement is \(\sqrt 3\) the displacement of the pneumatic finger, as shown in Figure 6.

$$\left\{ \begin{aligned} \Delta \dot{V}_{{\text{a}}} & = A_{{\text{a}}} \Delta \dot{L} = \sqrt 3 A_{{\text{a}}} \Delta \dot{y}, \\ \Delta \dot{V}_{{\text{b}}} & = - A_{{\text{b}}} \Delta \dot{L} = - \sqrt 3 A_{{\text{b}}} \Delta \dot{y}, \\ T_{{0{\text{a}}}} & = T_{{{\text{0b}}}} = T_{{\text{s}}} . \\ \end{aligned} \right.$$
(13)
Figure 5
figure 5

Piston rod and finger matching physical drawing

Figure 6
figure 6

Piston rod cam structure schematic diagram

Because increments \(\Delta p_{{\text{a}}}\), \(\Delta p_{{\text{b}}}\), \(\Delta V_{{\text{a}}}\), \(\Delta V_{{\text{b}}}\), \(\Delta T_{{\text{a}}}\), and \(\Delta T_{{\text{b}}}\) are significantly smaller than \(p_{{\text{a}}}\), \(p_{{\text{b}}}\), \(V_{{\text{a}}}\), \(V_{{\text{b}}}\), \(T_{{\text{a}}}\), and \(T_{{\text{b}}}\), the values of increments can be ignored in the calculation. Therefore, the incremental expression of the continuity equation of the gas mass flow in the pneumatic finger cylinder chamber is as follows:

$$\left\{ \begin{aligned} \Delta \dot{M}_{{\text{a}}} & { = }\frac{1}{{RT_{{\text{s}}} \kappa }}\left( {V_{{{\text{0a}}}} \frac{{{\text{d(}}\Delta p_{{\text{a}}} )}}{{{\text{d}}t}} + \sqrt 3 \kappa p_{{{\text{0a}}}} A_{{\text{a}}} \Delta \dot{y}} \right), \\ \Delta \dot{M}_{{\text{b}}} & { = }\frac{1}{{RT_{{\text{s}}} \kappa }}\left( {V_{{{\text{0b}}}} \frac{{{\text{d(}}\Delta p_{{\text{b}}} )}}{{{\text{d}}t}} - \sqrt 3 \kappa p_{{{\text{0b}}}} A_{{\text{b}}} \Delta \dot{y}} \right). \\ \end{aligned} \right.$$
(14)

The system is in a stable state initially, the piston rod is not affected by external forces, and we obtain \(A_{{\text{a}}} p_{{{\text{0a}}}} = A_{{\text{b}}} p_{{{\text{0b}}}}\). Effective area ratio of pneumatic finger cylinder piston with two chambers \(n = A_{{\text{b}}} /A_{{\text{a}}}\) and initial volume ratio of two chambers \(m = V_{{{\text{0b}}}} /V_{{{\text{0a}}}}\). Substituting the above relationship into Eq. (14), we obtain:

$$\left\{ \begin{aligned} \Delta \dot{M}_{{\text{a}}} & { = }\frac{1}{{RT_{{\text{s}}} \kappa }}\left( {V_{{{\text{0a}}}} \frac{{{\text{d(}}\Delta p_{{\text{a}}} )}}{{{\text{d}}t}} + \sqrt 3 \kappa p_{{{\text{0a}}}} A_{{\text{a}}} \Delta \dot{y}} \right), \\ \Delta \dot{M}_{{\text{b}}} & { = }\frac{1}{{RT_{{\text{s}}} \kappa }}\left( {mV_{{{\text{0a}}}} \frac{{{\text{d(}}\Delta p_{{\text{b}}} )}}{{{\text{d}}t}} - \sqrt 3 \kappa p_{{{\text{0a}}}} A_{{\text{a}}} \Delta \dot{y}} \right). \\ \end{aligned} \right.$$
(15)

3.3 Kinematic Equation of Pneumatic Finger Cylinder

If the structural flexibility of the cylinder and piston rod is equal to zero, there is no external force interference. In Figure 3, according to Newton’s second theorem, the kinematic equation of the pneumatic finger cylinder is as follows:

$$A_{{\text{a}}} p_{{\text{a}}} - A_{{\text{b}}} p_{{\text{b}}} = M_{{\text{L}}} \ddot{y} + F_{{\text{L}}} + F_{{\text{f}}} ,$$
(16)

where ML denotes piston mass, FL refers to the external load force, and Ff represents the friction between the piston and cylinder wall and sliding guide.

The friction force of a pneumatic finger cylinder can be divided into static and dynamic friction forces. When the piston is in the zero-speed range it is subjected to static friction. When the piston starts to move, it is subject to Coulomb and viscous friction. At this time, a part of the static friction begins to be replaced by dynamic friction. The total friction of the piston will decrease sharply, and the total friction will increase gradually after reaching a certain speed. The Stribeck friction model accurately represents the trend of friction change and smoothly connects the static friction force with the viscous friction force. The mathematical equation of the Stribeck friction model [25,26,27] is expressed as follows:

When \(\left| {\dot{y}} \right| \le \alpha\), the model is static friction:

$$F_{{\text{f}}} = \left\{ {\begin{array}{*{20}ll} {F_{{\text{s}}} {,}} & {F_{{\text{p}}} > F_{{\text{s}}} ,} \\ {F_{{\text{p}}} {,}} & { - F_{{\text{s}}} < F_{{\text{p}}} < F_{{\text{s}}} ,} \\ { - F_{{\text{s}}} {,}} & {F_{{\text{p}}} < - F_{{\text{s}}} ,} \\ \end{array} } \right.$$
(17)
$$F_{{\text{p}}} { = }A_{{\text{a}}} p_{{\text{a}}} - A_{{\text{b}}} p_{{\text{b}}} .$$
(18)

When \(\left| {\dot{y}} \right| > \alpha\), the model is dynamic friction:

$$F_{{\text{f}}} { = }\sigma \dot{y} + {\text{sgn}} \left( {\dot{y}} \right)\left[ {F_{{\text{c}}} + (F_{{\text{s}}} - F_{{\text{c}}} )e^{{ - \left( {{{\dot{y}} \mathord{\left/ {\vphantom {{\dot{y}} {\dot{y}_{{\text{s}}} }}} \right. \kern-\nulldelimiterspace} {\dot{y}_{{\text{s}}} }}} \right)^{2} }} } \right],$$
(19)

where \(F_{{\text{f}}}\) is the friction force on the piston,\(F_{{\text{s}}}\) is the maximum static friction force, \(F_{{\text{p}}}\) is the driving force of the piston, \(F_{{\text{c}}}\) is the Coulomb friction force, \(\dot{y}_{{\text{s}}}\) is the critical Stribeck velocity, and σ is the viscous friction coefficient.

When the pneumatic finger cylinder moves at a uniform velocity, the air in the cylinder works by overcoming the friction force. According to Newton’s second law, we obtain

$$F_{{\text{f}}} { = }A_{{\text{a}}} p_{{\text{a}}} - A_{{\text{b}}} p_{{\text{b}}} .$$
(20)

Therefore, the friction force can be obtained by substituting the pressure values of the two chambers into Eq. (20) when the piston of the pneumatic finger cylinder moves at a constant velocity. The frictional force-velocity curve can be obtained by measuring the frictional force at different velocities. When the velocity is zero, the maximum friction value is the maximum static friction \(F_{{\text{s}}}\). The friction curve of the high-velocity region can be approximately regarded as a straight line \(f_{1} = \sigma \dot{y} + F_{{\text{c}}}\). The slope of the line is the coefficient of viscous friction \(\sigma\), while the intersection of the line and the ordinate is the Coulomb friction. The \(F_{{\text{c}}}\) friction curve in the low-velocity region can be approximately regarded as a straight line \(f_{2} = k\dot{y} + F_{{\text{s}}}\), Suppose \(k\) is the slope of the line, and the abscissa of the intersection point with the ordinate on \(F_{{\text{c}}}\) the line is the critical Stribeck velocity \(\dot{y}_{{\text{s}}}\). In the experiment, different values of friction force were obtained by changing the smooth-running velocity of the piston, and the measured friction velocity was fitted with a curve (Figure 7). The Stribeck model parameter values are shown in Table 2.

Figure 7
figure 7

Stribeck friction–velocity curve

Table 2 Stribeck model parameter values

3.4 Block Diagram and Transfer Function of Valve Controlled Pneumatic Finger Cylinder System

According to Eqs. (4), (15), and (16), we can obtain:

$$\left\{ \begin{aligned} \dot{M}_{{\text{a}}} - \frac{n}{m}\dot{M}_{{\text{b}}} & = \frac{m + n}{m}k_{1} x_{{\text{v}}} - k_{2} \left( {p_{{\text{a}}} - np_{{\text{b}}} } \right) - \frac{mn - n}{m}k_{2} p_{{\text{b}}} , \\ \dot{M}_{{\text{a}}} - \frac{n}{m}\dot{M}_{{\text{b}}} & { = }\frac{1}{{RT_{{\text{s}}} \kappa }}\left[ {V_{{{\text{0a}}}} \left( {\dot{p}_{{\text{a}}} - n\dot{p}_{{\text{b}}} } \right) + \frac{{\sqrt 3 \left( {m + n} \right)}}{m}\kappa p_{{{\text{0a}}}} A_{{\text{a}}} \dot{y}} \right], \\ A_{{\text{a}}} (p_{{\text{a}}} - np_{{\text{b}}} ) & = M_{{\text{L}}} \ddot{y} + F_{{\text{L}}} + F_{{\text{f}}} . \\ \end{aligned} \right.$$
(21)

When Eq. (21) is transformed into Laplacian form, we obtain:

$$\left\{ \begin{aligned} \dot{M}_{{\text{a}}} (s) - \frac{n}{m}\dot{M}_{{\text{b}}} (s) & = \frac{m + n}{m}k_{1} x_{{\text{v}}} (s) - k_{2} \left( {p_{{\text{a}}} (s) - np_{{\text{b}}} (s)} \right) \\ & \quad - \frac{mn - n}{m}k_{2} p_{{\text{b}}} (s), \\ \dot{M}_{{\text{a}}} (s) - \frac{n}{m}\dot{M}_{{\text{b}}} (s) & { \,=\, }\frac{1}{{RT_{{\text{s}}} \kappa }}\left\{ {V_{{{\text{0a}}}} s\left[ {p_{{\text{a}}} (s) - np_{{\text{b}}} (s)} \right]} \right\} \\ & \quad + \frac{1}{{RT_{{\text{s}}} \kappa }}\left\{ {\frac{{\sqrt 3 \left( {m + n} \right)}}{m}\kappa p_{{{\text{0a}}}} A_{{\text{a}}} sy(s)} \right\}, \\ A_{{\text{a}}} \left[ {p_{{\text{a}}} (s) - np_{{\text{b}}} (s)} \right] & = M_{{\text{L}}} s^{2} y(s) + F_{{\text{L}}} (s) + F_{{\text{f}}} (s). \\ \end{aligned} \right.$$
(22)

From Eq. (22), the block diagram of the system can be obtained, as shown in Figure 8. And \(p_{{{\text{La}}}} (s) = p_{{\text{a}}} (s) - np_{{\text{b}}} (s)\).

  1. (1)

    Transfer function of displacement \(x_{{\text{v}}}\) to output \(y_{x}\).

    When \(F_{{\text{f}}} = 0\), \(F_{{\text{L}}} = 0\) and \(p_{{\text{b}}} = 0\), the transfer function of spool displacement \(x_{{\text{v}}}\) to output displacement \(y_{x}\) is:

    $$\frac{{y_{x} (s)}}{{x_{{\text{v}}} (s)}} = \frac{{K_{{\text{T}}} \omega_{{\text{n}}}^{2} }}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}},$$
    (23)

    where gain is

    $$K_{{\text{T}}} = \frac{{k_{1} RT_{{\text{s}}} }}{{\sqrt 3 p_{{0{\text{a}}}} A_{{\text{a}}} }},$$
    (24)

    damping ratio is

    $$\zeta = \frac{{k_{2} RT_{{\text{s}}} }}{{2A_{{\text{a}}} }}\sqrt {\frac{{m\kappa M_{{\text{L}}} }}{{\sqrt 3 \left( {m + n} \right)V_{{0{\text{a}}}} p_{{0{\text{a}}}} }}} ,$$
    (25)

    and natural frequency is

    $$\omega_{{\text{n}}} = \sqrt {\frac{{\sqrt 3 \left( {m + n} \right)\kappa p_{{0{\text{a}}}} A_{{\text{a}}}^{2} }}{{mV_{{0{\text{a}}}} M_{{\text{L}}} }}} .$$
    (26)
  2. (2)

    When, \(x_{{\text{v}}} = 0\), \(F_{{\text{f}}} { = }0\) and \(F_{{\text{L}}} = 0\), the transfer function of chamber \({\text{b}}\) pressure \(p_{{\text{b}}}\) to output displacement \(y\) is:

    $$\frac{{y_{{\text{p}}} (s)}}{{p_{{\text{b}}} (s)}} = - \frac{{\frac{{(mn - n)k_{2} }}{{(m + n)k_{1} }}K_{{\text{T}}} \omega_{{\text{n}}}^{2} }}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}}.$$
    (27)
  3. (3)

    When, \(x_{{\text{v}}} = 0\), \(F_{{\text{L}}} { = }0\) and \(p_{{\text{b}}} = 0\), the transfer function of the friction force \(F_{{\text{f}}}\) to the output displacement \(y\) is:

    $$\frac{{y_{{\text{f}}} (s)}}{{F_{{\text{f}}} (s)}} = - \frac{{\frac{{mK_{{\text{T}}} \omega_{{\text{n}}}^{2} }}{{(m + n)k_{1} A_{{\text{a}}} }}\left( {\frac{{V_{{0{\text{a}}}} }}{{RT_{{\text{s}}} \kappa }}s + k_{2} } \right)}}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}}.$$
    (28)
  4. (4)

    When, \(x_{{\text{v}}} = 0\)\(F_{{\text{f}}} { = }0\) and \(p_{{\text{b}}} = 0\), the transfer function of the external load force \(F_{{\text{L}}}\) to the output displacement \(y\) is:

    $$\frac{{y_{{\text{L}}} (s)}}{{F_{{\text{L}}} (s)}} = - \frac{{\frac{{mK_{{\text{T}}} \omega_{{\text{n}}}^{2} }}{{(m + n)k_{1} A_{{\text{a}}} }}\left( {\frac{{V_{{0{\text{a}}}} }}{{RT_{{\text{s}}} \kappa }}s + k} \right)_{2} }}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}}.$$
    (29)
  5. (5)

    Thus, the total transfer function is:

    $$\begin{aligned} y(s) & = y_{x} (s) + y_{{\text{p}}} (s) + y_{{\text{f}}} (s) + y_{{\text{L}}} (s) \\ \\ \\ & = \frac{{K_{{\text{T}}} \omega_{{\text{n}}}^{2} x_{{\text{v}}} (s) - \frac{{(mn - n)k_{2} }}{{(m + n)k_{1} }}K_{{\text{T}}} \omega_{{\text{n}}}^{2} p_{{\text{b}}} (s) - \frac{{mK_{{\text{T}}} \omega_{{\text{n}}}^{2} \left( {F_{{\text{f}}} (s) + F_{{\text{L}}} (s)} \right)}}{{(m + n)k_{1} A_{{\text{a}}} }}\left( {\frac{{V_{{0{\text{a}}}} }}{{RT_{{\text{s}}} \kappa }}s + k_{2} } \right)}}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}}. \\ \end{aligned}$$
    (30)
Figure 8
figure 8

Block diagram of valve-controlled pneumatic finger cylinder

3.5 Transfer Function of System

The transfer function of the amplifier is:

$$\frac{U\left( s \right)}{{y_{{{\text{in}}}} \left( s \right) - y\left( s \right)}} = K_{{\text{a}}} ,$$
(31)

where \(U\) denotes the voltage of the amplifier, \(K_{{\text{a}}}\) stands for the gain of the amplifier, and \(y_{{{\text{in}}}}\) denotes the system input displacement.

The transfer function of proportional reversing valve can be described as follows:

$$\frac{{x_{{\text{v}}} \left( s \right)}}{U\left( s \right)} = K_{{\text{v}}} ,$$
(32)

where \(K_{{\text{v}}}\) stands for the gain of proportional valve.

To reduce the influence of the friction force on the system by friction compensation, the block diagram of the pneumatic finger cylinder servo system was obtained (Figure 9). And the model parameters of pneumatic finger cylinder servo system are listed in Table 3.

Figure 9
figure 9

Block diagram of pneumatic finger cylinder servo system

Table 3 Model parameters of pneumatic finger cylinder servo system

Therefore, the open-loop transfer function of the system is:

$$G(s) = \frac{{K_{{\text{a}}} K_{{\text{v}}} K_{{\text{T}}} \omega_{{\text{n}}}^{2} }}{{s\left( {s^{2} + 2\zeta \omega_{{\text{n}}} s + \omega_{{\text{n}}}^{2} } \right)}}.$$
(33)

4 Controller Design

The differential evolution algorithms optimize kp, the kd parameters of the PD controller based on the error value. At the same time, the friction force of the pneumatic finger cylinder varies with the moving velocity of the piston and finger. Accurate parameters of the friction model can be identified by using finger movement, and the velocity of pneumatic finger cylinder as the input signal of the friction model. Finally, the precise model parameters of system identification are input into the system to compensate the friction force of the pneumatic finger cylinder, and then precise position control is realized. The pneumatic finger cylinder is an asymmetric cylinder, and the piston force area of chamber a is different from that of chamber b. The system uses a symmetrical proportional directional valve, which causes the piston to expand and retract at different speeds under the same flow gain. In order to make the output of the system track the input signal well, the velocity of the piston in two directions should be equal, and the method of flow gain compensation is adopted. Different initial voltage signals are set in the direction of piston extension and retraction, and the initial voltage signals of the switching proportional valve are adjusted in real time by judging statements. In addition, in order to avoid the influence of the median dead zone of the proportional valve, the initial voltage u1 in the direction of piston extension (the state of the finger is open) is less than the median driving voltage of the proportional valve; the initial voltage u2 in the direction of piston retraction (the state of the finger is closed) is larger than the median driving voltage of the proportional valve. \(\left| {u_{1} - u_{0} } \right| \ge \left| {u_{2} - u_{0} } \right|\), where u0 is the driving voltage of the proportional direction control valve in the middle position. The control structure diagram of the friction identification compensation is shown in Figure 10.

Figure 10
figure 10

Control structure chart of friction identification compensation

The essence of friction compensation is to change the throttle opening by compensating the driving voltage of the proportional directional control valve. Under ideal conditions the identified friction model is equivalent to the friction model. Under the condition of realizing full compensation of friction, there are the following relationships:

$$G_{{\text{f}}} \left( s \right)K_{{\text{a}}} K_{{\text{v}}} - \frac{{m\left( {\frac{{V_{{0{\text{a}}}} }}{{RT_{{\text{s}}} \kappa }}s + k_{2} } \right)}}{{\left( {m + n} \right)k_{1} A_{{\text{a}}} }} = 0.$$
(34)

The transfer function \(G_{{\text{f}}} \left( s \right)\) is:

$$G_{{\text{f}}} \left( s \right) = \frac{{m\left( {\frac{{V_{{0{\text{a}}}} }}{{RT_{{\text{s}}} \kappa }}s + k_{2} } \right)}}{{\left( {m + n} \right)k_{1} A_{{\text{a}}} K_{{\text{a}}} K_{{\text{v}}} }}.$$
(35)

Differential evolution algorithms are an intelligent guided search process generated by the cooperation and competition of individuals within a group. Differential Evolution is an algorithm based on real-number encoding and a greedy strategy for preserving the best [28]. The main characteristics of the differential evolution algorithm are the global search strategy, real coding, simple mutation operation based on difference, and one-to-one competitive survival strategy retained to reduce the complexity of genetic operation. At the same time, the unique memory ability of differential evolution enables the algorithm to dynamically track the current search situation to adjust the search strategy, so that it maintains strong global convergence and robust performance. The greatest characteristic and innovation of the differential evolution algorithm lies in the design of the mutation operator. The mutation operator contains many individuals. First, the combination of one or more individuals from the population is selected as the base vector, and the difference between different individuals is selected to form the difference vector. Finally, the combination of the base vector and the difference vector is used to generate the mutation vector. Individuals generated by mutation cross-operate with those of the parent generation, and then compete with the parent generation. The better ones are retained for the next generation.

The specific steps of the algorithm [29, 30] are as follows.

  • Step 1: Initialize the population

    $$x_{i,j} (0) = x_{i,j}^{{\text{L}}} + {\text{rand(0,1)}} \cdot {(}x_{i,j}^{{\text{U}}} - x_{i,j}^{{\text{L}}} ),$$
    (36)

    where \(x_{i,j}^{{\text{U}}}\) and \(x_{i,j}^{{\text{L}}}\) represent the upper and lower bounds of the value range of the chromosome, j respectively.

  • Step 2: Mutation operation

    $$u_{{_{i,j} }}^{t + 1} = x_{i1,j}^{t} + F(x_{i2,j}^{t} - x_{i3,j}^{t} ),$$
    (37)

    where \(x_{i1,j}^{t}\), \(x_{i2,j}^{t}\), \(x_{i3,j}^{t}\) are randomly selected three distinct individuals from an evolutionary population.

  • Step 3: Crossover operation

    $$h_{i,j}^{t + 1} = \left\{ \begin{aligned} u_{{_{i,j} }}^{t + 1} ,\;{\text{rand(0,1)}} \le {\text{CR,}} \hfill \\ x_{{_{i,j} }}^{t} ,\;{\text{rand(0,1) > CR,}} \hfill \\ \end{aligned} \right.\quad {\text{CR}} \in \left[ {0,1} \right],$$
    (38)

    where CR is the crossover probability.

  • Step 4: Select the operation

    The differential evolutionary algorithm uses a greedy algorithm to select individuals entering the next generation of population:

    $$x_{{_{i} }}^{t + 1} = \left\{ {\begin{array}{*{20}ll} {h_{i}^{t + 1} ,} & {f\left( {h_{i}^{t + 1} } \right) \le f\left( {x_{i}^{t} } \right),} \\ {x_{i}^{t} ,} & {{\text{otherwise}}{.}} \\ \end{array} } \right.$$
    (39)

All the optimization individuals are based on the individual, and the optimal individual is the optimal solution found. Repeat steps 2 to 4 until the maximum evolutionary algebra is reached. To control the pneumatic finger cylinder accurately, the absolute error time integral performance indexes are used as the minimum objective function of parameter selection. To prevent excessive control, the square term of the control input is added to the objective function, and the following formula is chosen as the optimal index for parameter selection:

$$Z = \int\limits_{0}^{\infty } {\left[ {w_{1} \left| {e\left( t \right)} \right| + w_{2} y_{{{\text{in}}}}^{{2}} (t)} \right]} ,$$
(40)

where \(e\left( t \right)\) is the system error, and w1 and w2 are the system weight values.

5 Experiment and Analysis

Before the experiment, the parameters of the controller were set up. The gas supply pressure was set as 0.5 MPa, the gas temperature was 20 °C, and the population number was 30. Also, the proportionality coefficient \(k_{{\text{p}}} \in \left[ {0,10} \right]\), differential coefficient \(k_{{\text{d}}} \in \left[ {0,5} \right],\) system weight values \(w_{1} = 0.999\) and \(w_{2} = 0.001\), and evolutionary algebra \(G{ = }50\), were set.

5.1 Flow-gain Compensation Control Experiment of Proportional Directional Control Valve

By analyzing the physical structure of the pneumatic finger cylinder, we concluded that the pneumatic finger cylinder was asymmetric. Because the force area of the piston in the two chambers of the pneumatic finger cylinder was different, the motion characteristics of the asymmetric cylinder controlled by the symmetrical proportional directional valve were different from the positive and negative motion directions. The actual hardware structure of the control system was fixed, in order to improve the dynamic performance of the system and improve the response accuracy of the system. The original controller output signal was transformed and then input to the control system. This method was equivalent to changing the hardware structure of the control system to realize the compensation effect.

In this study, by changing the input voltage signal of the proportional directional control valve to change the opening of the valve port, the flow gain of the proportional directional control valve was controlled. Additionally, the proportional directional control valve and the pneumatic finger cylinder were optimally matched to solve the problem that the motion characteristics of the asymmetric cylinder controlled by the symmetrical proportional directional control valve were inconsistent in the positive and negative motion directions. A sinusoidal signal with frequency of 0.5 Hz was input with an amplitude of 2 to the controller, and the motion compensation effect of the finger cylinder opening and closing was analyzed. Figure 11 shows the comparison of the position tracking experiments before and after flow compensation for the traditional PD controller. In Figure 11, we can see that the flow gained compensation strategy of the proportional directional control valve (under the same controller parameters) largely solves the inconsistent (positive/negative) directional problem. Figure 12 shows the comparison of the position error before flow gained compensation for the proportional directional control valve. The flow compensation strategy of the proportional directional control valve improved the position tracking accuracy and the feasibility of the method was proved.

Figure 11
figure 11

Comparison of position tracking before and after flow gain compensation of proportional directional control valve

Figure 12
figure 12

Comparison of position error before flow gain compensation of proportional directional control valve

5.2 Positioning Experiment

By setting the target displacement of the pneumatic finger cylinder to 2 mm, the input step signal to the controller and the positioning results of the pneumatic fingers were obtained. The PD parameter optimization process of the differential evolution algorithm controller is shown in Figure 13.

Figure 13
figure 13

Parameter optimization process of differential evolution controller with friction compensation under step signal

The friction parameter shown in Table 2 was used as the initial value of identification. The friction parameter identification process of the differential evolution algorithm is shown in Figure 14. The controller parameters and friction parameters were finally used in the pneumatic finger cylinder position control system. Figure 15 shows a comparison of the positioning experimental results of the traditional PD control strategy, the PD control strategy with friction, and the friction compensation control strategy based on the differential evolution algorithm. Figure 16 shows the positioning error diagram under the three control strategies. It can be seen from the figure that the maximum steady-state error of the friction compensation control strategy based on the differential evolution algorithm is 0.015 mm, the maximum steady-state error of the PD control strategy with friction compensation is 0.04 mm, and the maximum steady-state error of the traditional PD control strategy is 0.07 mm.

Figure 14
figure 14

Friction parameter identification process of positioning experiment

Figure 15
figure 15

Positioning comparison curve under three control strategies

Figure 16
figure 16

Positioning error diagram under three control strategies

5.3 Position Tracking Experiment

In the displacement tracking experiment, a sinusoidal signal with an input amplitude of 2 mm and a period of 0.5 Hz was set. Figure 17 shows the parameter optimization process of the differential evolution controller with friction compensation under a sinusoidal signal. Figure 18 shows the friction parameter identification process of the position tracking experiment. Figure 19 shows the tracking comparison curves of the sinusoidal signal under the three control strategies. Figure 20 shows a comparison diagram of the tracking signal errors under the three control strategies. The maximum steady-state error of the compensation control strategy of the differential evolution algorithm with a friction compensation was ± 0.1 mm, the steady-state error of the PD control strategy with friction compensation was ± 0.19 mm, and the maximum steady-state error of the traditional PD control strategy was ± 0.27 mm.

Figure 17
figure 17

Parameter optimization process of differential evolution controller with friction compensation under sinusoidal signal

Figure 18
figure 18

Friction parameter identification process of position tracking experiment

Figure 19
figure 19

Tracking comparison curves of sinusoidal signal under three control strategies

Figure 20
figure 20

Error comparison curve of sinusoidal signal under three control strategies

6 Conclusions and Analysis

In order to realize the accurate clamping of objects of different diameters using pneumatic finger cylinders, this study focused on a proportional directional control valve and pneumatic finger cylinder, analyzed the characteristics of the proportional directional control valve and the physical structure of the pneumatic finger cylinder, and adopted the method of proportional valve flow gain compensation to account for the asymmetry of pneumatic finger cylinders in sinusoidal motion. The relative motion relationship between the piston and the finger of the cylinder was analyzed, and the Stribeck friction model parameters of the pneumatic finger cylinder were measured. On this basis, a Stribeck friction compensation controller based on a differential evolution algorithm was designed. A pneumatic position servo experiment platform was built, taking the pneumatic finger cylinder as the control object. By analyzing and comparing the experimental data under three control strategies, we made the following conclusions.

  1. (1)

    The flow gain compensation method for proportional directional control valves solved the problem of inconsistent (positive/negative direction motion characteristics) pneumatic finger cylinders.

  2. (2)

    Friction compensation effectively improved the positioning performance and position tracking performance of pneumatic finger cylinders.

  3. (3)

    Of the three friction compensation control strategies, the differential evolution algorithm exhibited better control accuracy and the fastest response.