1 Introduction

Fully constrained cable-driven parallel robots (CDPRs) have a restrained closed kinematic chain mechanism in which the number of actuated cables is greater than the degrees of freedom of robot [1]. Due to use of light-weight cables in the structure of this class of robots, the mass of the moving parts has been reduced considerably and as a result, they are applicable for high speed manipulation over a very large workspace [25]. However, cables are able to apply only tensile forces and as a consequence, in order to avoid structural failures, control algorithms should be designed such that the cables remain in tension for all maneuvers in their workspace. This feature makes feedback control of the fully constrained CDPRs more challenging than that of the conventional parallel robots.

Several common control algorithms are adapted in control of the CDPRs such as robust PID control [6], feedback linearization theory [79], sliding mode control [10, 11], Lyapunov-based methods [2, 12], robust iterative learning control [13], fuzzy plus PI control [14], impedance control [15], optimal control [16], adaptive control [17] and robust adaptive control [1820]. However, in these researches, it is assumed that the cables are ideal massless and nonelastic elements. It shall be noted that in practice, under the operational tensile forces applied to the cables, they may behave as elastic elements. This elasticity may cause unwanted vibrations in the end-effector and degrades the performance of the fully constrained CDPRs in applications with high accuracy at high bandwidth [21]. For this reason, the proposed control algorithms of CDPRs shall efficiently damp the vibrations and provide suitable tracking performance in practice, which is the target of the proposed controller developed in this paper.

Inclusion of whole dynamic behavior of the cables in the dynamic modeling of CDPRs is a complicated and challenging task and even may be unnecessary. For this reason, the only dominant dynamic behavior of the cables is considered in the majority of cable robotic applications such as in [2123]. In these researches, it is shown that a massless linear axial spring can be used effectively to describe the dominant dynamics of the cables in fully constrained CDPRs. Based on these observations, linear axial spring is used in this paper to model cable dynamics.

Considering the cable dynamic behavior in overall dynamics of CDPRs introduces new challenges in the control design and stability analysis. However, only few researches focus on the control study of the fully constrained CDPRs with elastic cables. In [24] cascade control scheme is used to control the large adaptive reflector (LAR). In this scheme, while an inverse dynamics controller (IDC) controls the pose of the end-effector in the outer loop, a \(H_\infty \) controller is used in the inner loop to reduce the dynamic effects of the cables. However, in this research, stability of the closed-loop system has not been analyzed.

In [25] using linear axial spring model for the cables, a decentralized controller is designed in the cable length coordinates for each of the actuated cables, and the length of the cables which is simply measured by the encoders is used in the feedback structure. This control algorithm uses internal force concept and a fast control term, and stability of the closed-loop system is analyzed through Lyapunov second method. However, due to the inherent flexibility of the cables, using cable length in the feedback control loop is not reliable in applications with high accuracy at high bandwidth.

In order to remedy this shortcoming, in [26] a composite control algorithm is proposed in the task space coordinates. Control law of this algorithm consists of a robust PID controller and a fast control term in order to control the longitudinal vibrations of the cables. Moreover, dynamics of the system is divided into slow and fast subsystems and by using singular perturbation approach, these subsystems are used in the controller design procedure and stability analysis. Although this control algorithm is computationally simple and it is robust to modeling uncertainties, it may only operate suitably in regulation problems, while it has limited performance in tracking objectives due to the lack of consideration of dynamic effects in the structure of the controller.

In order to improve performance of fully constrained CDPRs in tracking objectives, in [21] dynamic model of robot is considered as an important component of the proposed composite controller. However, in this research, the proposed control algorithm is not robust against the modeling uncertainties. It shall be noted that in practice the kinematic and dynamic models of fully constrained CDPRs are contaminated with the unstructured and parametric uncertainties, and precise knowledge of the models is unavailable. For this reason, proposed control algorithm of fully constrained CDPRs should not only be designed to efficiently damp vibrations of the cables, it should be able to counteract the modeling uncertainties and provides suitable tracking performance in practice, as well.

The main goal of this paper is to propose a suitable control algorithm in order to remedy mentioned shortcomings of the previous researches in the control of the fully constrained CDPRs such as [6, 17, 20, 21, 25, 26] which have limited performance to control the longitudinal vibrations of the cables in presence of the modeling uncertainties. To achieve this goal, a composite control algorithm is proposed. The important advantage of the proposed composite controller in comparison with the mentioned above control algorithm is its ability to damp the longitudinal vibrations of the cables in presence of the unstructured and parametric uncertainties of the CDPRs and provides suitable tracking performance in practice, as well. This control algorithm consists of an adaptive robust controller and a fast control term to cope with the vibrations caused by cable elasticity. Proposed adaptive robust controller is designed based on the adaptation of the uncertainties upper bounds according to the idea of Utkin [27]. This approach does not require pre-knowledge of these upper bounds as well as any linear regression representation for the kinematic and dynamic models. Moreover, the internal force concept is used in the proposed controller to provide positive tension of the cables. Using the results of the singular perturbation approach, the stability of the closed-loop system with proposed control algorithm is analyzed through Lyapunov second method. Finally, simulation results on a planar cable robot are given to demonstrate the effectiveness of the proposed control algorithm in practice.

The paper is organized as follows. In Sect. 2 dynamic model of fully constrained CDPRs with elastic cables is introduced. Section 3 focuses on the controller design in which the proposed adaptive robust controller is introduced and the adaptation law is defined based on the adaptation of the uncertainties upper bounds. Then, in Sect. 4 stability of the closed-loop system is analyzed through Lyapunov second method, and finally, in Sect. 5 simulation results on a planar CDPR are discussed in detail.

2 Robot kinematics and dynamics

Under the assumption of linear axial spring as the dominant dynamics of the cables, the dynamic model of a fully constrained CDPR may be written as [21]:

