1 Introduction

In the past two decades, great interest has emerged concerning the application of parallel mechanism in manufacturing, because of its advantages of high payload to weight ratio, high accuracy, high stiffness and compact structure[1]. Most of the existing works regarding parallel mechanism was built upon the concept of traditional Gough-Stewart mechanism type, but such full degree-of-freedom mechanisms are not necessary for most industrial operation[2].

The limited degree of freedom (DOF) parallel mechanism has the inherent superiorities, such as simple structure, high stiffness, high dexterity, low inertia and large payload capacity. It can be widely used for different kinds of practical applications, such as motion simulator, micromechanism and mechanism tools[3], so it has drawn more and more attention from academia and industry. Tsai and Joshi[4] designed a 3-UPU (U represents universal joint and P represents prismatic joint) parallel mechanics and presented a comparison study of the well-conditioned workspace, stiffness and inertia properties of four 3-ODF translational parallel mechanisms. Liu and Wang[5] proposed a novel 2UPR+SPR (U represents universal joint, P represents prismatic joint, R represents revolute joint, and S represents spherical joint) parallel mechanism with 3-DOF, and gave the inverse and the forward displacement analysis. Liu and Wang[5, 6] proposed a new family of spatial 3-DOF fully-parallel mechanisms with high rotational capability and addressed the general issue of optimal kinematic design of parallel mechanisms. The dynamic modeling of 3-PRC (P represents prismatic joint, R represents revolute joint, and C represents cylinder joint) parallel kinematic machine was given via the virtual work principle, and the controller based on the passivity-based robust control scheme was designed[7].

As well known, the reduction of DOFs can result in strong coupling for the limited-DOF parallel mechanism, and the kinematic and dynamic analysis become very complex[8]. The introduction of redundant actuation is deemed a promising approach to improve the kinematic and dynamic properties. It can eliminate the aforementioned input-singularities in particular, and thus increase the usable range of motion[9].

Effective control method plays an important role in the application of parallel mechanism, but there are relatively limited resources related to the control of parallel mechanism available in the literature. The established modelbased traditional proportion differentiation (PD) and augmented PD controllers are the preferred control schemes in actual parallel mechanism and have been adopted[9, 10]. An acceleration feedback (AF) controller is proposed to improve the trajectory tracking accuracy of 2-DOF parallel manipulators[11]. Shen et al.[12] discussed a hybrid position/force adaptive control method for the redundantly actuated parallel mechanisms, and optimized the actual driving joint torques. Using an extended Kalman filter as state observer, a suitably constructed state feedback controller is derived and applied to redundant parallel robotic mechanism[13]. However, some control strategies proposed for redundantly actuated parallel mechanisms were tested only by simple tests or computer simulation since only a few prototypes of redundantly actuated parallel mechanisms are developed. Further, the experimental results of some control methods were not ideal. To control an industrialized parallel mechanism, these control methods should be validated by more experiments[14].

Since parallel mechanisms have been designed to perform fast and accurate tasks, substantial research work has been devoted to design a robust controller to cope with the external disturbances and parameter uncertainties, which are deemed to have considerable impact on system performance[15]. The sliding mode control (SMC) is a well-established technique for controlling the uncertain systems and it can be designed without knowing the accurate mathematical model of the controlled object in advance. Moreover, such control method has good robustness against bounded parameter variations, uncertainties and external disturbances[16]. Thus, it is suitable for controlling the parallel mechanism working in complex environment. Weng and Yu[17] used adaptive fuzzy sliding mode control scheme to track the trajectory of parallel robot. Combining neural network and sliding mode technique, they adopted a robust controller with respect to external disturbances to improve the trajectory tracking of parallel robots. Redha and Mustapha[18] introduced a diagram of control based on sliding mode theory and iterative learning control (ILC), and applied it to the Delta parallel robot. Moreover, Gao et al.[19, 20] proposed chattering-free sliding mode control and adaptive neural network sliding mode control to improve the control performance of 2-DOF and 6-DOF parallel mechanism with a strong coupling and high nonlinearity.

Inspired by previous work, this paper focuses on the trajectory tracking control of a 3-DOF parallel mechanism with actuation redundancy. Based on the kinematic model and the inverse dynamic model, a sliding mode control strategy based on backstepping is proposed to improve the tracking performance of the parallel and an adaptive law is introduced to approximate the system uncertainty including parameters’ variation, external disturbances and unmodeled part. Moreover, a bio-inspired model is proposed to solve the inherent chattering problem of sliding mode control and provide a chattering free control. Finally, simulations and experiments with typical desired trajectory have been carried out on the 3-DOF parallel mechanism to evaluate the performance of the proposed controller.

