1 Introduction

Parallel manipulators have drawn continuous interest in both academia and industry in the last few decades because of their advantages compared to serial ones, such as higher payload-to-weight ratio, higher structural rigidity, location of motors at or close to the base and simplicity of the inverse displacement problem[1]. Most of the existing works regarding parallel manipulator are built upon the concept of traditional Gough-Stewart mechanism type, but such full degree-of-freedom (DOF) manipulators are not necessary for most industrial operations[2]. The parallel manipulators with limited-DOF have most of 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 and can be made with lower manufacturing cost[3,4]. The 3-DOF parallel manipulators, which are the most widely used, have been considered to be one of the easiest ways to achieve multi-DOF hybrid mechanism tools.

As is well known, for the limited-DOF parallel manipulator, the reduction of DOFs can result in coupled motions of the mobile platform, the kinematic and dynamic analysis become very complex[5]. Moreover, when the manipulator moves toward a singular configuration, its stiffness and accuracy quickly deteriorate and its behaviour becomes dangerous if the singularity is a degenerative one[6]. In order to solve the problem and fully realize potential advantages of the parallel manipulator, redundancy is introduced to improve the ability and performance of parallel manipulator. It is believed that there are many advantages for the redundant parallel manipulator such as avoiding kinematic singularities, increasing workspace, improving dexterity, enlarging load capability and so on[79]. The 3-DOF parallel manipulator under consideration in this paper is a redundantly actuated manipulator implemented by adding one additional branch to the 3-DOF parallel manipulator.

Recently, the research of limited-DOF redundant parallel manipulator mainly focuses on structural design, kinematics analysis, singularity analysis and dynamic modelling. However, one of the main concerns in manipulator applications is to introduce an efficient control algorithm to realize its benefits property and further potential. Generally, traditional proportional-differential (PD) and augmented PD controllers are the preferred control schemes in actual parallel manipulator[10]. However, they cannot always ensure the better controller performance by virtue of strong coupling and high nonlinearity of such a system[11]. On the other hand, some advanced control algorithms for parallel manipulator have been studied by many researchers. In [12], based on the dynamic model, a position and force switching control strategy is proposed for a planar 3-DOF parallel manipulator with actuation redundancy. In [13], the dualspace adaptive control is proposed to control the R4 redundantly actuated parallel manipulator with high accelerations. This control method can not only keep a very good performance independent with operational case, but also has a better performance than the dual-space feed forward controller even when the latter is best configured to the given case. Reference [14] discussed a hybrid position/ force adaptive control method for the redundantly actuated parallel manipulators, 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 manipulator in [15]. Moreover, state-space generalized predictive control is discussed for redundant parallel manipulators in [16]. Focusing on minimizing energy consumption, optimal control theory is used to find the optimal distribution of the motion between the actuators, constrained by physical limitations, for a given end-effector path of redundant manipulation of mechanism tools[17].

Since the mechanical structure of the parallel manipulator contains a number of interconnected branch chains, the designed controller for an active joint in each branch should consider other branch chains with interconnections[18]. Moreover, some control strategies developed for controlling the motion of parallel manipulator, require that the manipulator parameters and the load are known in advance and many of control techniques, such as proportional-integral-differential (PID) control and fuzzy logic control, fail to give satisfactory results in the presence of the parameters uncertainties and the un-modelled dynamics in motion tracking of the manipulators.

The sliding mode control (SMC) is a well-established technique for control of uncertain systems acted upon by immeasurable disturbance, which does not depend on the accurate mathematical models of the controlled object and is robust against bounded parameter variations, uncertainties, and external disturbances[19,20]. So it is suitable for the control of parallel mechanism working in complex environment[2123]. Weng[24] used adaptive fuzzy sliding mode control scheme for tracking the trajectory of parallel robot. Achili[25] adopted robust controller with respect to external disturbances to improve the trajectory tracking of parallel robot by combining neural network and sliding mode technique. Redha et al.[26] introduced a diagram of control based on SMC and applied iterative learning control (ILC) to Delta parallel robot. Moreover, Gao et al.[2729] proposed chattering-free sliding mode control, integral-surface adaptive sliding mode control, adaptive neural network sliding mode control for the 2-DOF and 6-DOF parallel robots with a strong coupling and high non-linearity. However, many control techniques mentioned above are in theoretical research stage or fail to give satisfactory results in the presence of the parameters uncertainties and the un-modelled dynamics in motion tracking of the manipulators. To overcome these difficulties, in this paper, a synchronized adaptive sliding mode control is proposed based on the dynamic model to implement the accurate motion control for a novel 3-DOF redundantly actuated parallel manipulator. Experiment results show that the proposed control method can not only guarantee the robustness of the system but also get rid of the inherent chattering of sliding mode control.

2 Structure description

The parallel manipulator with actuation redundancy was developed by Tsinghua University, which is composed of one moving platform, three fixed-length links and four sliders, as shown in Fig. 1.