$$\begin{aligned}&{{\varvec{M}}}({{\varvec{x}}}){\ddot{{{\varvec{x}}}}}+{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}}) {\dot{{{\varvec{x}}}}}\,+\,{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+{{\varvec{T}}}_d= {{\varvec{J}}}^{T}{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1) \nonumber \\\end{aligned}$$
(1)
$$\begin{aligned}&{{\varvec{I}}}_m{\ddot{{{\varvec{q}}}}}+r{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1)={{\varvec{u}}} \end{aligned}$$
(2)

in which,

$$\begin{aligned} {{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})={{\varvec{G}}}({{\varvec{x}}})+{{\varvec{F}}}_d{\dot{{{\varvec{x}}}}}+{{\varvec{F}}}_s({\dot{{{\varvec{x}}}}}), \quad {{\varvec{L}}}_2=r{{\varvec{q}}}+{{\varvec{L}}}_0 \end{aligned}$$

where \({{\varvec{x}}}\) denotes the generalized coordinates vector for pose of the end-effector, \({{\varvec{M}}}({{\varvec{x}}})\) is the mass matrix of the robot, \({{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) denotes Coriolis and centrifugal terms, \({{\varvec{G}}}({{\varvec{x}}})\) indicates the vector of gravity terms, \({{\varvec{F}}}_d\) denotes the coefficient matrix of viscous friction, \({{\varvec{F}}}_s\) is the Coulomb friction term, and \({{\varvec{T}}}_d\) denotes disturbance which may represent any inaccuracy in dynamic model. Furthermore, \({{\varvec{L}}}_2\) denotes the vector of cable length, which can be measured by the motor shaft encoder, \({{\varvec{L}}}_1\) denotes the vector of the tensioned cable length, which may be measured by the cable position transducers or estimated by the solution of inverse kinematics problem of the robot, \({{\varvec{L}}}_0\) denotes the vector of cable length at \({{\varvec{x}}}=0\), and \({{\varvec{J}}}\) denotes the Jacobian matrix of the robot, which relates \({\dot{{{\varvec{x}}}}}\) to the derivative of the tensioned cable length vector by \({\dot{{{\varvec{L}}}}}_1={{\varvec{J}}}{\dot{{{\varvec{x}}}}}\). Moreover, \({{\varvec{q}}}\) denotes the vector of the motor shaft position, \({{\varvec{I}}}_m\) is the coefficient matrix of actuator moments of inertia, \({{\varvec{u}}}\) is the input torque vector, r is the radius of the actuator drum, and \({{\varvec{K}}}\) denotes stiffness matrix of the cables which is large with respect to other system parameters and we assume that it is of the order \(O(1/{\epsilon _p}^2)\) (\(\epsilon _p\) is a small scalar parameter).

As it is demonstrated in [6], the above robot dynamic model has some useful properties such as positive definiteness of \({{\varvec{M}}}({{\varvec{x}}})\) and skew-symmetricity of \({\dot{{{\varvec{M}}}}}({{\varvec{x}}})-2{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\). Some other important properties of the dynamic terms may be listed as follows [6]:

$$\begin{aligned} {\left\{ \begin{array}{ll} {\underline{m}}\le \Vert {{\varvec{M}}}({{\varvec{x}}})\Vert \le {\overline{m}}\\ \Vert {{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\Vert \le \xi _C\Vert {\dot{{{\varvec{x}}}}}\Vert \\ \Vert {{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\Vert \le \xi _{N_1}\Vert {\dot{{{\varvec{x}}}}}\Vert +\xi _{N_2} \end{array}\right. } \end{aligned}$$
(3)

3 Control algorithm

In this section, a composite controller is proposed in order to counteract the modeling uncertainties of the robot and damp the longitudinal vibrations of the cables. In our analysis, it is assumed that all terms in the dynamic and kinematic model of the robot are uncertain and the precise pre-knowledge about their upper bounds is also unavailable in practice. With this assumption, consider the following control law:

$$\begin{aligned} {{\varvec{u}}}={{\varvec{u}}}_r+{{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2) \end{aligned}$$
(4)

where \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\) is a fast control term and \({{\varvec{K}}}_v\) is a symmetric diagonal positive definite matrix whose diagonal elements are in order of \(O(1/\epsilon _p)\). Let us define \({{\varvec{u}}}_r\) as follows:

$$\begin{aligned} {{\varvec{u}}}_r={\hat{{{\varvec{J}}}}}^{\dagger }{{\varvec{F}}}+r{{\varvec{Q}}} \end{aligned}$$
(5)

where, \({\hat{{{\varvec{J}}}}}\) denotes estimated Jacobian matrix which is inaccurate due to the uncertainty in the kinematic parameters of the robot. Furthermore, \({\hat{{{\varvec{J}}}}}^{\dagger }\) denotes the pseudo-inverse of \({\hat{{{\varvec{J}}}}}^{T}\), which is determined by \({\hat{{{\varvec{J}}}}}^{\dagger }={\hat{{{\varvec{J}}}}}({\hat{{{\varvec{J}}}}}^{T}{\hat{{{\varvec{J}}}}})^{-1}\). The term \({{\varvec{Q}}}\) may be physically interpreted as the internal forces that span the null space of \({\hat{{{\varvec{J}}}}}^{T}\), by which \({\hat{{{\varvec{J}}}}}^{T}{{\varvec{Q}}}=0\). It shall be noted that the internal forces are used in the controller structure in order to keep all cables under tension within the wrench-closure workspace of the robot [6]. In this case, it is assumed that the Jacobian matrix of the cable robot is nonsingular and positive internal forces can be produced to keep the cables in tension at all times.

The term \({{\varvec{F}}}\) in Eq. (5) is the Cartesian force control law which is proposed as follows:

$$\begin{aligned} {{\varvec{F}}}={\hat{{{\varvec{M}}}}}_{eq}{\ddot{{{\varvec{x}}}}}_{r}+{\hat{{{\varvec{C}}}}}_{eq}{\dot{{{\varvec{x}}}}}_{r} +{\hat{{{\varvec{N}}}}}_{eq}-{{\varvec{K}}}_{D}\tanh {\left( \frac{{{\varvec{S}}}}{{\varvec{\epsilon }}}\right) } \end{aligned}$$
(6)

in which,

$$\begin{aligned} {{\varvec{S}}}=\dot{{\tilde{{{\varvec{x}}}}}}+{\varvec{\Lambda }}{\tilde{{{\varvec{x}}}}} \end{aligned}$$
(7)

and

$$\begin{aligned} {{\varvec{x}}}_{r}={{\varvec{x}}}_{d}-{\varvec{\Lambda }}\int _{0}^{t}{\tilde{{{\varvec{x}}}}}\,dt ,\quad {\tilde{{{\varvec{x}}}}}={{\varvec{x}}}-{{\varvec{x}}}_{d} \end{aligned}$$
(8)

where, \({{\varvec{S}}}=[S_1,\ldots ,S_n]^T\) is sliding surface vector, \({\varvec{\epsilon }}={\mathrm {diag}}\,(\epsilon _1,\ldots ,\epsilon _n)\) is the threshold width on the boundary layer of \({{\varvec{S}}}\), and it is chosen based on the measurement noise amplitude, n denotes the degrees of freedom of the robot, \({{\varvec{x}}}_{d}\) is a reference trajectory which is twice continuously differentiable, \({\varvec{\Lambda }}={\mathrm {diag}}\,(\Lambda _1,\ldots ,\Lambda _n)\) is a positive definite matrix, and \({{\varvec{K}}}_{D}={\mathrm {diag}}\,(k_{d_1},\ldots ,k_{d_n})\) is a positive definite matrix in which, \(k_{d_i}=k_i+\hat{\rho _i}\) is the control gain and \(\hat{\rho _i}\) denotes the uncertainties upper bound estimation. Let us propose the following adaptation law based on adaptation of the uncertainties upper bound according to the idea of Utkin [27].

$$\begin{aligned} \dot{\hat{\rho _i}}=\Gamma _i^{-1}|S_i|{\mathrm {sgn}}\,{\Big ((|S_i|-\epsilon _i)\hat{\rho _i}\Big )} \end{aligned}$$
(9)

where, \(\Gamma _i\) is the diagonal element of \({\varvec{\Gamma }}={\mathrm {diag}}\,(\Gamma _1,\ldots ,\Gamma _n)\) which is a positive definite matrix. Moreover, \({\hat{{{\varvec{M}}}}}_{eq},{\hat{{{\varvec{C}}}}}_{eq}\) and \({\hat{{{\varvec{N}}}}}_{eq}\) in Eq. (6) are available estimations of the following dynamic matrices

$$\begin{aligned} {\left\{ \begin{array}{ll} {{\varvec{M}}}_{eq}({{\varvec{x}}})=r{{\varvec{M}}}({{\varvec{x}}})+r^{-1}{{\varvec{J}}}^{T}{{\varvec{I}}}_m{{\varvec{J}}}\\ {{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})=r{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+r^{-1}{{\varvec{J}}}^{T}{{\varvec{I}}}_m{\dot{{{\varvec{J}}}}}\\ {{\varvec{N}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})=r{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}}) \end{array}\right. } \end{aligned}$$
(10)

Although these matrices are configuration dependent, they have some useful properties which are very helpful in stability analysis of the proposed controller. Considering the properties of the robot dynamic model which are denoted in (3), these properties can be listed as follows:

Property 1

The inertia matrix \({{\varvec{M}}}_{eq}({{\varvec{x}}})\) is symmetric and uniformly positive definite. Furthermore, since the Jacobian matrix of the robot is dependent on the end-effector pose variable \({{\varvec{x}}}\) by the bounded functions such as \(\sin ({{\varvec{x}}})\) and \(\cos ({{\varvec{x}}})\), the inertia matrix \({{\varvec{M}}}_{eq}({{\varvec{x}}})\) is bounded for all \({{\varvec{x}}}\) by:

$$\begin{aligned} {\underline{m}}_{eq}\le \Vert {{\varvec{M}}}_{eq}({{\varvec{x}}})\Vert \le {\overline{m}}_{eq} \end{aligned}$$
(11)

Property 2

The matrix \({\dot{{{\varvec{M}}}}}_{eq}({{\varvec{x}}})-2{{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) is a skew-symmetric matrix.

$$\begin{aligned} {\dot{{{\varvec{M}}}}}_{eq}({{\varvec{x}}})-2{{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})&=r\left( {\dot{{{\varvec{M}}}}}({{\varvec{x}}})-2{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\right) \nonumber \\&+ r^{-1}\left( {\dot{{{\varvec{J}}}}}^{T}{{\varvec{I}}}_m{{\varvec{J}}}-{{\varvec{J}}}^{T}{{\varvec{I}}}_m{\dot{{{\varvec{J}}}}}\right) \end{aligned}$$
(12)

Both terms of the Eq. (12) is skew-symmetric and therefore, the matrix \({\dot{{{\varvec{M}}}}}_{eq}({{\varvec{x}}})-2{{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) is a skew-symmetric matrix. This property implies that for all \({{\varvec{P}}}\) we have:

$$\begin{aligned} {{\varvec{P}}}^{T}\left( {\dot{{{\varvec{M}}}}}_{eq}({{\varvec{x}}})-2{{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\right) {{\varvec{P}}}=0 \end{aligned}$$
(13)

Property 3

Upper bound of \({{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) is independent of \({{\varvec{x}}}\), and is a function of only \({\dot{{{\varvec{x}}}}}\) as:

$$\begin{aligned} \Vert {{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\Vert&\le \Vert r{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\Vert +\Vert r^{-1}{{\varvec{J}}}^{T}{{\varvec{I}}}_m{\dot{{{\varvec{J}}}}}\Vert \nonumber \\&\le r \xi _C\Vert {\dot{{{\varvec{x}}}}}\Vert +r^{-1}\xi _{J}\Vert {\dot{{{\varvec{x}}}}}\Vert =\xi _{C_{eq}}\Vert {\dot{{{\varvec{x}}}}}\Vert \end{aligned}$$
(14)

Property 4

The vector \({{\varvec{N}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) is bounded by:

$$\begin{aligned} \Vert {{\varvec{N}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\Vert \le \xi _{N_{1_{eq}}}\Vert {\dot{{{\varvec{x}}}}}\Vert +\xi _{N_{2_{eq}}} \end{aligned}$$
(15)

4 Stability analysis

In this section, stability of the closed-loop system with the proposed control algorithm is analyzed through Lyapunov second method. Recall the dynamic equations of the robot (1) and (2), and apply the composite control law (4) from the previous section. This results into:

$$\begin{aligned}&{{\varvec{M}}}({{\varvec{x}}}){\ddot{{{\varvec{x}}}}}+{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}}) {\dot{{{\varvec{x}}}}}+{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+{{\varvec{T}}}_d = {{\varvec{J}}}^{T}{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1) \end{aligned}$$
(16)
$$\begin{aligned}&{{\varvec{I}}}_m{\ddot{{{\varvec{q}}}}}+r{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1)={{\varvec{u}}}_r+{{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2) \end{aligned}$$
(17)

Define the variable \({{\varvec{z}}}={{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1)\) and as mentioned earlier, it is assumed that \({{\varvec{K}}}\) and \({{\varvec{K}}}_v\) are in order of \(O(1/{\epsilon _p}^2)\) and \(O(1/\epsilon _p)\), respectively. Hence, we can write \({{\varvec{K}}}={{\varvec{K}}}_1/{\epsilon _p}^2\), \({{\varvec{K}}}_v={{\varvec{K}}}_2/\epsilon _p\), where, \({{\varvec{K}}}_1\) and \({{\varvec{K}}}_2\) are in ordre of O(1). By substituting \({{\varvec{z}}}\) into (16) and (17), and using \({\ddot{{{\varvec{L}}}}}_2=r{\ddot{{{\varvec{q}}}}}\), the closed-loop dynamic system can be rewritten as the singular perturbed system as follows:

$$\begin{aligned}&{{\varvec{M}}}({{\varvec{x}}}){\ddot{{{\varvec{x}}}}}+{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}}) {\dot{{{\varvec{x}}}}}+{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+{{\varvec{T}}}_d= {{\varvec{J}}}^{T}{{\varvec{z}}}\end{aligned}$$
(18)
$$\begin{aligned}&{\epsilon _p}^2{r^{-1}}{{\varvec{I}}}_m{\ddot{{{\varvec{z}}}}}+{\epsilon _p}{{\varvec{K}}}_2{\dot{{{\varvec{z}}}}}+r{{\varvec{K}}}_1{{\varvec{z}}} ={{\varvec{K}}}_1\left( {{\varvec{u}}}_r-{r^{-1}}{{\varvec{I}}}_m{\ddot{{{\varvec{L}}}}}_1\right) \nonumber \\ \end{aligned}$$
(19)

In these equations, the variable \({{\varvec{z}}}\) and \({\dot{{{\varvec{z}}}}}\) may be considered the fast variables while the variable \({{\varvec{x}}}\) and \({\dot{{{\varvec{x}}}}}\) can be interpreted as the slow variables. By using the results of the singular perturbation theory [28], the elastic closed-loop system (18) and (19) can be approximated by the quasi-steady state or slow subsystem and the boundary layer or fast subsystem [21]. According to the Tikhonov’s theorem [28], for \(t>0\), variables \({{\varvec{z}}}(t)\) and \({{\varvec{x}}}(t)\) satisfy

$$\begin{aligned} {{\varvec{z}}}(t)= & {} {\bar{{{\varvec{z}}}}}(t)+{\varvec{\eta }}(\tau )+O(\epsilon _p)\end{aligned}$$
(20)
$$\begin{aligned} {{\varvec{x}}}(t)= & {} {\bar{{{\varvec{x}}}}}(t)+O(\epsilon _p) \end{aligned}$$
(21)

in which, \(\tau =t/\epsilon _p\) is the fast timescale, the over bar variables represent the values of variables when \(\epsilon _p=0\), and \({\varvec{\eta }}\) is the fast state variable which satisfies the following boundary layer equation.

$$\begin{aligned} r^{-1}{{\varvec{I}}}_m\frac{d^2{\varvec{\eta }}}{d\tau ^2}+{{\varvec{K}}}_2\frac{d{\varvec{\eta }}}{d\tau }+r{{\varvec{K}}}_1{\varvec{\eta }}=0 \end{aligned}$$
(22)

Considering these results, the elastic system (18) and (19) can be approximated up to \(O(\epsilon _p)\) by

$$\begin{aligned}&{{\varvec{M}}}({{\varvec{x}}}){\ddot{{{\varvec{x}}}}}+{{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}}) {\dot{{{\varvec{x}}}}}+{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+{{\varvec{T}}}_d = {{\varvec{J}}}^{T}({\bar{{{\varvec{z}}}}}+{\varvec{\eta }}(\tau )) \end{aligned}$$
(23)
$$\begin{aligned}&r^{-1}{{\varvec{I}}}_m\frac{d^2{\varvec{\eta }}}{d\tau ^2}+{{\varvec{K}}}_2\frac{d{\varvec{\eta }}}{d\tau }+r{{\varvec{K}}}_1{\varvec{\eta }}=0 \end{aligned}$$
(24)

where, \({\bar{{{\varvec{z}}}}}\) is generated from substitution \(\epsilon _p=0\) into (19) as follows:

$$\begin{aligned} {\bar{{{\varvec{z}}}}}=r^{-1}\left( {\bar{{{\varvec{u}}}}}_r-r^{-1}{{\varvec{I}}}_m\ddot{{\bar{{{\varvec{L}}}}}}_1\right) \end{aligned}$$
(25)

Moreover, by substituting (25) into (23), and using \(\ddot{{\bar{{{\varvec{L}}}}}}_1={{\varvec{J}}}\ddot{{\bar{{{\varvec{x}}}}}}+{\dot{{{\varvec{J}}}}}\dot{{\bar{{{\varvec{x}}}}}}\), we have:

$$\begin{aligned}&\left( r{{\varvec{M}}}({\bar{{{\varvec{x}}}}})+r^{-1}{{\varvec{J}}}^{T}{{\varvec{I}}}_m{{\varvec{J}}}\right) \ddot{{\bar{{{\varvec{x}}}}}}\nonumber \\&\quad +\left( r{{\varvec{C}}}({\bar{{{\varvec{x}}}}},\dot{{\bar{{{\varvec{x}}}}}})+r^{-1}{{\varvec{J}}}^{T}{{\varvec{I}}}_m{\dot{{{\varvec{J}}}}}\right) \dot{{\bar{{{\varvec{x}}}}}}\nonumber \\&\quad +\, r{{\varvec{N}}}({\bar{{{\varvec{x}}}}},\dot{{\bar{{{\varvec{x}}}}}})+r{{\varvec{T}}}_d={{\varvec{J}}}^{T}({\bar{{{\varvec{u}}}}}_r+r{\varvec{\eta }}(\tau )) \end{aligned}$$
(26)

According to (10), above equation can be rewritten in the form of

$$\begin{aligned}&{{\varvec{M}}}_{eq}({\bar{{{\varvec{x}}}}})\ddot{{\bar{{{\varvec{x}}}}}}+{{\varvec{C}}}_{eq}({\bar{{{\varvec{x}}}}},\dot{{\bar{{{\varvec{x}}}}}})\dot{{\bar{{{\varvec{x}}}}}} +{{\varvec{N}}}_{eq}({\bar{{{\varvec{x}}}}},\dot{{\bar{{{\varvec{x}}}}}})+r{{\varvec{T}}}_d\nonumber \\&\quad = {{\varvec{J}}}^{T}({\bar{{{\varvec{u}}}}}_r+r{\varvec{\eta }}(\tau )) \end{aligned}$$
(27)

Note that, the Eq. (27) is called the quasi-steady-state system. By considering these results, the dynamics of the closed-loop system (16) and (17) may be divided into two subsystems as follows:

$$\begin{aligned}&{{\varvec{M}}}_{eq}{\ddot{{{\varvec{x}}}}}+{{\varvec{C}}}_{eq}{\dot{{{\varvec{x}}}}}+{{\varvec{N}}}_{eq}+r{{\varvec{T}}}_d={{\varvec{J}}}^{T}\left( {{\varvec{u}}}_r+r{\varvec{\eta }}(\tau )\right) \end{aligned}$$
(28)
$$\begin{aligned}&r^{-1}{{\varvec{I}}}_m\frac{d^2{\varvec{\eta }}}{d\tau ^2}+{{\varvec{K}}}_v\frac{d{\varvec{\eta }}}{d\tau }+r{{\varvec{K}}}{\varvec{\eta }}=0 \end{aligned}$$
(29)

It shall be noted that the controller gain \({{\varvec{K}}}_v\) can be suitably chosen such that the boundary layer system (29) becomes asymptotically stable. Let us rewrite Eq. (29) as follows:

$$\begin{aligned} {\dot{{{\varvec{h}}}}}={{\varvec{A}}}{{\varvec{h}}} \end{aligned}$$
(30)

in which,

$$\begin{aligned} {{\varvec{h}}}= \begin{bmatrix} {\varvec{\eta }}^T&{{\dot{{\varvec{\eta }}}}} ^T\\ \end{bmatrix}^T ,\qquad {{\varvec{A}}}=\left[ \begin{array}{cc} \mathbf{0}&{} {{\varvec{I}}}\\ -r^{2}{{\varvec{I}}}_m^{-1}{{\varvec{K}}}&{}-r{{\varvec{I}}}_m^{-1}{{\varvec{K}}}_v \end{array} \right] \nonumber \\ \end{aligned}$$
(31)

Now, consider the following composite Lyapunov function candidate

$$\begin{aligned} V(t)=\frac{1}{2}\left( {{\varvec{S}}}^T{{\varvec{M}}}_{eq}{{\varvec{S}}}+{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}{\tilde{{\varvec{\rho }}}}+{{\varvec{h}}}^{T}{{\varvec{W}}}{{\varvec{h}}}\right) \end{aligned}$$
(32)

in which

$$\begin{aligned} {{\varvec{W}}}=\left[ \begin{array}{cc} r^{2}({{\varvec{K}}}_v+{{\varvec{K}}})&{} r{{\varvec{I}}}_m\\ r{{\varvec{I}}}_m &{} {{\varvec{I}}}_m \end{array} \right] ,\quad {\tilde{{\varvec{\rho }}}}={\hat{{\varvec{\rho }}}}-{\varvec{\rho }}\end{aligned}$$
(33)

where, \({\varvec{\rho }}=[\rho _1,\ldots ,\rho _n]^T\) denotes the upper bound of the robot uncertainties and \({\hat{{\varvec{\rho }}}}=[{\hat{\rho }}_1,\ldots ,{\hat{\rho }}_n]^T\) denotes an estimation of \({\varvec{\rho }}\), which is adapted based on the adaptation law (9). According to the Schur complement, \({{\varvec{W}}}\) is a positive definite matrix if \({{\varvec{K}}}_v>{{\varvec{I}}}_m\). With this assumption, the Lyapunov function candidate (32) is also positive definite. Now, differentiate V(t) with respect to time:

$$\begin{aligned} {\dot{V}}(t)={{\varvec{S}}}^{T}{{\varvec{M}}}_{eq}{\dot{{{\varvec{S}}}}}+\frac{1}{2}{{\varvec{S}}}^{T}{\dot{{{\varvec{M}}}}}_{eq}{{\varvec{S}}}+{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}}+{{\varvec{h}}}^{T}{{\varvec{W}}}{\dot{{{\varvec{h}}}}}\nonumber \\ \end{aligned}$$
(34)

Using (7), one can write:

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}{{\varvec{M}}}_{eq}(\ddot{{\tilde{{{\varvec{x}}}}}}+{\varvec{\Lambda }}\dot{{\tilde{{{\varvec{x}}}}}})\nonumber \\&+\, {{\varvec{S}}}^{T}\left[ \frac{1}{2}({\dot{{{\varvec{M}}}}}_{eq}-2{{\varvec{C}}}_{eq})+{{\varvec{C}}}_{eq}\right] {{\varvec{S}}}\nonumber \\&+\,{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}}+{{\varvec{h}}}^{T}{{\varvec{W}}}{\dot{{{\varvec{h}}}}} \end{aligned}$$
(35)

Using skew-symmetricity property of \({\dot{{{\varvec{M}}}}}_{eq}({{\varvec{x}}})-2{{\varvec{C}}}_{eq}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) and expanding the last term of (35) yields to:

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}{{\varvec{M}}}_{eq}(\ddot{{\tilde{{{\varvec{x}}}}}}+{\varvec{\Lambda }}\dot{{\tilde{{{\varvec{x}}}}}})+ {{\varvec{S}}}^{T}{{\varvec{C}}}_{eq}{{\varvec{S}}}+{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}} \nonumber \\&-\, r^{3}{\varvec{\eta }}^T{{\varvec{K}}}{\varvec{\eta }}-r{\dot{{\varvec{\eta }}}}^T\left( {{\varvec{K}}}_v-{{\varvec{I}}}_m\right) {\dot{{\varvec{\eta }}}} \end{aligned}$$
(36)

Substitute subsystem (28) into the above equation:

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}\Big [{{\varvec{J}}}^{T}{{\varvec{u}}}_r+{{\varvec{J}}}^{T}r{\varvec{\eta }}-({{\varvec{C}}}_{eq}{\dot{{{\varvec{x}}}}}+{{\varvec{N}}}_{eq}+r{{\varvec{T}}}_d)\nonumber \\&-\,{{\varvec{M}}}_{eq}{\ddot{{{\varvec{x}}}}}_{d}+{{\varvec{M}}}_{eq}{\varvec{\Lambda }}\dot{{\tilde{{{\varvec{x}}}}}}+{{\varvec{C}}}_{eq}{{\varvec{S}}}\Big ] +\,{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}}\nonumber \\&- r^{3}{\varvec{\eta }}^T{{\varvec{K}}}{\varvec{\eta }}-r{\dot{{\varvec{\eta }}}}^T\left( {{\varvec{K}}}_v-{{\varvec{I}}}_m\right) {\dot{{\varvec{\eta }}}} \end{aligned}$$
(37)

Differentiate \({{\varvec{x}}}_{r}\) twice with respect to time, and substitute into Eq. (37):

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}\Big [{{\varvec{J}}}^{T}{{\varvec{u}}}_r+{{\varvec{J}}}^{T}r{\varvec{\eta }}-({{\varvec{M}}}_{eq}{\ddot{{{\varvec{x}}}}}_{r}\nonumber \\&+ \,{{\varvec{C}}}_{eq}{\dot{{{\varvec{x}}}}}_{r}+{{\varvec{N}}}_{eq}+r{{\varvec{T}}}_d)\Big ] +{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}}\nonumber \\ \end{aligned}$$
(38)

in which,

$$\begin{aligned} {{\varvec{Z}}}=\left[ \begin{array}{cc} r^{3}{{\varvec{K}}}&{} \mathbf{0}\\ \mathbf{0}&{} r({{\varvec{K}}}_v-{{\varvec{I}}}_m) \end{array} \right] \end{aligned}$$
(39)

Since \({{\varvec{K}}}\), \({{\varvec{K}}}_v\) and \({{\varvec{I}}}_m\) are positive definite matrices, the last term of (38) becomes negative definite if \({{\varvec{K}}}_v>{{\varvec{I}}}_m\). Now, substitute the control law from (5) into above equation. This yields to:

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}\Big [({{\varvec{J}}}^{T}{\hat{{{\varvec{J}}}}}^{\dagger }){{\varvec{F}}}+{{\varvec{F}}}-{{\varvec{F}}}+ {{\varvec{J}}}^{T}r{{\varvec{Q}}}\nonumber \\&-\,\,{\hat{{{\varvec{J}}}}}^{T}r{{\varvec{Q}}}+{{\varvec{J}}}^{T}r{\varvec{\eta }}-({{\varvec{M}}}_{eq}{\ddot{{{\varvec{x}}}}}_{r}+{{\varvec{C}}}_{eq}{\dot{{{\varvec{x}}}}}_{r}\nonumber \\&+\,{{\varvec{N}}}_{eq}+r{{\varvec{T}}}_d)\Big ] +{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}}\end{aligned}$$
(40)

Apply Cartesian force control law (6):

$$\begin{aligned} {\dot{V}}(t)= & {} {{\varvec{S}}}^{T}\Big [-{{\varvec{K}}}_{D}\tanh {\left( \frac{{{\varvec{S}}}}{{\varvec{\epsilon }}}\right) }+{\varvec{\Delta }}\Big ] +{\tilde{{\varvec{\rho }}}}^{T} {\varvec{\Gamma }}\dot{{\tilde{{\varvec{\rho }}}}} \nonumber \\&+\,{{\varvec{S}}}^{T}{{\varvec{J}}}^{T}r{\varvec{\eta }}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}} \end{aligned}$$
(41)

in which,

$$\begin{aligned} {\varvec{\Delta }}= & {} ({\tilde{{{\varvec{M}}}}}_{eq}{\ddot{{{\varvec{x}}}}}_{r} +{\tilde{{{\varvec{C}}}}}_{eq}{\dot{{{\varvec{x}}}}}_{r}+{\tilde{{{\varvec{N}}}}}_{eq}-r{{\varvec{T}}}_d)\\&-\,({{\varvec{I}}}-{{\varvec{J}}}^{T}{\hat{{{\varvec{J}}}}}^{\dagger }){{\varvec{F}}}-({\hat{{{\varvec{J}}}}}^{T}-{{\varvec{J}}}^{T})r{{\varvec{Q}}}\end{aligned}$$

and

$$\begin{aligned} {\tilde{{{\varvec{M}}}}}={\hat{{{\varvec{M}}}}}-{{\varvec{M}}},{\tilde{{{\varvec{C}}}}}={\hat{{{\varvec{C}}}}}-{{\varvec{C}}},{\tilde{{{\varvec{N}}}}}={\hat{{{\varvec{N}}}}}-{{\varvec{N}}}\end{aligned}$$

where \({\varvec{\Delta }}\) is a measure of modeling uncertainty. It is notable that the adaptation law (9) is designed to suitably estimate the upper bound of \({\varvec{\Delta }}\) in real time in order to accommodate the modeling uncertainties of the robot. In presence of uncertainties both in the kinematic and dynamic terms, it may be assumed that the disturbance terms, the estimated Jacobian matrix and the internal forces may be bounded by the following relations [6]:

$$\begin{aligned}&\Vert ({\hat{{{\varvec{J}}}}}^{T}-{{\varvec{J}}}^{T})r{{\varvec{Q}}}\Vert \le \xi _{Q} \\&\Vert ({{\varvec{I}}}-{{\varvec{J}}}^{T}{\hat{{{\varvec{J}}}}}^{\dagger }){{\varvec{F}}}\Vert \le \xi _{f}\Vert {{\varvec{F}}}\Vert ,\quad \Vert {{\varvec{T}}}_d\Vert \le \xi _{t} \end{aligned}$$

According to the above inequalities and the properties of the robot dynamic terms, which are denoted in (11), (14) and (15), it may be concluded that the upper bound of the norm of \({\varvec{\Delta }}\) is generally a function of the sliding surface variables \({{\varvec{S}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})\) and time t as follows:

$$\begin{aligned} \Vert {\varvec{\Delta }}\Vert \le \sum _{i=1}^{n}\rho _i(S_i,t) \end{aligned}$$
(42)

Now, Equation (41) may be written as in two cases. In the first case, it is assumed that the tracking errors leave the boundary layer of the sliding surface in which, \(|S_i|\ge \epsilon _i\). In this case, using the inequality (42), one may rewrite the Eq. (41) as

$$\begin{aligned} {\dot{V}}(t)\le & {} \sum _{i=1}^{n}\left( |S_i|[-k_{d_i}+\rho _i]+\tilde{\rho _i} \Gamma _i\dot{\tilde{\rho _i}}\right) \nonumber \\&+\,{{\varvec{S}}}^{T}{{\varvec{J}}}^{T}r{\varvec{\eta }}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}} \end{aligned}$$
(43)

Substituting \(k_{d_i}=k_i+\hat{\rho _i}\) and applying the adaptation law (9) into above equation yield to:

$$\begin{aligned} {\dot{V}}(t)\le \sum _{i=1}^{n}\left( -k_i|S_i|\right) +{{\varvec{S}}}^{T}{{\varvec{J}}}^{T}r{\varvec{\eta }}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}} \end{aligned}$$
(44)

According to Rayleigh–Ritz inequality, above equation can be expressed as

$$\begin{aligned} {\dot{V}}(t)\le & {} -\lambda _{\text {min}}({{\varvec{k}}}_m)\Vert {{\varvec{S}}}\Vert +r\sigma _{\text {max}}({{\varvec{J}}}^{T})\Vert {{\varvec{S}}}\Vert \Vert {{\varvec{h}}}\Vert \nonumber \\&-\,\lambda _{\text {min}}({{\varvec{Z}}})\Vert {{\varvec{h}}}\Vert ^2 \end{aligned}$$
(45)

where \({{\varvec{k}}}_m={\mathrm {diag}}\,({k_1,\ldots ,k_n})\) denotes a positive definite matrix, and \( \lambda _{\text {min}}\) and \(\sigma _{\text {max}}\) denote the smallest eigenvalue and the largest singular value of the corresponding matrices, respectively. Let us rewrite (45) as follows:

$$\begin{aligned} {\dot{V}}(t)\le -{{\varvec{d}}}^T{{\varvec{C}}}{{\varvec{d}}}+\lambda _{\text {min}}({{\varvec{k}}}_m)\left( \Vert {{\varvec{S}}}\Vert ^2-\Vert {{\varvec{S}}}\Vert \right) \end{aligned}$$
(46)

in which,

$$\begin{aligned} {{\varvec{d}}}= & {} \begin{bmatrix} \Vert {{\varvec{S}}}\Vert&\Vert {{\varvec{h}}}\Vert \\ \end{bmatrix}^T,\qquad \nonumber \\ {{\varvec{C}}}= & {} \left[ \begin{array}{cc} \lambda _{\text {min}}({{\varvec{k}}}_m) &{} 0.5r\sigma _{\text {max}}({{\varvec{J}}}^{T})\\ 0.5r\sigma _{\text {max}}({{\varvec{J}}}^{T}) &{}\lambda _{\text {min}}({{\varvec{Z}}}) \end{array} \right] \end{aligned}$$
(47)

In order to make \({{\varvec{C}}}\) positive definite , it is sufficient to have

$$\begin{aligned} \lambda _{\text {min}}({{\varvec{k}}}_m)\lambda _{\text {min}}({{\varvec{Z}}})>0.25r^2\sigma _{\text {max}}^2({{\varvec{J}}}^{T}) \end{aligned}$$
(48)

This condition is simply met by choosing appropriate values for \({{\varvec{K}}}_v\). By using Rayleigh–Ritz inequality, Eq. (46) can be rewritten as following form:

$$\begin{aligned} {\dot{V}}(t)\le \left( \lambda _{\text {min}}({{\varvec{k}}}_m)-\lambda _{\text {min}}({{\varvec{C}}})\right) \Vert {{\varvec{d}}}\Vert ^2-\lambda _{\text {min}}({{\varvec{k}}}_m)\Vert {{\varvec{S}}}\Vert \nonumber \\ \end{aligned}$$
(49)

\({\dot{V}}(t)\) is negative semi-definite if \(\lambda _{\text {min}}({{\varvec{C}}})>\lambda _{\text {min}}({{\varvec{k}}}_m)\), which is simply met by choosing appropriate values for \({{\varvec{K}}}_v\). Therefore, the proposed composite controller can stabilize the system and the trajectory tracking eventually converges to the boundary layer of the sliding surface, in which \(|S_i| < \epsilon _i\). In this case, by applying the adaptation law (9), the derivative of the Lyapunov function with respect to time given in (41) changes to:

$$\begin{aligned} {\dot{V}}(t)\le & {} \sum _{i=1}^{n}|S_i|\left[ -k_{i}\left( \frac{|S_i|}{\epsilon _i}\right) +2\rho _i\right] \nonumber \\&+\,{{\varvec{S}}}^{T}{{\varvec{J}}}^{T}r{\varvec{\eta }}-{{\varvec{h}}}^T{{\varvec{Z}}}{{\varvec{h}}} \end{aligned}$$
(50)

According to Rayleigh-Ritz inequality, (50) can be written as

$$\begin{aligned} {\dot{V}}(t)\le -{{\varvec{d}}}^T{{\varvec{B}}}{{\varvec{d}}}+2\lambda _{\text {max}}({\varvec{\rho }}_m)\ Vert {{\varvec{S}}}\Vert \end{aligned}$$
(51)

where, \({\varvec{\rho }}_m={\mathrm {diag}}\,({\rho _1,\ldots ,\rho _n})\) and

$$\begin{aligned} {{\varvec{B}}}=\left[ \begin{array}{cc} \lambda _{\text {min}}({{\varvec{k}}}_m)\lambda _{\text {max}}({\varvec{\epsilon }}) &{} 0.5r\sigma _{\text {max}}({{\varvec{J}}}^{T})\\ 0.5r\sigma _{\text {max}}({{\varvec{J}}}^{T}) &{}\lambda _{\text {min}}({{\varvec{Z}}}) \end{array} \right] \end{aligned}$$
(52)

The first term of (51) is negative definite if

$$\begin{aligned} \lambda _{\text {min}}({{\varvec{k}}}_m)\lambda _{\text {max}}({\varvec{\epsilon }})\lambda _{\text {min}}({{\varvec{Z}}})>0.25r^2\sigma _{\text {max}}^2({{\varvec{J}}}^{T}) \end{aligned}$$
(53)

The above condition is simply met by choosing appropriate values for \({{\varvec{K}}}_v\). Inequality (51) can be written as

$$\begin{aligned} {\dot{V}}(t)\le & {} -\lambda _{\text {min}}({{\varvec{B}}})\Vert {{\varvec{d}}}\Vert ^2+2\lambda _{\text {max}}({\varvec{\rho }}_m)\Vert {{\varvec{d}}}\Vert \nonumber \\\le & {} \Vert {{\varvec{d}}}\Vert \Big [-\lambda _{\text {min}}({{\varvec{B}}})\Vert {{\varvec{d}}}\Vert +2\lambda _{\text {max}}({\varvec{\rho }}_m)\Big ] \end{aligned}$$
(54)

In this case, negative semi-definiteness of \({\dot{V}}(t)\) is guaranteed with a level of conservatism, provided that,

$$\begin{aligned} \Vert {{\varvec{d}}}\Vert >\left( \frac{2\lambda _{\text {max}}({\varvec{\rho }}_m)}{\lambda _{\text {min}}({{\varvec{B}}})}\right) =\delta _s \end{aligned}$$
(55)

Therefore, the proposed controller can stabilize the system and the tracking error will remain uniformly ultimately bounded (UUB). In this case, in order to decrease the radius of ultimate steady-state tracking error \(\delta _s\), it is sufficient to increase \(\lambda _{\text {min}}({{\varvec{B}}})\), which is simply met by choosing large enough values for \({{\varvec{K}}}_v\).

5 Simulations

In order to verify the effectiveness of the proposed composite control algorithm, a simulation study has been performed on a fully constrained planar cable-driven parallel robot as shown in Fig. 1a. This robot has three degrees of freedom with one degree of actuator redundancy. The position and orientation of the center of the mass of the end-effector is denoted by \({{\varvec{P}}}=[x,y,\phi ]\). As it is shown in Fig. 1, \(A_i\) denotes the fixed attachment points of the cables, \(B_i\) denotes the attachment points of the cables on the end-effector which lie at the radial distance of \(R_B\) from center of the end-effector and \(x_A\) and \(y_A\) are the length and width of the rectangle that actuators have been attached on its vertices. According to the dynamic model described by (1) and (2) and because of the planar motion, we have \({{\varvec{C}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})=\mathbf{0}\). In this case, the dynamics formulation of this robot can be written as [25]:

$$\begin{aligned}&{{\varvec{M}}}({{\varvec{x}}}){\ddot{{{\varvec{x}}}}}+{{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})+{{\varvec{T}}}_d={{\varvec{J}}}^{T}{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1) \end{aligned}$$
(56)
$$\begin{aligned}&{{\varvec{I}}}_m{\ddot{{{\varvec{q}}}}}+r{{\varvec{K}}}({{\varvec{L}}}_2-{{\varvec{L}}}_1)={{\varvec{u}}} \end{aligned}$$
(57)

where

$$\begin{aligned} {{\varvec{N}}}({{\varvec{x}}},{\dot{{{\varvec{x}}}}})={{\varvec{G}}}({{\varvec{x}}})+{{\varvec{F}}}_d{\dot{{{\varvec{x}}}}}+{{\varvec{F}}}_s({\dot{{{\varvec{x}}}}}) \end{aligned}$$

in which

$$\begin{aligned} {{\varvec{M}}}={\mathrm {diag}}\,({m,m,I_z}),\quad {{\varvec{G}}}= \begin{bmatrix} 0&mg&0 \end{bmatrix}^T \end{aligned}$$
Fig. 1
figure 1

A fully constrained planar CDPR. a The schematics of the robot. b Vector definitions for Jacobian derivation

where m is the mass and \(I_z\) is the moment of inertia of the end-effector about its center of mass and g is the gravity acceleration. Moreover, according to the geometry of the robot as shown in Fig. 1b, the Jacobian matrix of the robot can be expressed by [25]:

$$\begin{aligned} \mathbf {J}=\begin{bmatrix} S_{1x}&S_{1y}&E_{1x}S_{1y}-E_{1y}S_{1x} \\ S_{2x}&S_{2y}&E_{2x}S_{2y}-E_{2y}S_{2x} \\ S_{3x}&S_{3y}&E_{3x}S_{3y}-E_{3y}S_{3x} \\ S_{4x}&S_{4y}&E_{4x}S_{4y}-E_{4y}S_{4x} \end{bmatrix} \end{aligned}$$
(58)

in which the subscripts x and y denote the corresponding component of the \(S_i\) and \(E_i\) vectors as shown in Fig. 1b. It shall be noted that since the robot is redundantly actuated, the Jacobian matrix of the robot is a non-square \(4\times 3\) matrix.

All nominal dynamic and kinematic parameters of the robot and the constant parameters of the proposed controller are given in Table 1. It shall be noted that some of the robot parameters are considered uncertain, in order to evaluate the effectiveness of the proposed control algorithm against modeling uncertainties of the robot in practice. The control algorithm is based on (4), and it is assumed that the precise knowledge of the kinematic and dynamic parameters of the robot is unavailable.

Table 1 Dynamic and kinematic parameters of the planar robot and the parameters of the proposed controller

The block diagram of the proposed composite controller is shown in Fig. 2. In this scheme, inputs of the proposed controller are the pose of the end-effector

Fig. 2
figure 2

Block diagram of the proposed composite controller

\({{\varvec{x}}}\), its derivative \({\dot{{{\varvec{x}}}}}\) and the measured cable length vector \({{\varvec{L}}}_2\), while its outputs are the required torques. The calculated torques are transformed through the internal force control block into the suitable torques \({{\varvec{u}}}\) which makes positive tension in the cables. Furthermore, the gain of the fast control term is chosen as \({{\varvec{K}}}_v=600~{{\varvec{I}}}_{4\times 4}\) to satisfy the stability conditions.

In order to show the effectiveness of the proposed composite control algorithm, we consider two simulation cases. In Case A, the proposed controller is simulated considering the stiffness matrix of the cables as \({{\varvec{K}}}=1000{{\varvec{I}}}_{4\times 4}\). In this case, \({{\varvec{K}}}\) is intentionally chosen very low in order to demonstrate a high elastic system and evaluate the effectiveness of the proposed controller in term of damping of the inherent cable vibrations. In Case B, a more realistic case study with \({{\varvec{K}}}=10000{{\varvec{I}}}_{4\times 4}\) is considered in order to show the closed-loop performance of the proposed controller in terms of tracking the desired trajectories in practice.

In Case A, the following smooth reference trajectories are considered in task space coordinates in XY and \(\phi \) directions.

$$\begin{aligned} \left\{ \begin{array}{rcl} x_d&{}=&{}0.4+2e^{-t}-2.4e^{-t/1.2}\\ y_d&{}=&{}0.4+2e^{-t}-2.4e^{-t/1.2}\\ \phi _d&{}=&{}0.2\sin {(0.2\pi t)} \end{array} \right. \end{aligned}$$

In the first attempt of Case A, the control law (4) is applied to the robot without the fast control term \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\). In this case, the controller is similar to the adaptive robust controller which has been proposed in [20]. As illustrated in Fig. 3, the closed-loop system with the proposed controller becomes unstable if the fast control term is not applied to the robot. The main reason for instability is the divergence of the fast state variables \({\varvec{\eta }}(\tau )\).

Fig. 3
figure 3

Instability of the closed-loop system with the proposed controller without \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\): Case A

In the second simulation of Case A, the proposed composite control law (4) is applied to the robot and the results of the simulation are compared with that of the composite robust PID controller, which has been proposed in [26]. Both of the controller uses the fast control term \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\) in order to damp the longitudinal vibrations of the cables. Figure 4 shows the simulation results in tracking the smooth desired trajectories using composite robust PID controller. Note that in these figures the desired trajectories are drawn in dashed line, while the simulation results are drawn in solid line. As it is shown in this figure, this controller is able to stabilize the closed-loop system by using the fast control term. Moreover, it is successful to regulate the pose of the end-effector in X and Y directions and the steady state errors are very small and in order of \(10^{-3}\). However, it has not the desirable performance in the reaching phase to the desired value in X and Y directions, and furthermore, it cannot suitably track the sinusoidal trajectory in \(\phi \) directions. These shortcomings happen due to the lack of consideration of dynamic effects in the structure of the controller. Moreover, some initially damped transient oscillation of the fast state variables affects on the trajectory tracking and significantly degrades the performance of the controller [26].

Fig. 4
figure 4

Tracking performance of the robust PID controller, which has been proposed in [26]: Case A

Figure 5 verifies the effectiveness of the proposed composite controller in terms of tracking of the smooth reference trajectories in three directions. Although the system is very elastic and uncertain, the proposed controller is able to stabilize the close loop system and provides suitable tracking performance with required accuracy. As it is observed in Fig. 6, the pose errors are very small and in order of \(10^{-3}\)m. Moreover, the proposed controller by using adaptation of the control gains is able to efficiently damp transient oscillation of the fast variables, as well as, to accommodate the modeling uncertainties. As it is shown in Fig. 7, when the tracking errors slip away from the sliding surface, the control gains are increasing up to a value large enough to counteract the bounded uncertainties. As the trajectories approach the sliding surface, the control gains decrease, in order to use minimum tension in the cables. Moreover, it is observed in Fig. 8, that all cables remain in tension during the robot maneuvers using the internal force term \({{\varvec{Q}}}\) in the structure of the controller.

Fig. 5
figure 5

Tracking performance of the proposed composite controller in three directions: Case A

Fig. 6
figure 6

Tracking errors of the end-effector; proposed composite controller: Case A

Fig. 7
figure 7

Adaptation of the control gains in three directions; proposed composite controller: Case A

Fig. 8
figure 8

Cables forces; proposed controller: Case A

In Case B with \({{\varvec{K}}}=10000{{\varvec{I}}}_{4\times 4}\), to evaluate tracking performance of the system with the proposed controller, a more challenging circular trajectory with a radius of 0.2 m is considered while the end-effector attempting to maintain \(\phi =0\) at all time. In this case, the following reference trajectories are considered,

$$\begin{aligned} \left\{ \begin{array}{rcl} x_d&{}=&{}0.2\cos {(0.2\pi t)}u_s(t-2.5)\\ y_d&{}=&{}0.2\sin {(0.2\pi t)}\\ \end{array} \right. \end{aligned}$$

In the first attempt of Case B, the control law (4) is applied to the robot without the fast control term \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\). In this case, the controller is similar to the adaptive robust controller which has been proposed in [20]. Figure 9a, b show the simulation results in tracking the desired circular trajectory. As it is shown in these figures, the end-effector experiences undesirable vibrations and can not suitably track the desired trajectories due to elasticity of the cables. In this case, the oscillation of the fast state variables affects on the adaptation process and significantly degrades the performance of the controller.

Fig. 9
figure 9

Tracking performance of the proposed composite controller without \({{\varvec{K}}}_v({\dot{{{\varvec{L}}}}}_1-{\dot{{{\varvec{L}}}}}_2)\): Case B. a Tracking of the circular trajectory in XY plane. b Orientation of the end-effector

In the second simulation of Case B, the proposed composite control law (4) is applied to the robot and the results of the simulation are compared with that of the composite nonlinear controller, which has been proposed in [21]. Figure 10a, b show the tracking performance of the desired circular trajectory using composite nonlinear controller proposed in [21]. As it is observed in these figures, this controller is able to efficiently damp the vibrations of the cables by using the fast control term. However, it has not the desirable performance in tracking the circular trajectory due to the negative effects of the modeling uncertainties on the controller performance. Moreover, uncertainties of the kinematic parameters in Jacobian matrix may change the direction of the resultant internal forces and may consequently degrade the performance of the controller [17].

Fig. 10
figure 10

Tracking performance of the composite nonlinear controller, proposed in [21]: Case B. a Tracking of the circular trajectory in XY plane. b Orientation of the end-effector

Figure 11a, b verifies the effectiveness of the proposed composite controller in terms of tracking of the desired circular trajectory. As it is seen in these figures, the proposed controller is able to efficiently damp vibrations of the cables, as well as, to accommodate the modeling uncertainties and it provides suitable tracking performance with required accuracy. The tracking errors in X and Y direction are shown in Fig. 12a. As it is shown in this figure, the proposed controller with adaptation of the control gains, can successfully track the circular trajectory with accuracy of order \(10^{-3}\hbox {m}\). Moreover, it can be seen in Fig. 12b that all cables remain in tension during this motion.

Fig. 11
figure 11

Tracking performance of the proposed composite controller: Case B. a Tracking of the circular trajectory in XY plane. b Orientation of the end-effector

Fig. 12
figure 12

Results of the proposed composite controller: Case B. a Tracking errors of the end-effector. b Cables forces

Based on these simulation results, the prescribed uniformly ultimately bounded tracking error for the proposed control algorithm is verified in all three directions. Furthermore, it may be concluded that the proposed adaptive robust controller can achieve suitable tracking performance in practice for different desired trajectories, while it efficiently damp vibrations of the cables. As a result, it might be considered as a suitable solution for different cable robotic applications. It shall be noted that, in the design procedure of the proposed composite controller, it is assumed that the Jacobian matrix of the cable robot is nonsingular and positive internal forces can be produced to keep the cables in tension at all times. However, in a CDPR with very low cable stiffness, this assumption is not valid anymore at whole workspace of the robot. In this case, the gain \({{\varvec{K}}}_v\) of the fast control term can not be chosen very high in order to damp the large longitudinal vibrations of the cables because it may limit the reachable workspace of the robot. Future research will be dedicated to study this subject.

6 Conclusions

This paper addresses adaptive robust control of fully constrained cable-driven parallel robots with elastic cables. It is assumed that the linear axial spring model may suitably describe the effects of dominant dynamics of the cables. with this assumption, a composite controller is designed to counteract the bounded uncertainties and damp undesirable vibrations of the cables due to cables elasticity, simultaneously. In addition, it keeps all cables in tension during the motion in the wrench-closure workspace of the robot. Using the results of singular perturbation theory, it is proven that the proposed control algorithm is efficiently able to stabilize the closed-loop system in the sense of uniformly ultimately bounded. Finally, the suitable tracking performance of the proposed controller is verified through several simulations on a fully constrained planar cable-driven parallel robot.