2 Model of parallel mechanism

The hybrid machine tool is designed by combining one 3-DOF actuated redundant parallel mechanism and a serial feed worktable, which was researched and developed by Tsinghua University[6], as shown in Fig. 1.

Fig. 1
figure 1

Prototype of the hybrid machine tool

Each slider of the parallel mechanism moves along a gantry frame, a cutter is mounted on the moving platform, and the worktable provides an extra translational DOF to drive the motion of the workpiece. The hybrid machine tool will be used for the high-speed milling machine parts with typical complex curved surfaces. It is noted that the motions of the mechanism and the worktable are decoupled. Thus, the dynamics of the worktable can be ignored when discussing the dynamic performance of the 3-DOF redundantly actuated parallel mechanism for the hybrid machine tool.

The moving platform of the parallel module is connected to the base through three legs. Each of the fixed-length links with one end joined to the slider and the other connected with the moving platform. The front two legs are in the same plane with identical PPRR (P represents prismatic joint and R represents revolute joint) kinematic chains, while the other leg adopts PPRR kinematic chain. Each slider of the parallel mechanism moves along a gantry frame, which is driven by four servomotors fixed on the column. The whole construction of the parallel mechanism enables movement of the moving platform in two directions (Y-axis and Z-axis directions) and rotation around Y-axis. From the view point of the mechanism, three driving sliders are enough for the mechanism to be capable of 3-DOF motion. The reason for adding an additional slider is to introduce the advantages of redundant mechanism to the parallel mechanism[21, 22].

2.1 Inverse kinematics analysis

According to the mechanical features, the kinematic model of the 3-DOF redundantly actuated parallel manipulator is developed as shown in Fig. 2. The connection points of the actuated legs to the base are represented by B i and those to the moving platform are represented by P i (i = 1, 2, 3). In order to analyze the kinematics of the parallel manipulator, two relative reference frames are assigned. A fixed global reference system O–XYZ is located at the centre of the side B 1 B 2 with the X-axis perpendicular to the plane of the first two legs, the Y-axis positively along B 1 B 2, and the positive Z-axis determined by the right hand rule. And the moving frame O′–X′Y′Z′ is established on the moving platform at the center of P 1 P 2, when the manipulator is in the zero position with the Z′-axis perpendicular to plane O′–X′Y′Z′. Thepositivefor Z′-axis is defined as the direction P 1 P 2, and the X′-axis is determined by the right hand rule. Then, the configuration of the platform can be described by the coordinates (0, y, z) of the point O′ written in the moving frame, and the rotational angle β from the Z′-axis to the Z-axis. Thus, the following generalized coordinates q =[y, z, β]T can be chosen to describe the pose of 3-DOF parallel manipulator[23].

Fig. 2
figure 2

Kinematic model of the 3-DOF parallel mechanism

There are two types of kinematic analysis problems: inverse kinematics and forward kinematics. For inverse kinematics, the position and orientation of the moving platform are given, and the length of the linear actuators and rotation of active angles are to be found.

The position vector of joint point B i (i = 1, 2, 3) with respect to O–XYZ can be described as

$${B_1} = \left[ {\matrix{0 \cr { - {R_1}} \cr {{z_1}} \cr } } \right],\quad {B_2} = \left[ {\matrix{0 \cr {{R_2}} \cr {{z_2}} \cr } } \right],\quad {B_1} = \left[ {\matrix{{ - {R_3}} \cr y \cr {{z_3}} \cr } } \right]$$
(1)

where R i (i = 1, 2, 3) is the distance from Q i to O, and R 1 = R 2 = R.

The position vector of joint point P i with respect to O′–X′Y′Z′ is expressed as

$$P_1^{\prime} = \left[ {\matrix{0 \cr { - {r_1}} \cr 0 \cr } } \right],\quad P_2^{\prime} = \left[ {\matrix{0 \cr {{r_2}} \cr 0 \cr } } \right],\quad P_2^{\prime} = \left[ {\matrix{{ - {r_3}} \cr 0 \cr 0 \cr } } \right]$$
(2)

where r i (i = 1, 2, 3) is the distance from P i to O′, and r 1 = r 2 = r.