Fig. 1
figure 1

Prototype of redundantly actuated parallel manipulator

The moving platform of the parallel module is connected to the base through three fixed-length legs. The moving platform of the parallel module is connected to the base through three fixed-length legs. The front two legs are PRRR (P-prismatic joint, R-revolute joint) kinematic chains in the same plane and the other leg is PPRR kinematic chain. Each slider of the parallel manipulator moves along a gantry frame, which are driven by four servomotors fixed on the columns[30]. The whole construction of the parallel manipulator enables movement of the moving platform in two directions (Y and Z axes) and rotation about the axis normal to the O - Y X plane. From the view point of the manipulator, three driving sliders are enough for the manipulator to be capable of 3-DOF motion. The reason for adding an additional slider is to introduce the advantages of redundant manipulator to the parallel manipulator[31,32].

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, where the connection points of the actuated legs to the base are represented by B i and that to the moving platform are represented by P i , i = 1, 2, 3. In order to analyse 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 positive Y-axis is defined as the direction B 1 B 2 , and the positive Z-axis determined by the right hand rule. And the moving frame O’-XYZ’ is established on the moving platform at the center of P 1 P 2 , when the manipulator is in the zero position with respect to the Z’-axis perpendicular to plane O’-XYZ’, the positive 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’ with respect to the moving frame, and the rotational angle β from Z’-axis to Z-axis. Thus, the following generalized coordinates p = [y,z,β]T can be chosen to describe the pose of 3-DOF parallel manipulator.

Fig. 2
figure 2

Prototype of redundantly actuated parallel manipulator

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 displacement of the linear actuators and active angles are to be found.

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

$${B_1} = \left[ {\begin{array}{*{20}{c}} 0 \\ { - {R_1}} \\ {{z_1}} \end{array}} \right],\quad {B_2} = \left[ {\begin{array}{*{20}{c}} 0 \\ {{R_2}} \\ {{z_2}} \end{array}} \right],\quad {B_3} = \left[ {\begin{array}{*{20}{c}} { - {R_3}} \\ y \\ {{z_3}} \end{array}} \right]$$
(1)

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

The position vector of joint point P i with respect to O’-XYZ’ is expressed as

$${P'_1} = \left[ {\begin{array}{*{20}{c}} 0 \\ { - {r_1}} \\ 0 \end{array}} \right],\quad {P'_2} = \left[ {\begin{array}{*{20}{c}} 0 \\ {{R_2}} \\ 0 \end{array}} \right],\quad {P'_3} = \left[ {\begin{array}{*{20}{c}} { - {r_3}} \\ 0 \\ 0 \end{array}} \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^B{P'_i} + 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 ]^T},T_M^B\) is the rotation transformation matrix from {T} to {B}, which can be expressed as

$$T_M^B = \left[ {\begin{array}{*{20}{c}} {\cos \beta }&0&{\sin \beta } \\ 0&1&0 \\ { - \sin \beta }&0&{\cos \beta } \end{array}} \right].$$
(4)

Then, the position vector of point P i in the base coordinate system O-XY Z can be written as