As a result, the position vector of point P i in the base coordinate system O–XYZ can be obtained as

$${P_i} = T_M^BP_i^{\prime} + O_M^B$$
(3)

where \(O_M^B\) is the position vector of the origin O′ with respect to O–XYZ which can be defined as \(O_M^B = {[y,z,\beta ]^{\rm{T}}}\), and \({\textstyle{1 \over 2}}(\alpha \odot y)^{\prime}{K_m}(\alpha \odot y)\) is the rotation transformation matrix from {T} to {B} which can be expressed as

$$T_M^B = \left[ {\matrix{{\cos \beta } & 0 & {\sin \beta } \cr 0 & 1 & 0 \cr { - \sin \beta } & 0 & {\cos \beta } \cr } } \right].$$
(4)

Then, the position vector of point P i in the base coordinate system O–XYZ can be written as

$${P_1} = \left[ {\matrix{ 0 \cr {y - {r_1}} \cr z \cr }} \right],\,{P_2} = \left[ {\matrix{0 \cr {y + {r_2}} \cr 0 \cr } } \right],\,{P_3} = \left[ {\matrix{{ - {r_3}\cos \beta } \cr y \cr {z + {r_3}\cos \beta } \cr } } \right].$$
(5)

Using the parameters defined in Fig. 2, the constraint equations associated with the i-th kinematic chain of the parallel manipulators are expressed as

$$\left\{ {\matrix{{{{(y + r - R)}^2} - {{(z - {z_1})}^2} = L_1^2} \cr {{{(y + r - R)}^2} - {{(z - {z_2})}^2} = L_2^2} \cr {{{(- {R_3} + {r_3}\cos \beta)}^2} - {{({z_3} - {r_3}\sin \beta - z)}^2} = L_3^2.} \cr } } \right.$$
(6)

Solving the above equations, we get the inverse kinematic solution as

$$\left\{ {\matrix{{{z_2} = \pm \sqrt {L_2^2 - {{(y + r - R)}^2}} + z} \cr {{z_2} = \pm \sqrt {L_2^2 - {{(y + r - R)}^2}} + z} \cr {{z_3} = \pm \sqrt {L_3^2 - {{({R_3} - {r_3}\cos \beta)}^2}} + {r_3}\sin \beta + z.} \cr } } \right.$$
(7)

From (7), we can see that there are eight inverse kinematics solutions for a given pose of the parallel manipulator. To obtain the inverse configuration as shown in Fig. 1, each of the signs “±” in (7) should be “+”.

Thus, for the 3-DOF actuated redundant parallel manipulator, with the determined geometric parameters and a given pose, the displacement of three sliders along the Z-axis can be computed using (7). Moreover, by analyzing, the displacement of redundant actuated slider can be obtained as

$${z_4} = - y.$$
(8)

Equations (7) and (8) are the position inverse kinematics of 3-DOF parallel mechanism. Here, the screw pitch is 4 mm, so the angular displacement of the driving motor is shown as

$${\theta _i} = {{2\pi } \over 4}{z_i},\quad i = 1,2, \cdots, 4.$$
(9)

2.2 Jacobian matrix

The Jacobian defines a transformation between the joint velocities and the end-effector velocities. It is a crucial relationship for robotic analysis and control algorithms. Differentiating (7) and (8) with respect to time t leads to

$$\dot p = J\dot q$$
(10)

where \(\dot p = {({{\dot z}_1},{{\dot z}_2},{{\dot z}_3},{{\dot z}_4})^{\rm{T}}},\,\dot q = {(\dot y,\dot z,\dot \beta)^{\rm{T}}}\), and J is the Jacobian matrix which is given explicitly in [23].

2.3 Dynamics analysis

The dynamic model is of great significance for the optimization of sectional parameters of components and estimation of servomotor parameters. In this section, the dynamics analysis of the parallel robot mechanism is summarized. The basic idea in deriving the dynamic model is as follows. The whole system of redundant parallel mechanism is divided into three parts, i.e., the moving platform, the kinematic legs and the driving sliders. Considering all legs as rigid bodies and neglecting the mass and friction of the joints, the inverse dynamic model for the parallel mechanism is formulated in the task space using Lagrangian method. Detailed derivation of the dynamic equations has been described in our earlier work[23].

In the task coordinate, the dynamics of the parallel mechanism is governed by

$$M(q)\ddot q + C(q,\dot q)\ddot q + G(q) = \tau = {J^{\rm{T}}}F$$
(11)

where M(q) is the inertial matrix, \(C(q,\,\dot q)\) is the Coriolis and centrifugal force terms, G(q) are the gravity force terms, τ =[τ 1, τ 2, τ 3]T is the equivalent generalized force vector in Y, Z and β direction, and F =[f 1, f 2, f 3, f 4]T is the driving force vector which acts on four sliders. The detailed expressions for the matrix coefficients M(q), \(C(q,\,\dot q)\) and G(q) are given in [23, 24].

Since the parallel manipulator has one redundant actuator and J T is non-square, the driving force F in (11) has infinite solutions. To obtain a unique solution, an optimization technique has to be applied. In this paper, the optimizing objective is to minimize the 2-norm of τ[24, 25], then

$$F = {({J^{\rm{T}}})^ + }\tau $$
(12)

where (JT) + = J(J T J)−1 is the Moore-Penrose inverse of J T, satisfying J(J T)+ = I and (J) + J T = I.

For the 3-DOF parallel mechanism system, external disturbances such as friction torque between the joints, the servo system friction, the environmental noise and the unmodelled dynamics are inevitable, which will have a strong impact on the performance of the parallel manipulator, so the dynamic formulation shown in (11) can be rewritten as

$$M(q)\ddot q + C(q,\dot q)\dot q + G(q) = \tau - {\tau _d} = {J^{\rm{T}}}F$$
(13)

where τd = [τd1, τd2, τd3]T is the vector of lumped uncertainty including the un-modelled dynamics and external disturbances[23].

3 Design of sliding mode controller

3.1 Control scheme

For redundant parallel mechanism, the position and orientation accuracy are guaranteed by those non-redundant chains. The redundant chain devotes itself to improve the mechanism performance, such as stiffness, dexterity and dynamic characteristics. In theory, a redundantly actuated parallel mechanism with a low speed can be controlled only by the position mode. However, in practical motion, it is very difficult to obtain the real values of many parameters, though some identification technologies have been developed. Thus, if the redundant chain is also controlled by position mode, the interference between redundant link and other links will be caused such that great internal forces are introduced and the deflections of the links are expanded. It can be seen that the use of mere position control is no longer possible. A simple and effective control strategy is that the redundant chain is controlled by the force mode and other chains are controlled by the position mode[24].

It is noted from (9) and (13) that the actuation redundant parallel mechanism is a complex system with time-varying, high-nonlinear, strong-coupling characteristics, the designed controller should be robust to parameter perturbation and external disturbances. In this paper, the sliding mode controller is designed to control the parallel mechanism and assure the tracking performance. Additionally, an adaptive method is introduced to approximate the lumped uncertainty of the system and a bio-inspired model is introduced to solve the inherent chattering problem of sliding mode control. The control scheme is shown in Fig. 3.

Fig. 3
figure 3

Control scheme of parallel mechanism

In Fig. 3, q d is the desired pose of the moving platform by trajectory planning, θ di , i = 1, 2, 3are the desired angular displacements of the branch motors respectively and θ i , i = 1, 2, 3 are the actual angular displacements of the branch motors respectively. f d 4 and f 4 are the desired and actual driving forces of the redundant chain, and K c is the transformation coefficient from force to current of the alternating current (AC) servo motor.

The servo drivers of the non-redundant chains are set to work in the speed mode. The transfer function of the controlled object can be expressed as[26]

$$\matrix{{{{1.5{K_{tp}}{K_a}{K_{pre}}} \over {{L_p}J{s^3} + ({R_p} + {K_a}{K_i})J{s^2} + 1.5{K_{tp}}({K_{tp}} + {K_a}{K_v}{K_{pre}})s}} = } \cr {{{\theta (s)} \over {U(s)}}} \cr }$$
(14)

where R p is the winding resistance of the AC servo motor, L p is the winding inductance, K i is the current feedback gain, K a is the power amplifier gain, K pre is the speed loop gain, K v is the velocity feedback coefficient, K tp is the torque constant, J is the total rotational inertia of the AC servo motor axis, U(s) is the Laplace transformation of the controller output u, and θ(s) is the Laplace transformation of the angular displacement for the driving motor of the parallel mechanism.

State variables are chosen as x 1 = θ, \({x_2} = \dot \theta, \,{x_3} =\). Considering the parameters in nominal conditions without external load disturbance, (14) can be rewritten as

$$\left\{ {\matrix{{{{\dot x}_1} = {x_2}} \cr {{{\dot x}_2} = {x_3}} \cr {{{\dot x}_3} = {a_1}{x_3} + {a_2}{x_2} + bu} \cr } } \right.$$
(15)

where \({a_1} = - {{({R_p} + {K_a}{K_i})J} \over {{L_p}J}},\,{a_2} = - {{15{K_{tp}}({K_{tp}} + {K_a}{K_v}{K_{pre}}} \over {{L_p}J}},\,{a_3} = - {{1.5{K_{tp}}{K_a}{K_{pre}}} \over {{L_p}J}}\). Equation (15) can represent the nominal model of the AC servo motor drive system.

In practice, for the 3-DOF parallel mechanism system, external disturbances such as friction torque between the joints, the servo system friction, the environmental noise and the un-modelled dynamics are inevitable, which will make a strong impact on the performance of parallel mechanism. Considering parametric variation, external load disturbance and unpredicted uncertainties for the actual drive system, it can be denoted that

$$\matrix{{{{\dot x}_3} = ({a_1} + \Delta {a_1}){x_3} + ({a_2} + \Delta {a_2}){x_2} + (b + \Delta b)u + d(t) = } \cr {{a_1}{x_3} + {a_2}{x_2} + bu + D} \cr }$$
(16)

where Δa 1, Δa 2 and Δb denote the uncertainties introduced by system parameters, and d(t) represents the unstructured uncertainty. D is called the lumped uncertainty which is defined as[27]

$$D = \Delta {a_1}{x_3} + \Delta {a_2}{x_2} + \Delta bu + d(t).$$
(17)

3.2 Design of adaptive sliding mode controller

The control problem is to find a control law so that for a given desired trajectory, the tracking error tends to be zero as soon as possible with uncertain and slowly time-varied parameters.

Assumption 1. The system parameters a 1, a 2, b and d are slow time-varying bounded signals. In other word, \(||D|| \leqslant \bar D,\,\bar D\) is the upper bound of lumped uncertainty.

Step 1. To achieve the control objective, the tracking error is defined as

$${e_1} = {x_1} - {x_d}$$
(18)

where x d represents the reference trajectory. Differentiating (18) with respect to t, we have

$${\dot e_1} = {\dot x_1} - {\dot x_d} = {x_2} - {\dot x_d}.$$
(19)

The Lyapunov function candidate can be defined as

$${V_1} = {1 \over 2}e_1^2.$$
(20)

Differentiating (20) with respect to t yields

$${\dot V_1} = {e_1}{\dot e_1} = {e_1}({x_2} - {\dot x_d}).$$
(21)

The tracking error can be defined as

$${e_2} = {x_2} - {\alpha _1}$$
(22)

where \({\alpha _1} = {{\dot x}_d} - {c_1}{e_1}\) is viewed as a virtual control input, which is chosen as the control input for the e 1 subsystem, and c 1 is a positive control gain. Substituting (22) into (21), we obtain

$${\dot V_1} = {e_1}({x_2} + {\alpha _1} - {\dot x_d}) = {c_1}e_1^2 + {e_1}{e_2}.$$
(23)

If error e 2 is asymptotically stable, then the first Lyapunov function V 1 is a negative-definite function.

Step 2. Considering the second Lyapunov function

$${V_2} = {V_1} + {1 \over 2}e_2^2$$
(24)

and taking the derivative of V 2 yields

$${\dot V_2} = {\dot V_1} + {e_2}{\dot e_2} = - {c_1}e_1^2 + {e_1}{e_2} + {e_2}({x_3} - {\dot \alpha _1}).$$
(25)

In order to design an actual control input to ensure the stability of the system, the tracking error is defined as

$${e_3} = {x_3} - {\alpha _2}.$$
(26)

We view \({\alpha _2} = {{\dot \alpha }_1} - {e_1} - {c_2}{e_2}\) as a virtual control input, which is chosen as the control input for the e 2 subsystem, and c 2 is a positive control gain. Substituting (26) into (25), we obtain

$${\dot V_2} = - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3}.$$
(27)

If the error e 3 is asymptotically stable, then the second Lyapunov function \({{\dot V}_2}\) is a negative-definite function, it implies that the states e 1 and e 2 go to zero asymptotically[27].

Step 3. In order to design an actual control input for ensuring the stability of the drive system in (15), the sliding surface function s is defined as

$$s = {k_1}{e_1} + {k_2}{e_2} + {e_3}$$
(28)

where k 1 and k 2 are the designed positive constant parameters, which must satisfy that polynomial in (28) to keep Hurwitz stability.

Consider the third Lyapunov function

$${V_3} = {V_2} + {1 \over 2}{s^2}.$$
(29)

Its derivative can be represented as

$$\matrix{{{{\dot V}_3} = - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3} + s({k_1}{{\dot e}_1} + {k_2}{{\dot e}_2} + {{\dot e}_3}) = } \cr { - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3} + s({k_1}{{\dot e}_1} + {k_2}{{\dot e}_2} + {{\dot x}_3} - {{\dot \alpha }_2}) = } \cr { - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3} + s({k_1}({e_2} - {c_1}{e_1}) + {k_2}({e_3} - } \cr {{e_1} - {c_2}{e_2}) + {a_1}{x_3} + {a_2}{x_2} + bu + D - {{\dot \alpha }_2}).} \cr }$$
(30)