$${P_1} = \left[ {\begin{array}{*{20}{c}} 0 \\ {y - {r_1}} \\ z \end{array}} \right],\,{P_2} = \left[ {\begin{array}{*{20}{c}} 0 \\ {y + {r_2}} \\ 0 \end{array}} \right],\,{P_3} = \left[ {\begin{array}{*{20}{c}} { - {r_3}\cos \beta } \\ y \\ {z + {r_3}\cos \beta } \end{array}} \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\{ {\begin{array}{*{20}{l}} {{{\left( {y - r + R} \right)}^2} + {{\left( {z - {z_1}} \right)}^2} = L_1^2} \\ {{{\left( {y + r - R} \right)}^2} + {{\left( {z - {z_2}} \right)}^2} = L_2^2} \\ {{{\left( { - {R_3} + {r_3}\cos \beta } \right)}^2} + {{\left( {{z_3} - {r_3}\sin \beta - z} \right)}^2} = L_3^2.} \end{array}} \right.$$
(6)

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

$$\left\{ {\begin{array}{*{20}{l}} {{z_1} = \pm \sqrt {L_1^2 - {{\left( {y - r + R} \right)}^2} + z} } \\ {{z_2} = \pm \sqrt {L_2^2 - {{\left( {y + r - R} \right)}^2} + z} } \\ {{z_3} = \pm \sqrt {L_3^2 - {{\left( {{R_3} - {r_3}\cos \beta } \right)}^2} + z} + {r_3}\sin \beta + z.} \end{array}} \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 redundantly actuated parallel manipulator studied in this paper.

2.2 Jacobian matrix

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

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

where \(\dot q = {({\dot z_1},{\dot z_2},{\dot z_3},{\dot z_4})^T},\dot P = {(\dot y,\dot z,\dot \beta )^T}\) and J is the Jacobian matrix which can be written as

$$J = \left[ {\begin{array}{*{20}{c}} { - {\Delta _1}}&1&0 \\ { - {\Delta _2}}&1&0 \\ 0&1&{{r_3}\cos \beta - {\Delta _3}} \\ { - 1}&0&0 \end{array}} \right]$$
(10)

where Δ1 , Δ2 and Δ3 can be seen in (A6) of Appendix.

3 Dynamic modelling

When a good dynamic performance and a higher accuracy in positioning of the moving platform under large load are required, the dynamic model of the robot is important for the automatic control. Inverse dynamic model is of great significance for the optimization of sectional parameters of components and estimation of servomotor parameters. The dynamics of parallel manipulator is complicated due to existence of multiple closed-loop chains. In the context of the real time control, neglecting the friction forces and considering the gravitational effects system, the Lagrange formalism is employed to derive the dynamic model. The dynamic equation of the proposed redundant parallel manipulator can be written in general form as

$$\frac{{\text{d}}}{{{\text{d}}t}}\left( {\frac{{\partial L}}{{\partial \dot q}}} \right) - \frac{{\partial L}}{{\partial q}} = \tau $$
(11)

where L = T - U is the Lagrangian function, T and U are the kinetic and potential energy functions, respectively. q = [y,z,β]T is the generalized coordinate which denotes the position and orientation parameters of the moving platform, \(\dot q\) is the first order derivation of q, τ denotes the vector of non-conservative generalized force corresponding to the generalized coordinates.

The whole system of redundant parallel manipulator is divided into three parts: the moving platform, the kinematic legs and the driving sliders. The following steps will be used to build the dynamic model. Here, all the kinematic parameters are described relative to the fixed Cartesian frame {B}. Moreover, in the derivation of the equations of motion, all legs are assumed to be rigid bodies and the mass and friction of the joints are neglected.

3.1 Kinetic energy

The kinetic energy of the moving platform can be divided into two terms, i.e., translational energy and rotational kinetic energy are expresses as

$${T_p} = \frac{1}{2}{m_p}{v^{\text{T}}}v + \frac{1}{2}\omega _h^{\text{T}}{I_p}{\omega _h}$$
(12)

where m p , v, ω h and I p are the mass, the linear velocity, the angular velocity and the moment of inertia of the moving platform, respectively.

According to the angular velocity synthesis theorem, ω h can be expressed with respect to the moving frame by using rotation transformation matrix E

$${\omega _h} = E \times \omega $$
(13)

where \(\omega = {(\dot \alpha ,\dot \beta ,\dot \gamma )^T}\) denotes the angular velocity of the moving platform expressed with respect to the base frame, which can be obtained from the roll-pitch-yaw angles α, β and γ.

The three legs perform both translational and rotational motions. But in practice, the angular velocity of each leg is very small and can be ignored. In the base coordinate system O-XYZ, assume that the leg B i P i (i = 1,2,3) is homogeneous body and the coordinate of the centre of mass is denoted as G i , then

$${G_i} = \overrightarrow {O{P_i}} + \frac{1}{2}{L_i}\overrightarrow {{u_i}} $$
(14)

where \(\overrightarrow {{u_i}} = \frac{{\overrightarrow {{P_i}{B_i}} }}{{{L_i}}}\) is the unit vector of the i-th leg. By substituting (1) and (5) into (14) yields

$$\begin{array}{*{20}{l}} {{G_1} = {{\left[ {0,\frac{1}{2}\left( {y - r + R} \right),z + \frac{1}{2}\sqrt {L_2^2 - {{\left( {y - r + R} \right)}^2}} } \right]}^{\text{T}}}} \\ {{G_2} = {{\left[ {0,\frac{1}{2}\left( {y + r - R} \right),z + \frac{1}{2}\sqrt {L_2^2 - {{\left( {y + r - R} \right)}^2}} } \right]}^{\text{T}}}} \\ {{G_3} = {{\left[ { - \frac{1}{2}{R_3} - \frac{1}{2}{r_3}\cos \beta ,y,z + {r_3}\sin \beta + \frac{1}{2}\sqrt {L_3^2 - {{\left( {{R_3} - {r_3}\cos \beta } \right)}^2}} } \right]}^{\text{T}}}} \end{array}$$
(15)

By taking the derivative of (15) with respect to time, one can obtain the linear velocities v Gi (i = 1, 2, 3) of the centre of mass for the i-th leg

$$\begin{array}{*{20}{l}} {{v_{G1}} = {{\left[ {0,\frac{1}{2}\dot y,\dot z - \frac{1}{2}{\Delta _1}\dot y} \right]}^{\text{T}}}} \\ {{v_{G2}} = {{\left[ {0,\frac{1}{2}\dot y,\dot z - \frac{1}{2}{\Delta _2}\dot y} \right]}^{\text{T}}}} \\ {{v_{G3}} = {{\left[ {\frac{1}{2}{r_3}\sin \beta \dot \beta ,\dot y,\dot z + ({r_3}\cos \beta - \frac{1}{2}{\Delta _3})\dot \beta } \right]}^{\text{T}}}.} \end{array}$$
(16)

So, the kinetic energy of all the legs can be described as

$${T_l} = {T_{l1}} + {T_{l2}} + {T_{l3}} = \sum\limits_{i = 1}^3 {\frac{1}{2}{m_{li}}v_{Gi}^{\text{T}}{v_{Gi}}} $$
(17)

where m li , v Gi , (i = 1, 2, 3) are the mass and the linear velocity of the i-th leg, respectively.

The movements of driving sliders include the mobility along Z axis for the three non-redundant driving sliders and the mobility along Yaxis for the redundant one, without any rotational energy. The linear velocities of four driving sliders can be expressed as \({v_{bi}} = {[0,0,{\dot z_i}]^T},(i = 1,2 \cdots 4)\), where, \({\dot z_i}\) can be determined by (10).

Thus, the kinetic energy of sliders can be written as

$${T_b} = \sum\limits_{i = 1}^4 {\frac{1}{2}{m_{bi}}v_{bi}^{\text{T}}{v_{bi}}} $$
(18)

where m bi , v bi , (i = 1, 2, ⋯ , 4) are the mass and the linear velocity of the i-th slider, respectively.

According to the analysis above, the kinetic energy of the redundant parallel manipulator system can be described as

$$T = {T_p} + {T_l} + {T_b}.$$
(19)

3.2 Potential energy

The potential energy is related to the chosen coordinate frame. Here, the XOY plane of the fixed frame {B} is selected as the zero potential energy plane. Ignoring the elasticity and friction of all components, then the potential energy for the moving platform, the kinematic legs and the driving sliders can be described respectively as

$$\begin{array}{*{20}{l}} {{U_p} = {m_p}gz} \\ {{U_l} = \sum\limits_{i = 1}^3 {{m_{li}}g{z_{{G_i}}},\quad \left( {i = 1,2 \cdots 3} \right)} } \\ {{U_b} = \sum\limits_{i = 1}^3 {{m_{bi}}g{z_i},\quad \left( {i = 1,2 \cdots 3} \right)} } \end{array}$$
(20)

where z, z Gi and z i are the coordinates of the centres of mass for the moving platform, three legs and three non-redundant driving sliders in Z-axis with respect to the frame {B}, respectively.

For the redundant drive slider, the gravity is counteracted by the support force in Z-axis. Then, the potential energy of the parallel manipulator system can be written as

$$U = {U_p} + {U_l} + {U_b}.$$
(21)

3.3 Dynamic formulation

The kinetic energy T and potential energy U of the system have been obtained, they are the function of generalized coordinate q. Substituting (19) and (21) into (11) leads to the following dynamic equation

$$M\left( q \right)\ddot q + C\left( {q,\dot q} \right)\dot q + G\left( q \right) = \tau $$
(22)

where M(q) is the inertia matrix, \(C(q,\dot q)\) is the Coriolis and centrifugal force terms, M(q) is the gravity force terms, τ = [τ 1 2 3 ]T is the equivalent generalized force vector in Y, Z and β direction. M(q), \(C(q,\dot q)\) and G(q) are described in detail in the Appendix.

Proposition 1. The dynamic equations of a redundantly actuated closed-chain manipulator have the following structural properties[33].

  1. 1)

    M(q) is symmetric and positive definite.

  2. 2)

    \(\dot M(q) - 2C(q,\dot q)\) is skew-symmetric.

Based on the principle of virtual work[34], the expression of the equivalent generalized force τ corresponding to the driving force F can be obtained as

$$\tau = {J^{\text{T}}}F$$
(23)

where F = [f 1 , f 2 , f 3 , f 4 ]T is the driving force vector which acts on four sliders. J is the velocity Jacobian matrix, seen in (10).

Since the parallel manipulator has one redundant actuator and J T is non-square, the driving force F in (23) 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 two-norm of τ[33,34], then

(24)

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

In practice, for the 3-DOF parallel manipulator 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 performance of parallel manipulator, so the dynamic equation shown in (22) can be rewritten as

$$M\left( q \right)\ddot q + C\left( {q,\dot q} \right)\dot q + G\left( q \right) = \tau - {\tau _{\text{d}}}$$
(25)

where τ d = [τ d 1 , τ d 2 d 3 ]T is the vector of lumped uncertainty including the un-modelled dynamics and external disturbances.

4 Controller design

It is noted from (25) that the parallel manipulator with actuation redundancy is a complex system with time-varying, highly nonlinear, and strong coupling characteristics. Hence, the designed controller should be robust to parameter perturbation and be able to reject the external disturbance. Sliding mode control is a decoupling control method which can be designed without prior knowledge of accurate mathematical model, and it is particularly insensitive to the system parameters variation and external disturbances. So, we introduced the synchronized sliding mode control based on contour error to control the parallel manipulator. Additionally, an adaptive method is introduced to approximate the lumped uncertainty of the system and provide a chattering-free control, the block diagram of control system is shown in Fig. 3.

Fig. 3
figure 3

Diagram of synchronisation adaptive sliding mode control scheme

4.1 Synchronisation error design

The synchronisation error used in this paper is the most significant error for controller design, which has the largest impact on trajectory tracking accuracy. For the 3-DOF parallel manipulator, considering its closed-loop kinematic chain mechanism, the synchronisation error may be defined as the contour error which is well used in multi-axis machine tools and multi-robot systems[35].

Tracking error and contour error are concerned in the trajectory movement. Tracking error is defined as the desired position and the actual position at a given instant in time, while contour error is defined as the minimum distance from current actual position to the desired contour[36]. Fig. 4 shows a planar curve exhibiting the difference between tracking error and contour error. Assume p d is the desired position at time t, and p is the actual position at the same time instant. The tracking error vector e(t) can be decomposed into e y (t) and e z (t), and the contour error e c (t) is denoted as

$${e_c}\left( t \right) = - {e_{yp}}\left( t \right)\sin \alpha + {e_{zp}}\left( t \right)\cos \alpha $$
(26)
Fig. 4
figure 4

Tracking error and contour error model

where α is the tangent angle to the desired trajectory.

Decompose e c (t) into the Y-axis and Z-axis components, then

$$\begin{gathered} {e_{cy}}\left( t \right) = {e_c}\left( t \right)\sin \alpha = - {e_{yp}}\left( t \right){\sin ^2}\alpha + {e_{zp}}\left( t \right)\cos \alpha \sin \alpha \hfill \\ {e_{cz}}\left( t \right) = {e_c}\left( t \right)\cos \alpha = - {e_{yp}}\left( t \right)cos\alpha \sin \alpha + {e_{zp}}\left( t \right){\cos ^2}\alpha . \hfill \\ \end{gathered} $$
(27)

When the orientation error of the platform e β (t) are available, the synchronisation error ε(t) can be defined as

$$\varepsilon \left( t \right) = {\left[ {{e_c}y\left( t \right),{e_{cz}}\left( t \right),{e_\beta }\left( t \right)} \right]^{\text{T}}} = \sigma e\left( t \right)$$
(28)

where σR 3×3 is a constant gain matrix, expressed by

$$\sigma = \left[ {\begin{array}{*{20}{c}} { - {{\sin }^2}\alpha }&{\cos \alpha \sin \alpha }&0 \\ { - \cos \alpha \sin \alpha }&{{{\cos }^2}\alpha }&0 \\ 0&0&1 \end{array}} \right].$$
(29)

Since the platform tracking error is substantially reduced by using the contour error e c (t) when compared with the tracking error e(t), the synchronisation error ε(t) can thus improve the trajectory tracking accuracy of the platform substantially[30].

Through combination of ε(t) and e(t), a coupling error e*(t) ∈ R 3×1 is defined as

$$e*\left( t \right) = e\left( t \right) + {\mathbf{\Gamma }}\varepsilon \left( t \right) = \left( {I + {\mathbf{\Gamma }}\sigma } \right)e\left( t \right)$$
(30)

where Γ is a constant diagonal and positive definite gain matrix, which denotes the relative weight of the synchronisation error in (30). Each diagonal element of Γ should satisfy 0⩽ Γ ii ⩽ 1,(i = 1,2,3).

4.2 Design of adaptive sliding mode controller

The tracking control problem in task space is to find a control law so that for a desired trajectory q d , the pose tracking error tends to zero as soon as possible with uncertainties and slowly time-varying parameters.

The pose tracking error and its derivative are

$$\begin{array}{*{20}{l}} {e = {q_d} - q} \\ {\dot e = {{\dot q}_d} - \dot q.} \end{array}$$

Define the sliding surface as

$$s = \dot e* + \Lambda e* = \left( {I + \Gamma \sigma } \right)\dot e + \Lambda \left( {I + \Gamma \sigma } \right)e$$
(31)

where ∧ is a 3 × 3 diagonal positive definite matrix. The derivative of the sliding surface is

$$\begin{gathered} \dot s = \ddot e* + \Lambda \dot e* = \hfill \\ \left( {I + \Gamma \sigma } \right)\ddot e + \Lambda \left( {I + \Gamma \sigma } \right)\dot e = \hfill \\ \left( {I + \Gamma \sigma } \right)\left( {{{\ddot q}_d} - \ddot q} \right) + \Lambda \left( {I + \Gamma \sigma } \right)\dot e = \hfill \\ \left( {I + \Gamma \sigma } \right)\left( {{{\ddot q}_d} - {M^{ - 1}}\left( {\tau - {\tau _d} - G - C\dot q} \right)} \right) + \Lambda \left( {I + \Gamma \sigma } \right)\dot e. \hfill \\ \end{gathered} $$
(32)

In this paper, a sliding mode control based on weighted integral gain reaching law is presented and the reaching law is

$$\begin{array}{*{20}{l}} {\dot s = - ks - {k_w}||\rho ||\operatorname{sgn} \left( s \right)} \\ {\rho = \int_0^t {\left( {{k_f}\rho + s} \right){\text{d}}t,\quad {k_{fii}} < 0} } \end{array}$$
(33)

where k and k f are 3 × 3 diagonal definite weighted coefficient matrices. ρR 3×1 is the integral term, when ρ i > 0, k fii ρi < 0, and when ρ i < 0, k fii ρ i > 0. So, it can avoid significantly increasing of the switch gain when the system states are not in the sliding mode phase and can solve the chattering problem of sliding mode control.

Define the estimate error of the lumped uncertainty as

$${\tilde \tau _d} = \tau _d^* - {\hat \tau _d}$$
(34)

where \(\tau _d^ * \) and \({\hat \tau _d}\) represent the real value and estimate value of τ d , respectively. According to (32)(34), an adaptive version of control algorithm is proposed as

$$\begin{gathered} \tau = M\left( {{{\ddot q}_d} + \Lambda \dot e} \right) + C\left( {{{\dot q}_d} + \Lambda e} \right) + G + {{\hat \tau }_d} + \hfill \\ \quad \,\,\,ks + {k_w}||\rho ||\operatorname{sgn} \left( s \right). \hfill \\ \end{gathered} $$
(35)

Stability analysis of the proposed control law is the subject of the following section.

4.3 Stability analysis

In order to prove the stability of the proposed controller, the following stability theorem is considered.

Theorem 1 (Stability theorem). Consider a nonlinear uncertain dynamical system represented by (25). If the synchronized adaptive sliding mode control shown in (35) is applied, asymptotic robust stability of the closed-loop system in the presence of model uncertainties and disturbances is guaranteed.

Proof. To prove the stability of the proposed controller, consider the Lyapunov function candidate as

(36)

where γ i (i = 1, 2, 3) is a positive definite constant.

Taking into account the property that \(\dot M(q) - 2C(q,\dot q)\) is skew-symmetric, the derivative of Lyapunov function is

(37)

Substituting (35) into (37) yields

(38)

The adaptation law is chosen as \({\dot \hat \tau _{di}} = {\gamma _i}{(I + \Gamma \sigma )_{ii}}{s_i}(i = 1,2,3)\), and after substituting it into (38),

$$\dot V = - {s^{\text{T}}}ks - ||\rho ||{s^{\text{T}}}{k_w}\operatorname{sgn} \left( s \right) \leqslant 0.$$
(39)

Thus, according to the Lyapunov theory, the adaptive sliding mode control law base on synchronisation coupling error can guarantee the stability of the closed loop control system.

5 Simulation results

In this section, in order to verify the validity of the control law proposed in this paper, simulations of trajectory tracking on the 3-DOF parallel manipulator are carried out using Matlab software in the presence of external disturbance. The system parameters are given as follows: m p = 8.103 kg, m b 1 = m b 2 = 11.815 kg, m b 3 = 16.401kg, m l 1 = m l 2 = 10.875 kg, m l 3 = 8.525 kg, m b 4 = 70.318kg, L 1 = L 2 = 269mm, r 1 = r 2 = 98.17mm, r 3 = 140 mm, R 1 = R 2 = 213.91mm, R 3 = 207.8 mm, L 3 = 216 mm, r = diag{0.3, 0.3, 0.3}, ∧ = diag{600, 600, 600}, k = diag{400,400,400}, k w = diag{10,10,10}, k f = diag{–5,–5,–5}.

Considering the workspace and singularities of the parallel manipulator, the moving platform is required to move along a circular path with the initial pose (20 mm, –10 mm, 0), the desired trajectory is chosen to be y = 0.05cos(2πt), z = 0.05sin(2πt) = 0°, The simulation results are shown in Figs. 510.

Fig. 5
figure 5

The circular trajectory tracking result

Fig. 6
figure 6

The circular tracking error

Fig. 7
figure 7

Joint driving force

Fig. 8
figure 8

The surface s 1 of sliding mode control

Fig. 9
figure 9

The output of controller

Fig. 10
figure 10

The estimation of uncertainty

Figs. 5 and 6 show the actual trajectory tracking results in Y, Z and β direction for the platform centre is to track the desired circular trajectory. Obviously, the end-effector of the manipulator is shown to follow the desired trajectory without any fluctuation, and the final tracking errors converge to zero in 0.07 s. The trajectory tracking errors in Y, Z direction are less than 0.5 mm and 0.8 mm, respectively, which can meet the requirements of the practical applications. Furthermore, there is no movement in β direction, but the corresponding tracking error as shown in Fig. 6 (c) is not zero. That is mainly because the coupling effect among the active joints is explicitly considered and this coupling effect caused by kinematic constraints substantially influences the trajectory tracking.

In this case, the driving forces of four joints considering gravity term and Coriolis/centrifugal force term are shown in Fig. 7 (a)–(d), respectively. The driving forces with the proposed synchronized sliding mode control provide faster transient response and smaller overshoot than the conventional sliding mode controller. Additionally, the driving force curves shall actually be sinusoidal waveform, which are determined by the symmetries of the mechanism structure and the trajectory of parallel manipulator end-effector.

Moreover, the sliding mode surface s1 is shown in Fig. 8, the output of controller for branch 1 can be seen in Fig. 9 and the estimation of lumped uncertainty τ d1 is illustrated in Fig. 10. It is observed in the magnified pictures that the sliding mode surface and the control signal are smoother than that of the conventional sliding mode control. A negative weighted value K f is introduced in the approaching phase, which can reduce the switching gain greatly. So, it can minimize chattering significantly. Moreover, it can be seen from Fig. 10 that the estimation of τ d 1 converges to the true values with persistently exciting driving force.

6 Experimental results

The proposed control was experimentally evaluated using the 3-DOF parallel manipulator with actuation redundancy as shown in Fig. 11 and the test setup consists of a 2.6GHz Advantech IPC E5300, a Delta Tau UMAC card and associated input channel board ACC–24E2A+OPT–1, four Mitsubishi Electric MR–J3–70A servo amplifiers, four Mitsubishi Electric HF–KP73B AC servo motors, four Heidehain absolute rotary encoders, a microvision binocular vision positioning system including two digital CCD cameras MV–1300FM, image acquisition card PCI 1394A and matching calibration algorithm software CCAS.

Fig. 11
figure 11

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 with centre at (0, 50 mm) and radius equal to 50mm. The maximum speed and acceleration of all actuated joints are set to 0.2 m/s and 100 m/s2, respectively. Choose spatial coordinate (60 mm, 0, 0) as the test point for the binocular vision positioning system and select twelve test points p i (i = 1, 2, ⋯ , 12) as the trajectory test points on the desired circle. Make the end-effector stay at each test point for a certain period of time and obtain the pose information. Repeat the same work for 10 times in a counterclockwise direction. Due to limited space of the paper, only one set of measurement results are given as shown in Table 1.

Table 1 Test results

Analyzing the measured results, it can be seen that the maximum measurement error in YZ plane is 1 mm, and that in β direction is 0.5°. As a result, for the 3-DOF redundantly actuated parallel mechanism, the proposed sliding mode control method can achieve good control performance.

7 Conclusions

This paper describes the dynamic modeling of a novel 3-DOF parallel manipulator with actuation redundancy. According to the kinematics of the redundant mechanism and considering fully the impact of inertial force for each component, the inverse dynamic equation is formulated in the task space by using the Lagrangian formalism. And the driving force is optimized by utilizing the minimal 2-norm method. Based on the dynamic model and combined with the application characteristics, a synchronized adaptive sliding mode control scheme based on contour error is proposed to implement accurate motion tracking control. The sliding controller is designed based on weighted integral gain reaching law to guarantee system robustness. By using the synchronisation error, the end-effector of the parallel manipulator is controlled to move in a synchronized manner so that the trajectory accuracy is substantially improved. In addition, an adaptive term is incorporated into the sliding mode control to approximate the unknown part of the system, so as to get rid of the inherent chattering problem of sliding mode control. The simulation and experimental results show that the proposed control method provides a superior tracking performance in the presence of the parameter uncertainties and the un-modelled dynamics. Future work could include investigation into coupling effect of each chain and the validation of the work with an unknown payload by experimental means.

Appendix

Marix coefficients M(q), \(C(q,\dot q)\) and G(q) in the dynamic equation (28) are expressed as

$$M\left( q \right) = \left[ {\begin{array}{*{20}{c}} {{M_{11}}}&{{M_{12}}}&{{M_{13}}} \\ {{M_{21}}}&{{M_{22}}}&{{M_{23}}} \\ {{M_{31}}}&{{M_{32}}}&{{M_{33}}} \end{array}} \right]$$
(A1)

where

$$\begin{array}{*{20}{l}} {{M_{11}} = {m_p} + {m_{b4}} + {m_{l3}} + \frac{1}{2}{m_{l1}} + } \\ {\quad \quad \frac{1}{2}\left( {\Delta _1^2 + \Delta _2^2} \right)\left( {{m_{l1}} + 2{m_{b1}}} \right)} \\ {{M_{12}} = {M_{21}} = - \frac{1}{2}\left( {{\Delta _1} + {\Delta _2}} \right)\left( {{m_{l1}} + 2{m_{b1}}} \right)} \\ {{M_{13}} = {M_{31}} = 0} \\ {{M_{22}} = {m_p} + 2{m_{l1}} + {m_{l3}} + 2{m_{b1}} + {m_{b3}}} \end{array}$$
$${M_{23}} = {M_{32}} = {r_3}\cos \beta \left( {{m_{l3}} + {m_{b3}}} \right) - \frac{1}{2}{\Delta _3}\left( {{m_{l3}} + 2{m_{b3}}} \right)$$
(A2)
$$\begin{array}{*{20}{l}} {{M_{33}} = \frac{1}{2}{m_p}{r^2} + \frac{1}{4}r_3^2{{\sin }^2}\beta {m_{l3}} + {r_3}\cos \beta \left( {{m_{l3}} + {m_{b3}}} \right) - } \\ {\quad \quad \frac{1}{2}{\Delta _3}\left( {{m_{l3}} + 2{m_{b3}}} \right)} \\ {C\left( {q,\dot q} \right) = \dot M - \frac{1}{2}\frac{\partial }{{\partial q}}\left( {{{\dot q}^{\text{T}}}M\left( q \right)} \right) = \left[ {\begin{array}{*{20}{l}} {{C_{11}}}&{{C_{12}}}&{{C_{13}}} \\ {{C_{21}}}&{{C_{22}}}&{{C_{23}}} \\ {{C_{31}}}&{{C_{32}}}&{{C_{33}}} \end{array}} \right]} \end{array}$$
(A3)

where

$$\begin{array}{*{20}{l}} {{C_{11}} = \frac{1}{4}L_1^2{\Delta _4}\left( {{m_{l1}} + 4{m_{b1}}} \right)\dot y - \frac{1}{4}L_2^2{\Delta _5}\left( {{m_{l1}} + 4{m_{b1}}} \right)\dot z} \\ {{C_{12}} = \frac{1}{4}L_1^2{\Delta _5}\left( {{m_{l1}} + 4{m_{b1}}} \right)\dot y} \\ {{C_{13}} = {C_{22}} = {C_{31}} = 0} \\ {{C_{21}} = 2{C_{12}}} \\ {{C_{23}} = ( - {r_3}\sin \beta \left( {{m_{l3}} + {m_{b13}}} \right) - \frac{1}{2}{\Delta _6}\left( {{m_{l3}} + 2{m_{b13}}} \right))\dot \beta } \\ {{C_{32}} = \frac{1}{2}{C_{23}}} \\ {{C_{33}} = \frac{1}{2}({r_3}\sin \beta \left( {{m_{l3}} + {m_{b13}}} \right) + \frac{1}{2}{\Delta _6}\left( {{m_{l3}} + 2{m_{b13}}} \right))\dot z + } \\ {\quad \quad ((\frac{1}{4}r_3^2\sin \beta \cos \beta - 2({r_3}\cos \beta - \frac{1}{2}{\Delta _3})({r_3}\sin \beta + } \\ {\quad \quad \frac{1}{2}{\Delta _6}){m_{l3}} - ({r_3}\cos \beta - {\Delta _3})({r_3}\sin \beta + {\Delta _6}){m_{b3}})\dot \beta } \end{array}$$
(A4)
$$G\left( q \right) = \frac{{\partial U}}{{\partial q}} = \left[ {\begin{array}{*{20}{c}} { - ({m_{b1}} + \frac{1}{2}{m_{l1}})g({\Delta _1} + {\Delta _2})} \\ {({m_p} + 2{m_{b1}} + {m_{b3}} + 2{m_{l1}} + {m_{l3}})g} \\ {\left( {{m_{b3}} + {m_{l3}}} \right)g\left( {{r_3}\cos \beta - {\Delta _3}} \right)} \end{array}} \right]$$
(A5)

where

$$\begin{array}{*{20}{l}} {{\Delta _1} = \frac{{y - r + R}}{{\sqrt {L_1^2 - {{\left( {y - r + R} \right)}^2}} }}} \\ {{\Delta _2} = \frac{{y - r + R}}{{\sqrt {L_2^2 - {{\left( {y - r + R} \right)}^2}} }}} \\ {{\Delta _3} = \frac{{({R_3} - {r_3}\cos \beta ){r_3}\sin \beta }}{{\sqrt {L_3^2 - {{\left( {{R_3} - {r_3}\cos \beta } \right)}^2}} }}} \\ {{\Delta _4} = \frac{{y - r + R}}{{{{(L_1^2 - {{\left( {y - r + R} \right)}^2})}^2}}} + \frac{{y + r - R}}{{{{(L_2^2 - {{\left( {y + r - R} \right)}^2})}^2}}}} \\ {{\Delta _5} = {{\left( {L_1^2 - {{(y - r + R)}^2}} \right)}^{ - \frac{2}{3}}} + {{\left( {L_2^2 - {{(y + r - R)}^2}} \right)}^{ - \frac{2}{3}}}} \\ {{\Delta _6} = \frac{{r_3^2{{\sin }^2}\beta + {r_3}\left( {{R_3} - {r_3}\cos \beta } \right)\cos \beta }}{{{{\left( {L_3^2 - {{({R_3} - {r_3}\cos \beta )}^2}} \right)}^{\frac{3}{2}}}}}.} \end{array}$$
(A6)