The sliding mode control law is designed as

$$\matrix{{u = {1 \over b}[({k_1}{c_1} - {k_2}){e_1} - ({k_1} + {k_2}{c_2} + 1){e_2} - ({k_2} + {c_1} + } \cr {{c_2}){e_3} - {a_1}{x_3} - {a_2}{x_2} - \bar D - h(s + \beta \sin (s))]} \cr }$$
(31)

where h and β are positive constants.

For a parallel mechanism system, the system parameters, unstructured uncertainty and external disturbance vary in a large range, so it is difficult to obtain \({\bar D}\) in advance for practical applications, and the desired sliding mode control law shown in (31) cannot be implemented. Due to the powerful approximation ability of adaptive method, an adaptive control law is used to estimate the lumped uncertainty D in real time so as to achieve good control performance[28].

The detailed descriptions of adaptive law are exhibited as follows.

The estimate error is defined as

$$\tilde D = {D^*} - \hat D$$
(32)

where D* and \({\hat D}\) represent the real value and estimated value of D, respectively.

In order to prove the stability of the control system, the Lyapunov function is defined as

$$V = {V_3} + {1 \over {2\gamma }}{\tilde D^2}.$$
(33)

The derivative of V can be represented as

$$\matrix{{\dot V = {{\dot V}_3} + {1 \over \gamma }\tilde D\dot \tilde D = {{\dot V}_3} - {1 \over \gamma }\tilde D\dot \hat D = } \cr { - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3} + s[{k_1}({e_2} - {c_1}{e_1}) + {k_2}({e_3} - {e_1} - } \cr {{c_2}{e_2}) + f(x) + bu + \hat D - {{\dot \alpha }_2}] - {1 \over \gamma }\tilde D(\dot \hat D - \gamma s).} \cr }$$
(34)

According to the Lyapunov stability theory, the control law in (34) is redesigned as

$$\matrix{{u = {1 \over b}[({k_1}{c_1} - {k_2}){e_1} - ({k_1} + {k_2}{c_2} + 1){e_2} - ({k_2} + {c_1} + } \cr {{c_2}){e_3} - {a_1}{x_3} - {a_2}{x_2} - \hat D - h(s + \beta \sin (s))].} \cr }$$
(35)

The adaptation law is chosen as \(\dot \hat D = \gamma s\), and substituting it into (34) yields

$$\matrix{{\dot V = - {c_1}e_1^2 - {c_2}e_2^2 + {e_2}{e_3} - h{s^2} - h\beta ||s|| = } \cr { - {E^{\rm{T}}}QE - h\beta |s|} \cr }$$
(36)

where E = [e 1, e 2, e 3]T, and the matrix Q is selected as

$$Q = \left[ {\matrix{{{c_1} + hk_1^2} & {h{k_1}{k_2}} & {h{k_1}} \cr {h{k_1}{k_2}} & {{c_2} + hk_2^2} & {h{k_2} - {1 \over 2}} \cr {h{k_1}} & {h{k_2} - {1 \over 2}} & h \cr } } \right].$$
(37)

The determinant of Q can be denoted |Q| = h 2 k 2(c 1 c 2 + c 1 k 2c 2). Reasonable selection of parameters c 1, c 2 and k 2 can ensure that Q is a positive definite matrix, then \(\dot V < 0\). Thus, the closed-loop system is stable from Lyapunov sense and the tracking error converges to zero asymptotically.

3.3 Design of bio-inspired model

Sliding mode control has good performance in the trajectory tracking control of parallel mechanism. However, when the tracking error is large or there is a tracking inflection point, the sign function sgn(s) in the sliding mode controller will create a jump phenomenon, which can make the driving motors switch frequently and cause malfunction[29]. In this paper, a bio-inspired model is introduced to soften the sign function sgn(s) owing to its characteristics such as boundedness and smoothness.

A computational model for a uniform patch of membrane in a biological neural system using electrical circuit elements was first proposed[30]. In this model, the dynamics of voltage across the membrane V m is described using a state equation as

$${C_m}{{{\rm{d}}{V_m}} \over {{\rm{d}}t}} = - ({V_r} + {V_m}){g_r} + ({V_e} - {V_m}){g_e} - ({V_s} + {V_m}){g_s}$$
(38)

where C m is the membrane capacitance, V s , V e and V r are the resting potentials (saturation potentials) in the membrane, g s , g e and g r represent the synaptic and resting conductances. This model lays the foundation for the shunting model.

By setting C m = 1 and substituting x i = V r + V m , A = gr, B = Ve + Vr, D = Vs − Vr, I + = ge and I = g s in (39), a shunting equation is obtained as[31]

$${{{\rm{d}}{x_i}} \over {{\rm{d}}t}} = - A{x_i} + (B - {x_i})I_i^ + - (D - {x_i})I_i^ - $$
(39)

where x i is the neural activity (membrane potential) of the i-th neuron in the neural network. A, B and D are nonnegative constants describing the passive decay rate, the upper and lower bounds of the neural activity x i , respectively. \(I_i^ + \) and \(I_i^ - \) are the excitation and inhibitory inputs to the neuron, respectively. This shunting model was first proposed by Grossberg, it can help to understand the real-time adaptive behavior of individuals to complex and dynamic environmental contingencies, so it can be applied in many fields, such as visual perception and sensory motor control[31].

The shunting model is a differentiable equation, which can ensure that system output changes in the interval [−D, B] for any excitatory and inhibitory inputs and the output is continuous and smooth. The bio-inspired slide mode control law combining shunting model is designed as

$$\left\{ {\matrix{{{u_i} = {1 \over b}[({k_1}{c_1} - {k_2}){e_1} - ({k_1} + {k_2}{c_2} + 1){e_2} - ({k_2} + {c_1}} \cr { + {c_2}){e_3} - {a_1}{x_3} - {a_2}{x_2} - \hat D - h(s + \beta \sin (s))]} \cr {{{{\rm{d}}u_i^{\prime}} \over {{\rm{d}}t}} = - {A_i}u_i^{\prime} + ({B_i} - u_i^{\prime})f({e_{ui}}) - ({D_i} - u_i^{\prime})G({e_{ui}})} \cr } } \right.$$
(40)

where \({e_{ui}} = {u_i} - u_i^\prime \), f(e ui )=max(e ui , 0), and g(e ui ) = min(−e ui , 0).

The bio-inspired model introduced to sliding mode controller can soften the control signal, so as to solve the inherent chattering problem of sliding mode control and provide a chattering free control.

4 Simulation results

To depict the abilities of the proposed bio-inspired adaptive sliding mode controller, an intensive series of simulation studies have been fulfilled on a 3-DOF parallel mechanism with the inclusion of white d(t) = 2 000 × random(1, 1). The motor parameters are set as K pre = 11, K v = 2.6, K a = 2, K i = 2.6, K tp = 0.67 N · m/A, R p = 3.70, L v = 0.0099 H, J = 0.318 kg, · m2, and the parameters of the controller are chosen as c 1 = 5, k 1 = 300, k 2 = 100, h = 600, β = 2, γ = 2, A = 10, B = D = 15. Considering the workspace and singularities, the moving platform is required to move along a circular path with the initial pose value (0 mm, 0 mm, 0°), the reference trajectory is chosen to be y = 50 cos(π × t), z = 50 sin(π × t), β = 0°.

Due to the limited space of the paper, we just present the sliding mode surface s, the output of controller u and the estimation of uncertainty d for chain 1, as shown in Figs. 46, respectively. It can be seen that the bio-inspired sliding mode control based on backstepping method provides faster transient response and smaller overshoot than the conventional sliding mode control (SMC) in the case of parameter uncertainties and thus generates smoother trajectory. Furthermore, it is observed in the magnified pictures that the sliding mode surface s and the control signal u are smoother than that of the conventional sliding mode control.

Fig. 4
figure 4

Sliding mode surface s

Fig. 5
figure 5

Output of controller u

Fig. 6
figure 6

Estimation of uncertainty

The displacement trajectory tracking for the nonredundant chains are presented in Fig. 7. It is evident that the trajectory performance is distorted at the beginning stage, due to the randomized initial pose values and the uncertainty estimation, which are obviously not “optimized” values. However, as time increases, system performance gradually improves, as can be seen from the superior trajectory tracking performance at a later stage. Also, the tracking errors of the non-redundant chains are shown in Fig. 8, It is clear that the error of each chain rapidly converges to zero datum to meet the error convergence goal. Moreover, driving force f 4 for the redundant chain is shown in Fig. 9.

Fig. 7
figure 7

Trajectory tracking of non-redundant chains

Fig. 8
figure 8

Tracking errors of non-redundant chains

Fig. 9
figure 9

Driving force f 4 for the redundant chain

Figs. 10 and 11 show the actual trajectory tracking results in Y, Z and β direction, while the platform centre tracks the desired circular trajectory. Obviously, the end-effector of the mechanism can follow the desired trajectory without any fluctuation. The trajectory tracking errors in Y, Z direction are less than 0.5 mm and 0.8 mm, and that in the β direction is less than 0.023°, so it can meet the requirements of the practical applications. Furthermore, by analyzing Fig. 12, it should be noted that the tracking error curves shall be practical sinusoidal waveforms, that is mainly because the mechanism structure and the tracking trajectory for the end-effector having symmetries both.

Fig. 10
figure 10

The circular trajectory tracking result

Fig. 11
figure 11

Tracking result in β direction

Fig. 12
figure 12

Tracking errors in Y, Z and β direction

5 Experimental results

The proposed control was experimentally evaluated using the 3-DOF parallel manipulator as shown in Fig. 13. The test setup consists of a 3-DOF redundantly actuated parallel mechanism, an Advantech IPC, a Delta Tau UMAC card, four Mitsubishi Electric servo system and a binocular vision positioning system[23].

Fig. 13
figure 13

Experiment setup

In the experiments, with respect to the inertial frame indicated in Fig. 2, the moving platform is required to move along a circular path, starting from initial (0 mm, 30 mm, −30mm) to (0 mm, −30 mm, 30 mm) with the inflection points (0mm, −30 mm, −30mm) and (0 mm, 30 mm, 30 mm). The maximum translational speed and angular velocity in Y, Z direction are set to 6 m/min and 12° /s respectively and the maximum acceleration for every drive is 1 g. Spatial coordinate (0 mm, 80 mm, 0 mm) as the test point for the binocular vision positioning system and thirteen test points p i (i = 1, 2, ⋯, 13) are selected as the trajectory test points on the desired trajectory. The end-effector stay at each test point for a certain period of time is made and the pose information is obtained. Due to limited space of the paper, only one set of measurement results are given, as shown in Table 1[23].

Table 1 Test result

The same work is repeated for 20 times in a counterclockwise direction and the average of the corresponding measurements is defined as the qualitative pose data. Analyzing the measured results, it can be seen that the maximum measurement error in YZ plane is 1.2 mm, and that in β direction is 0.78°. As a result, for the 3-DOF parallel mechanism with actuation redundancy, the bio-inspired backstepping adaptive sliding mode control strategy can achieve better control precision and adaptability compared to the conventional sliding made control (SMC) without bio-inspired model.

6 Conclusions

This paper describes bio-inspired backstepping adaptive sliding mode control strategy for a novel 3-DOF parallel mechanism with actuation redundancy. According to the analysis of mechanical model, a sliding mode control approach based on backstepping method is proposed to assure the tracking performance of the parallel mechanism without prior knowledge of accurate mathematical model, and an adaptive law is introduced to approximate the system uncertainty including parameters’ variation, external disturbances and un-modeled part. Moreover, a bio-inspired model is proposed to soften the signum function sgn(·), so as to solve the inherent chattering problem of sliding mode control and to provide a chattering free control. The simulation and experimental results show that the proposed control method can produce an almost error-free and chatterfree performance even in the presence of uncertainty and external disturbance. Future work could include investigation into coupling effect of each chain and the validation of the work with an unknown payload by experimental means.