1 Introduction

In the last few decades, adaptive control and robust control of robot manipulators in the task space [13] and joint space [4, 5] have been the focus of widespread researches. The reason for the importance of robust and adaptive control may be their efficiency in overcoming the uncertainty originated from mismatch between the nominal and actual models. External disturbances, parametric uncertainty and un-modeled dynamics are the main sources of uncertainty in control engineering which can seriously degrade the controller performance.

In earlier methods of robust control [6, 7], the controller is designed based on the nominal model. Then, a robustifying term is added to the control law to compensate the uncertainty and the value of this term is determined using a Lyapunov stability analysis. In these approaches, the uncertainty bound is needed to guarantee the system stability and design the control law. Usually, this bound is a function of the system states and the upper bound of external disturbance. Thus, all the required feedbacks should be available and the upper bounds of parametric uncertainty and external disturbances should be known in advance. Moreover, linear parameterization of the robot manipulator motion equation is necessary in most robust and adaptive control approaches [17]. Therefore, the manipulator motion equation should be completely modeled in order to identify the regressor matrices.

Most of researches in the field of robot control are based on the torque control strategy (TCS). In this strategy, the control law computes the torques which should be applied to the joints. The system actuators should be excited, so that they produce the desired torques. However, the actuator dynamics is neglected in the TCS and its input is not determined in this strategy. To solve this problem, voltage control strategy (VCS) [8] has been presented which is simpler and more efficient. Stability analysis of a voltage-based controller was presented for robot manipulators [9]. Based on the VCS, some robust control approaches have been presented [1013]. Position control of robot manipulators in the task space using TCS is very complicated, since the controller faces both dynamical and kinematical uncertainties. However, task-space control using VCS is much simpler and less computational [14]. Position control of flexible joint robots using TCS is a challenging task, while VCS has considerably simplified this problem [15, 16].

Recently, some regressor-free adaptive approaches have been presented [17, 18] in which uncertainties have been approximated using Fourier series. On the basis of Lyapunov stability, some adaptation laws are derived for adjustment of the Fourier series coefficients. According to [19], other orthogonal functions such as Legendre and Chebyshev polynomials can approximate continuous-time functions with an arbitrary accuracy. This paper applies this idea to estimate the uncertainty bound in robust task-space control of electrically driven robot.

The most important advantage of the proposed control approach is reducing the number of required sensors, since providing the controller with some of these feedbacks may be impossible or expensive. For instance, the acceleration signal may be required [11, 12] which is often contaminated with noise and may degrade the controller performance. Sometimes, the time derivatives of motor currents are needed [13]. Observer-based control structures can be applied for estimation of these un-measurable signals. For instance, extended state observer [20] and nonlinear disturbance observer [21] have been proposed. However, these approaches increase the computational burden of the controller by augmenting the observer dynamics. Moreover, in these approaches, it has been assumed that the lumped uncertainty is constant or varies slowly. This assumption can be violated easily in the applications where high speeds are needed. Thus, the proposed controller in this paper is superior to observer-based control structures [20, 21], since this assumption is not required. In comparison with those approaches presented in [17, 18], the proposed method in this paper is much simpler, since there is no need to use several estimators to approximate manipulator inertia matrix, the vector of gravitational torques or centrifugal and coriolis torques. In this paper, the lumped uncertainty for each joint is estimated. Another superiority of the proposed controller is elimination of the need for knowing the upper bound of external disturbances and parametric uncertainty.

Nowadays, fuzzy systems [22] and neural networks [2325] are widely used in adaptive and robust control of robot manipulators due to their universal approximation property [26]. These researches can be considered as alternatives made toward a common objective which is estimation and compensation of uncertainty. However, stability analysis of the neural control or fuzzy control systems still is a challenging problem. In contrast, the stability analysis of the proposed control system is presented in a classic method.

This paper is organized as follows. Section 2 explains function approximation techniques. Section 3 presents a conventional robust control approach using VCS. Section 4 develops the proposed control law. Section 5 illustrates the simulation results and presents a comparison between the performances of different function approximation techniques. Finally, Sect. 6 concludes the paper.

2 Function approximation using Legendre polynomials

From linear algebra, we know that a basis is set of linearly independent vectors that can present any vector in a given vector space using a linear combination [19]. An orthogonal basis for an inner product space \(V\) is a basis for \(V\) whose vectors are mutually orthogonal. A typical inner product is given by

$$\begin{aligned} \left\langle {f,g} \right\rangle =\int {f^{*}(x)g(x)\hbox {d}x} \end{aligned}$$
(1)

in which \(f^{*}(x)\) is the complex conjugate of the function \(f(x)\). If the inner product (1) is zero for \(f(x)\ne g(x)\), the functions \(f(x)\) and \(g(x)\) are called orthogonal. Suppose that \(V\) is the space of all real-valued continuous-time functions. According to [19], a function \(h(x)\) defined in this space on the interval \(\left[ {{\begin{array}{ll} {x_1 }&{} {x_2 } \\ \end{array} }} \right] \) can be approximated as

$$\begin{aligned} h(x)=\sum _{i=1}^m {a_i \varphi _i (x)+\varepsilon _m (x)} \end{aligned}$$
(2)

where the set \(\left\{ {{\begin{array}{lll} {\varphi _1 (x)}&{} {\ldots }&{} {\varphi _m (x)} \\ \end{array} }} \right\} \) forms an orthogonal basis and \(\varepsilon _m (x)\) is the approximation error. The coefficient \(a_i \) is calculated by

$$\begin{aligned}&a_i =\frac{1}{A_i }\int _{x_1 }^{x_2 } {h(x)\varphi _i (x)\hbox {d}x\quad \quad i=0,1,\ldots ,m}\end{aligned}$$
(3)
$$\begin{aligned}&\int _{x_1 }^{x_2 } {\varphi _i (x)\varphi _j (x)\hbox {d}x} =\left\{ {{\begin{array}{l} {0\quad i\ne j} \\ {A_i \quad i=j} \\ \end{array} }} \right. \end{aligned}$$
(4)

The approximation error \(\varepsilon _m (x)\) is bounded in the sense that

$$\begin{aligned} \mathop {\lim }\limits _{m\rightarrow \infty } \int _{x_1 }^{x_2 } {\varepsilon _m^2 (x)\hbox {d}x=0} \end{aligned}$$
(5)

Considering the interval \([-1\, 1]\) and the inner product (1), the Legendre polynomials (LPs) that are defined as

$$\begin{aligned}&\varphi _0 (x)=1\end{aligned}$$
(6)
$$\begin{aligned}&\varphi _1 (x)=x \end{aligned}$$
(7)
$$\begin{aligned} (i+1)\varphi _{i+1} (x)&= (2i+1)x\varphi _i ( x )-i\varphi _{i-1} (x)\nonumber \\&\quad i=1,\ldots ,m-1 \end{aligned}$$
(8)

form an orthogonal basis [19]. Thus, a function \(h(x)\) defined on the interval \([-1\, 1]\) can be approximated using LPs in the form of (2) in which the coefficients \(a_i \quad i=0,1,\ldots ,m\) are calculated according to (3) and (4) and the polynomials \(\varphi _i (x) \quad i=0,1,\ldots ,m\) are given by (5)–(8).

Remark 1

The most important problem in applying orthogonal functions to control systems is that the function \(h(x)\) is not available. Thus, the coefficients \(a_i \quad i=0,1,\ldots ,m\) cannot be calculated according to (3) and (4), since \(h(x)\) is unknown. In control systems, these coefficients are adjusted online using adaptation laws derived from the stability analysis. In Sect. 4, this issue will be explained with more details.

Remark 2

Another important issue about using orthogonal functions for function approximation in control systems may be the fact that the functions \(\varphi _i (x)\) are mutually orthogonal just on the interval \([-1 \,1]\). Out of this interval, the functions \(\varphi _i (x)\) may not be mutually orthogonal. However, the uncertain functions that should be estimated in robust and adaptive control systems are generally functions of the variable time which may increase to infinity and cannot be limited to the interval \([-1 \,1]\). To solve this problem, we can let \(x=\sin (\omega t)\) in which \(\omega \) is a predefined constant [27].

3 A conventional robust control approach using VCS

According to [10], the robotic system including manipulator and permanent magnet dc motors can be described by the following nonlinear state space equation.

$$\begin{aligned} {\dot{\mathbf{Z}}}=\mathbf{F}(\mathbf{Z})+\left[ {{\begin{array}{lll} \mathbf{0}&{} \mathbf{0}&{} {\mathbf{L}^{\mathbf{-1}}} \\ \end{array} }} \right] ^{T}\mathbf{v} \end{aligned}$$
(9)

in which \(\mathbf{Z}=\left[ {{\begin{array}{lll} \mathbf{q}&{} {{\dot{\mathbf{q}}}}&{} {\mathbf{I}_\mathbf{a} } \\ \end{array} }} \right] ^{T}\) is the state vector, \(\mathbf{q}\in R^{n}\) is the vector of joint positions, \({\dot{\mathbf{q}}}\in R^{n}\) is the vector of joint-space velocity, \(\mathbf{I}_\mathbf{a} \in R^{n}\) is the vector of motor currents, \(\mathbf{L}\) is the \(n\times n\) diagonal matrices for the coefficients of armature inductance and \(n\) is the number of joints. The nonlinear vector function \(\mathbf{F}(\mathbf{Z})\) is given by

$$\begin{aligned} \mathbf{F}(\mathbf{Z})=\left[ {{\begin{array}{l} {\mathbf{Z}_2 } \\ (\mathbf{J}_m \mathbf{r}^{-1}+\mathbf{rD}(\mathbf{Z}_1 ))^{-1}(-(\mathbf{B}_m \mathbf{r}^{-1}\\ \quad +\,\mathbf{rC}(\mathbf{Z}_1 ,\mathbf{Z}_2 ))\mathbf{Z}_2 -\mathbf{rG}(\mathbf{Z}_1 )+\mathbf{K}_\mathbf{b} \mathbf{Z}_3 ) \\ {-\mathbf{L}^{-1}(\mathbf{K}_\mathbf{b} \mathbf{r}^{-1}\mathbf{Z}_2 +\mathbf{RZ}_3 )} \\ \end{array} }} \right] \end{aligned}$$
(10)

where \(\mathbf{D}(\mathbf{Z}_1 )\) is the \(n\times n\) matrix of manipulator inertia, \(\mathbf{C}(\mathbf{Z}_1 ,\mathbf{Z}_2 )\mathbf{Z}_2 \in R^{n}\) is the vector of centrifugal and Coriolis torques, \(\mathbf{G}(\mathbf{Z}_1 )\in R^{n}\) is the vector of gravitational torques and \(\mathbf{J}_\mathbf{m} ,\,\mathbf{B}_\mathbf{m} \) and \(\mathbf{r}\) are the \(n\times n\) diagonal matrices for motor coefficients, namely the inertia, damping and reduction gear, respectively. Also, \(\mathbf{v}\in R^{n}\) is the vector of motor voltages and \(\mathbf{R}\) and \(\mathbf{K}_\mathbf{b} \) represent the \(n\times n\) diagonal matrices for the coefficients of armature resistance and back-emf constant, respectively. In this paper, it is assumed that the nonlinear vector function \(\mathbf{F}(\mathbf{Z})\) is unknown.

The position and velocity in the task space are denoted by \(\mathbf{X}\in R^{3}\) and \({\dot{\mathbf{X}}}\in R^{3}\), respectively. The Jacobian matrix \(\mathbf{J}(\mathbf{q})\in R^{3\times n}\) relates the joint-space velocity vector \({\dot{\mathbf{q}}}\) to the task-space velocity vector \({\dot{\mathbf{X}}}\) as

$$\begin{aligned} {\dot{\mathbf{X}}}=\mathbf{J}(\mathbf{q}){\dot{\mathbf{q}}} \end{aligned}$$
(11)

Consider the electrical equation of geared permanent magnet DC motors in the matrix form [10]

$$\begin{aligned} \mathbf{RI}_\mathbf{a} +\mathbf{L}\dot{\mathbf{I}}_\mathbf{a} \mathbf{+K}_\mathbf{b} \mathbf{r}^{-1}{\dot{\mathbf{q}}}+\varvec{\upvarphi }=\mathbf{v} \end{aligned}$$
(12)

where \(\varvec{\upvarphi }\in R^{n}\) is a vector of external disturbances. One can easily obtain from (3) that \({\dot{\mathbf{q}}}=\mathbf{J}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}\). In this paper, it is assumed that the manipulator operates in a region where \(\mathbf{J}^{-1}(\mathbf{q})\) is nonsingular. Thus, the voltage Eq. (12) can be rewritten as

$$\begin{aligned} \mathbf{RI}_\mathbf{a} +\mathbf{L}\dot{\mathbf{I}}_\mathbf{a} \mathbf{+K}_\mathbf{b} \mathbf{r}^{-1}\mathbf{J}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}+\varvec{\upvarphi }=\mathbf{v} \end{aligned}$$
(13)

Assume that \({\hat{\mathbf{K}}}_\mathbf{b}, \,{\hat{\mathbf{r}}}\) and \({ \hat{\mathbf{J}}}(\mathbf{q})\) are the nominal values of \(\mathbf{K}_\mathbf{b} \), \(\mathbf{r}\) and \(\mathbf{J}(\mathbf{q})\), respectively. By adding and subtracting \({\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{ \hat{\mathbf{J}}}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}\), the voltage Eq. (13) can be given by

$$\begin{aligned} {\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}+\mathbf{F}(t)=\mathbf{v} \end{aligned}$$
(14)

where \(\mathbf{F}(t)\) is the lumped uncertainty. From (13) and (14), it follows that

$$\begin{aligned} \mathbf{F}(t)&= \mathbf{RI}_\mathbf{a} +\mathbf{L}\dot{\mathbf{I}}_\mathbf{a} \mathbf{+K}_\mathbf{b} \mathbf{r}^{-1}\mathbf{J}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}\nonumber \\&+\,\varvec{\upvarphi }-{\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1}(\mathbf{q}){\dot{\mathbf{X}}} \end{aligned}$$
(15)

As mentioned before, the uncertainty bound is required in most robust control approaches. Thus, it is assumed that the lumped uncertainty \(\mathbf{F}(t)\) in (15) is bounded as \(\left\| {\mathbf{F}(t)} \right\| \le \eta (t)\) in which the scalar function \(\eta (t)\) is given by

$$\begin{aligned} \eta (t)&= \left\| \mathbf{R} \right\| \left\| {\mathbf{I}_\mathbf{a} } \right\| \mathbf{+}\left\| \mathbf{L} \right\| \left\| {{\dot{\mathbf{I}}}_\mathbf{a} } \right\| \mathbf{+}\left\| \mathbf{K}_\mathbf{b} \mathbf{r}^{-1}\mathbf{J}^{-1}\right. \nonumber \\&-\,{\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1} \big \Vert \left\| {{\dot{\mathbf{X}}}} \right\| +\left\| \varvec{\upvarphi } \right\| \end{aligned}$$
(16)

Propose a robust control law for the system (14) as

$$\begin{aligned} {\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1}(\mathbf{q})({\dot{\mathbf{X}}}_\mathbf{d} +\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}})+\mathbf{u}_\mathbf{r} =\mathbf{v} \end{aligned}$$
(17)

where \({\tilde{\mathbf{X}}}=\mathbf{X}_\mathbf{d} -\mathbf{X}\) is the tracking error in the task space, \(\mathbf{X}_\mathbf{d} \) is the desired trajectory, \(\mathbf{K}_\mathbf{p} \) is a diagonal matrix of positive proportional gains and \(\mathbf{u}_\mathbf{r} \) is a robustifying control term which is determined later. In order to prove the system stability, consider the following assumptions.

Assumption 1

The desired trajectory is smooth in the sense that \(\mathbf{X}_\mathbf{d} \) and its derivatives up to a necessary order are available and all uniformly bounded [10].

Assumption 2

The manipulator operates in a region where \(\mathbf{J}^{-1}(\mathbf{q})\) is nonsingular.

Theorem 1

If the control law (17) is applied to the system (14), then tracking error \({\tilde{\mathbf{X}}}\) will asymptotically converge to zero and the state vector \(\mathbf{Z}\) in (9) is bounded.

Proof

Using Eqs. (14) and (17), the closed-loop system is given by

$$\begin{aligned} {\dot{\tilde{\mathbf{X}}}}+\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}={\hat{\mathbf{J}}}(\mathbf{q}){\hat{\mathbf{K}}}_\mathbf{r} ^{-1}(\mathbf{F}-\mathbf{u}_\mathbf{r} ) \end{aligned}$$
(18)

where \({\hat{\mathbf{K}}}_\mathbf{r} ={\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}\). Consider the following positive definite scalar function

$$\begin{aligned} L=\frac{1}{2}{\tilde{\mathbf{X}}}^{T}{\tilde{\mathbf{X}}} \end{aligned}$$
(19)

Its time derivative is given by

$$\begin{aligned} \dot{L}={\tilde{\mathbf{X}}}^{T}{\dot{\tilde{\mathbf{X}}}} \end{aligned}$$
(20)

Substituting for \({\dot{\tilde{\mathbf{X}}}}\) from (18) into (20) yields

$$\begin{aligned} \dot{L}=-{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{F}(t)-{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{u}_\mathbf{r} \end{aligned}$$
(21)

The upper bound of \(\mathbf{F}(t)\) is \(\eta (t)\). Thus, it follows from (21) that

$$\begin{aligned} \dot{L}\!\le \! -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}} \right\| \eta (t)-{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{u}_\mathbf{r} \end{aligned}$$
(22)

Propose the robustifying term \(\mathbf{u}_\mathbf{r} \) as [4]

$$\begin{aligned} \mathbf{u}_\mathbf{r} =\frac{\mathbf{y}\eta }{\left\| \mathbf{y} \right\| +\lambda \hbox {e}^{-\beta t}} \end{aligned}$$
(23)

in which \(\lambda \) and \(\beta \) are positive constants and \(\mathbf{y}\) is given by

$$\begin{aligned} \mathbf{y}=\eta {\varvec{\upmu } }^{T} , {\varvec{\upmu }}={\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_r ^{-1} \end{aligned}$$
(24)

Substituting (23) and (24) into (22) yields

$$\begin{aligned} \dot{L}\le -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {\varvec{\upmu } } \right\| \eta -\frac{\varvec{\upmu } \mathbf{y}\eta }{\left\| \mathbf{y} \right\| +\lambda \hbox {e}^{-\beta t}} \end{aligned}$$
(25)

Suppose that \(\mathbf{K}_\mathbf{p} \) is of the form

$$\begin{aligned} \mathbf{K}_\mathbf{p} =k_p \mathbf{I}_\mathbf{n} \end{aligned}$$
(26)

where \(\mathbf{I}_\mathbf{n} \) is the \(n\times n\) identity matrix. With little manipulations, (25) can be rewritten as

$$\begin{aligned} \dot{L}+2k_p L\le \frac{\left\| \mathbf{y} \right\| \lambda \hbox {e}^{-\beta t}}{\left\| \mathbf{y} \right\| +\lambda \hbox {e}^{-\beta t}} \end{aligned}$$
(27)

According to the fact that \(\frac{ab}{a+b}<a\, \forall a,b>0\), (27) can be simplified as

$$\begin{aligned} \dot{L}+2k_p L\le \lambda \hbox {e}^{-\beta t} \end{aligned}$$
(28)

which implies that the tracking error \({\tilde{\mathbf{X}}}\) is bounded and asymptotically converges to zero [4]. Consequently, \(\mathbf{u}_\mathbf{r} \) in (23) is bounded, since \({\varvec{\upmu } }\) and \(\mathbf{y}\) in (24) are bounded. Therefore, the control effort \(\mathbf{v}\) defined by (17) is bounded. According to a proof given by [16], when the motor voltages are bounded, the joint velocity \({\dot{\mathbf{q}}}\) and the motor currents \(\mathbf{I}_\mathbf{a} \) are bounded. Using Assumptions 1 and 2 and boundedness of \(\mathbf{u}_\mathbf{r} \) and \(\mathbf{F}(t)\), it can be concluded from the closed-loop system (18) that the task-space velocity vector \({\dot{\mathbf{X}}}\) is bounded. Since \({\dot{\mathbf{q}}}=\mathbf{J}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}\), it follows that \(\mathbf{q}(t)=\int _0^t {\mathbf{J}^{-1}(\mathbf{q}){\dot{\mathbf{X}}}} \hbox {d}t +\mathbf{q}(0)\). Therefore, for finite operational times, the joint position \(\mathbf{q}\) is bounded. Thus, the vector \(\mathbf{Z}=\left[ {{\begin{array}{lll} \mathbf{q}&{} {{\dot{\mathbf{q}}}}&{} {\mathbf{I}_\mathbf{a} } \\ \end{array} }} \right] ^{T}\) is bounded. \(\square \)

4 The proposed control law

The robustifying term \(\mathbf{u}_\mathbf{r} \) in (23) requires the uncertainty bound \(\eta \). According to (16), \(\eta \) is a function of the motor currents \(\mathbf{I}_\mathbf{a} \), its time derivative \({\dot{\mathbf{I}}}_\mathbf{a} \) and the task-space velocity \({\dot{\mathbf{X}}}\). These signals should be measured and fed back to the controller. In most real-time applications, the motor current and its time derivative are contaminated by noise. Thus, using them in the control law may degrade the controller performance. Moreover, the maximum values of \(\left\| \mathbf{R} \right\| ,\left\| \mathbf{L} \right\| ,\, \left\| \mathbf{K}_\mathbf{b} \mathbf{r}^{-1}\mathbf{J}^{-1}-\right. \left. {\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1} \right\| \) and \(\left\| \varvec{\upvarphi } \right\| \) are needed. To solve these problems, the uncertainty bound \(\eta \) is estimated via LPs in this paper.

The closed-loop system (18) can be rewritten as

$$\begin{aligned} {\hat{\mathbf{K}}}_\mathbf{r} {\hat{\mathbf{J}}}(\mathbf{q})^{-1}({\dot{\tilde{\mathbf{X}}}}+\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}})=(\mathbf{F}-\mathbf{u}_\mathbf{r} ) \end{aligned}$$
(29)

According to the orthogonal function theorem [19], the uncertainty bound \(\eta (t)\) in (16) can be estimated by a Legendre polynomial as

$$\begin{aligned} \hat{{\eta }}(t)={\hat{\mathbf{P}}}^{T}{\varvec{\upxi } }(t) \end{aligned}$$
(30)

in which the vector \({\hat{\mathbf{P}}}=\left[ \begin{array}{llll} {\hat{{a}}_0 }&{} {\hat{{a}}_1 }&{} \cdots &{} {\hat{{a}}_m } \\ \end{array}\right] ^{T}\) is estimation of the vector and \(\mathbf{P}^{{*}}=\left[ \begin{array}{llll} {a_0 }&{} {a_1 }&{} \cdots &{} {a_m } \\ \end{array} \right] ^{T}\) and \(a_i \quad i=0,1,\ldots ,m\) are the optimal values of Legendre coefficients which minimizes the estimation error \(\left| {\eta -\hat{{\eta }}} \right| \). In order to derive the adaptation law of \({\hat{\mathbf{P}}}\), consider the following positive definite function.

$$\begin{aligned} L=\frac{1}{2}{\tilde{\mathbf{X}}}^{T}{\tilde{\mathbf{X}}}+\frac{{\tilde{\mathbf{P}}}^{T}{\tilde{\mathbf{P}}}}{2\gamma } \end{aligned}$$
(31)

where \({\tilde{\mathbf{P}}}=\mathbf{P}^{*}-{\hat{\mathbf{P}}}\). Its time derivative is given by

$$\begin{aligned} \dot{L}={\tilde{\mathbf{X}}}^{T}{\dot{\tilde{\mathbf{X}}}}-\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(32)

Substituting for \({\dot{\tilde{\mathbf{X}}}}\) from (18) into (32) yields

$$\begin{aligned} \dot{L}=-{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{F}(t)-{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{u}_\mathbf{r} -\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(33)

The upper bound of \(\mathbf{F}(t)\) is \(\eta (t)\). Thus, it follows from (33) that

$$\begin{aligned} \dot{L}\!\le \! -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}} \right\| \eta (t)-{\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_\mathbf{r} ^{-1}\mathbf{u}_\mathbf{r} -\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(34)

Propose \(\mathbf{u}_\mathbf{r} \) as [4]

$$\begin{aligned} \mathbf{u}_\mathbf{r} =\frac{{\hat{\mathbf{y}}}\hat{{\eta }}}{\left\| {{\hat{\mathbf{y}}}} \right\| +\lambda \hbox {e}^{-\beta t}} \end{aligned}$$
(35)

in which \(\lambda \) and \(\beta \) are positive constants and \({\hat{\mathbf{y}}}\) is given by

$$\begin{aligned} {\hat{\mathbf{y}}}=\hat{{\eta }}{\varvec{\upmu } }^{T} , {\varvec{\upmu } }={\tilde{\mathbf{X}}}^{T}{\hat{\mathbf{J}}\hat{\mathbf{K}}}_r ^{-1} \end{aligned}$$
(36)

Substituting (35) and (36) into (34) yields

$$\begin{aligned} \dot{L}\!\le \! -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {\varvec{\upmu } } \right\| \eta (t)-{\varvec{\upmu } }\frac{{\hat{\mathbf{y}}}\hat{{\eta }}}{\left\| {{\hat{\mathbf{y}}}} \right\| +\lambda \hbox {e}^{-\beta t}}-\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(37)

which can be rewritten as

$$\begin{aligned} \dot{L}&\le -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {{\hat{\mathbf{y}}}} \right\| -\frac{{\varvec{\upmu } \hat{\mathbf{y}}}\hat{{\eta }}}{\left\| {{\hat{\mathbf{y}}}} \right\| +\lambda \hbox {e}^{-\beta t}}\nonumber \\&+\left\| \mathbf{y} \right\| -\left\| {{\hat{\mathbf{y}}}} \right\| -\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(38)

In other words,

$$\begin{aligned} \dot{L}&\le -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\left\| {{\hat{\mathbf{y}}}} \right\| -\frac{{\varvec{\upmu } \hat{\mathbf{y}}}\hat{{\eta }}}{\left\| {{\hat{\mathbf{y}}}} \right\| +\lambda \hbox {e}^{-\beta t}}\nonumber \\&+\left\| {\varvec{\upmu } } \right\| {\tilde{\mathbf{P}}}^{T}{\varvec{\upxi } }-\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(39)

It follows from (39) that

$$\begin{aligned} \dot{L}\le -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\frac{\left\| {{\hat{\mathbf{y}}}} \right\| \lambda \hbox {e}^{-\beta t}}{\left\| {{\hat{\mathbf{y}}}} \right\| +\lambda \hbox {e}^{-\beta t}}+\left\| {\varvec{\upmu } } \right\| {\tilde{\mathbf{P}}}^{T}{\varvec{\upxi } }-\frac{{\tilde{\mathbf{P}}}^{T}{\dot{\hat{\mathbf{P}}}}}{\gamma } \end{aligned}$$
(40)

Consider the following adaptation law

$$\begin{aligned} {\dot{\hat{\mathbf{P}}}}=\gamma \left\| {\varvec{\upmu } } \right\| {\varvec{\upxi } } \end{aligned}$$
(41)

Thus, (40) will be simplified as

$$\begin{aligned} \dot{L}\le -{\tilde{\mathbf{X}}}^{T}\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}}+\lambda \hbox {e}^{-\beta t} \end{aligned}$$
(42)

which implies that the tracking error \({\tilde{\mathbf{X}}}\) asymptotically converges to zero [4] and the vector \({\hat{\mathbf{P}}}\) is bounded. According to the reason presented in Sect. 2, one can conclude that the state vector \(\mathbf{Z}=\left[ \begin{array}{lll} \mathbf{q}&{} {{\dot{\mathbf{q}}}}&{} {\mathbf{I}_\mathbf{a} } \\ \end{array} \right] ^{T}\) is bounded.

Thus, the proposed control law is given by

$$\begin{aligned} {\hat{\mathbf{K}}}_\mathbf{b} {\hat{\mathbf{r}}}^{-1}{\hat{\mathbf{J}}}^{-1}(\mathbf{q})({\dot{\mathbf{X}}}_\mathbf{d} +\mathbf{K}_\mathbf{p} {\tilde{\mathbf{X}}})+\mathbf{u}_\mathbf{r} =\mathbf{v} \end{aligned}$$
(43)

where \(\mathbf{u}_\mathbf{r} \) is defined in (35) and (36). The estimated uncertainty bound \(\hat{{\eta }}\) is given by (30) in which \({\hat{\mathbf{P}}}\) is adjusted using the adaptation law (41).

Remark 3

In many task-space control approaches based on the TCS [13], some adaptation laws are required for the manipulator dynamical and kinematical parameters. While the proposed control method does not require such adaptation laws. Thus, it results in a simpler controller with less computational load which reveals the superiority of VCS.

Remark 4

Suppose that we are interested in applying adaptive fuzzy systems instead of LPs to estimate the uncertainty bound \(\eta (t)\). According to [10], the closed loop (18) implies that the uncertainty \(\mathbf{F}\) is a function of \({\tilde{\mathbf{X}}}\), \({\dot{\tilde{\mathbf{X}}}}\) and \(\mathbf{q}\). Thus, its bound can be considered as a function of these variables and the fuzzy system design for estimation of \(\eta (t)\) requires these feedbacks as its inputs. Because of kinematical uncertainties, we are not allowed to use \({\dot{\mathbf{X}}}={\hat{\mathbf{J}}}(\mathbf{q}){\dot{\mathbf{q}}}\). Thus, measuring the signal \({\dot{\mathbf{X}}}\) needs an additional sensor. However, the proposed control law which applies LPs requires feedbacks of \(\mathbf{q}\) and \(\mathbf{X}\).

Remark 5

Other orthogonal functions such as Chebyshev and Bessel polynomials can be similarly applied using the proposed control scheme instead of LPs. Just their inner product and basis functions are different.

5 Simulation results

The proposed control law (43) is simulated using a SCARA robot manipulator with the symbolic representation shown in [28]. The Denavit–Hartenberg (DH) parameters [28] of the SCARA robot and its dynamical parameters are given in Tables 1 and 2, respectively. The parameters of permanent magnet dc motors are given in Table 3. In the simulations, the arm which consists of the first three joints is used to perform the proposed task-space control law and the fourth joint is locked [29]. The maximum voltage of each motor is set to \(u_{\max } =40\,\hbox {V}\).

In order to have better comparisons between different controllers, the following cost function is defined.

$$\begin{aligned} C_f =\int _0^6 \left\| {{\tilde{\varvec{X}}}(t)} \right\| \hbox {d}t \end{aligned}$$
(44)
Table 1 Denavit–Hartenberg parameters
Table 2 Dynamical parameters
Table 3 Motor parameters

Simulation 1

The performance of conventional robust control (17) using the robust term (23) and the bound of uncertainty (17) is illustrated. The desired trajectory in the task space is defined as

$$\begin{aligned} {\varvec{X}}_d =\left[ {{\begin{array}{lll} {0.75-0.1\cos \left( \frac{\pi t}{3}\right) }&{} {0.75-0.1\sin \left( \frac{\pi t}{3}\right) }&{} 0 \\ \end{array} }} \right] ^{T} \end{aligned}$$
(45)

The external disturbance is a step function with amplitude 1 V which is applied to all motors at \(t=4\,\hbox {s}\). The amplitude of the external disturbance has been selected according to the amplitude of the control signal in the steady state which is approximately 5 V. Thus, the external disturbance amplitude is 20 % of the motor voltages. To consider the kinematical uncertainties, \({\hat{\mathbf{J}}}(\mathbf{q})\) is selected as \({\hat{\mathbf{J}}}(\mathbf{q})=0.8\mathbf{J}(\mathbf{q})\). Moreover, it is assumed that the motor parameter \({\hat{\mathbf{K}}}_\mathbf{r} \) has been estimated as \({\hat{\mathbf{K}}}_\mathbf{r} =0.9\mathbf{K}_\mathbf{r} \). The proportional gain \(\mathbf{K}_\mathbf{p} \) plays an important role in the controller performance. In order to make the steady-state tracking error as small as possible, large values should be selected. On the other hand, a large value for \(\mathbf{K}_\mathbf{p} \) may result in large control signal at the initial time and will damage the system. To solve this trade-off problem, \(\mathbf{K}_\mathbf{p} \) is proposed as

$$\begin{aligned} \begin{array}{l} y(t)=\left\{ {\begin{array}{l@{\quad }l} 5+146.25t^{2}-48.75t^{3} &{} 0\le t\le 2 \\ 200 \quad t>2&{} \\ \end{array}} \right. \\ \mathbf{K}_\mathbf{p} (t)=y(t)\mathbf{I}_3 \\ \end{array} \end{aligned}$$
(46)

The scalar function \(y(t)\) has been plotted in Fig. 1. The parameters \(\lambda \) and \(\beta \) in (23) are set to 1. The maximum values for\(\left\| \mathbf{R}\right\| ,\, \left\| \mathbf{L} \right\| \)and \(\left\| \varvec{\upvarphi } \right\| \) have been considered as 1.3, 0.002 and 2, respectively. Figure 2 illustrates the control efforts which are satisfactory. The motor voltages are smooth and under the maximum permitted voltage. The tracking performance in the \(xy\) plane is shown in Fig. 3, and the task-space tracking errors are presented in Fig. 4. In this simulation, \(C_f =0.03797\).

Fig. 1
figure 1

Proportional gain \(\mathbf{K}_{\mathbf{p}}\)

Fig. 2
figure 2

Control efforts in Simulation 1

Fig. 3
figure 3

Tracking performance in the \(xy\) plane in Simulation 1

Fig. 4
figure 4

Task-space tracking errors in Simulation 1

Simulation 2

The performance of the proposed control law (43) is evaluated. All the controller parameters are the same as Simulation 1. The parameter \(\gamma \) in (41) has been selected as \(\gamma =1{,}000\), and the initial values of the LPs have been selected randomly. The uncertainty bound \(\eta (t)\) is estimated according to (30) in which \({\hat{\mathbf{P}}}\) is adjusted online using the adaptation law (41). In order to make the estimation error \(\left| {\eta -\hat{{\eta }}} \right| \) as small as possible, we should increase the number of orthogonal functions in the vector \({\varvec{\upxi } }\). In this paper, 11 terms have been selected [18]. According to Remark 2, in order to make \(x\) limited to the interval \([-1 \,1]\), we have selected it as \(x=\sin (2t)\). Figure 5 illustrates the tracking performance in the \(xy\) plane, and Fig. 6 shows the end-effector tracking errors which are satisfactory. The control efforts are presented in Fig. 7. As shown in this figure, motor voltages are smooth and do not exceed the maximum permitted voltages. Variation and adaptation of the Legendre coefficients are presented in Fig. 8 which implies that these coefficients are bounded. For this controller, \(C_f =0.03709\).

Fig. 5
figure 5

Tracking performance in the \(xy\) plane in Simulation 2

Fig. 6
figure 6

Task-space tracking errors in Simulation 2

Fig. 7
figure 7

Control efforts in Simulation 2

Fig. 8
figure 8

Variations of Legendre coefficients in Simulation 2

According to [18], 11 terms for \({\varvec{\upxi } }\) is sufficient and simulation results verify that there is no need to increase the number of LPs. However, we increased the size of \({\varvec{\upxi } }\) to 13, 15, 17 and 19 in order to evaluate its estimating effects. The cost function \(C_f \) was approximately 0.03709 for all simulations. On the other hand, increasing the convergence rate \(\gamma \) plays more important role in reducing the task-space tracking error and \(C_f \). For example, if \(\gamma =8{,}000\), the cost function \(C_f \) reduces to \(0.02589\).

In order to evaluate the effect of parametric uncertainty, we have simulated the case \({\hat{\mathbf{J}}}(\mathbf{q})=0.5\mathbf{J}(\mathbf{q})\) and \({\hat{\mathbf{K}}}_\mathbf{r} =0.25\mathbf{K}_\mathbf{r} \). The tracking performance in XY plane and motor voltages have been displayed in Figs. 9 and 10. Although parametric uncertainty is increased, these figures indicate that the controller robustness is satisfactory. The cost function \(C_f \) for this case increases to 0.06892.

Fig. 9
figure 9

Tracking performance in \(xy\) plane for increased parametric uncertainty in Simulation 2

Fig. 10
figure 10

Control efforts for increased parametric uncertainty in Simulation 2

Estimating effect of the uncertainties: suppose that the robust term \(\mathbf{u}_\mathbf{r} \) in (35) is set to zero. Then, the cost function \(C_f \) increases from 0.03709 to 0.06941. This shows the effectiveness of proposed method.

A comparison between the conventional robust control and proposed control Comparing results in Simulations 1 and 2 show that there is no significant difference between them. However, the superiority of the proposed control approach is that the number of required feedbacks is less than ones in the conventional robust control law. Thus, the proposed control is simpler and less computational.

Simulation 3

A comparison between the adaptive control [3] and proposed control The control laws in both approaches calculate the motor voltages. However, the control approach in [3] is based on the linear parameterization of the manipulator dynamics. Thus, the structures of manipulator inertia matrix, centrifugal and Coriolis torques and the vector of gravitational torques must be available to obtain the regressor matrix. In contrast, the design approach in this paper is based on the VCS which is simpler due to its independency from manipulator dynamics. The tracking performance of [3] in \(xy\) plane and motor voltages have been presented in Figs. 11 and 12, respectively.

Fig. 11
figure 11

Tracking performance in the \(xy\) plane for adaptive Jacobian tracking controller [3]

Fig. 12
figure 12

Control efforts for adaptive Jacobian tracking controller [3]

For this controller, the cost function \(C_f \) shows 0.0907 which is greater than the cost function 0.03709 for the proposed approach. In the adaptive control approach [3], manipulator dynamical and kinematical parameters and also actuator model parameters should be estimated using adaptation laws. As shown in Fig. 12, if the initial values of these parameters are selected randomly, the initial values of motor voltages may exceed the maximum permitted limit and actuator saturation happens which is not desirable, while random selection of Legendre coefficients in the proposed approach did not result in actuator saturation.

6 Conclusion

Based on the TCS, some control approaches have been presented for robust tracking control of robot manipulators in the task space. These control algorithms are based on the linear parameterization property of the robot motion equation and drive some adaptation laws for the kinematical and dynamical parameters of the robot manipulator. As a result, the robot motion equation should be completely modeled in these approaches which may be a difficult task. In contrast, using VCS considerably simplifies robot control problems, since it is free from manipulator model.

Conventional robust control approaches require the uncertainty bound as a function of the system states and the upper bound of external disturbances. Providing the controller with some of these feedbacks may be expensive or impossible. Applying function approximation techniques for estimation of the uncertainty bound eliminates the need for additional sensors and simplifies the control law. In this paper, LPs were used. Simulation results imply that the performances of the two discussed control laws are the same. However, the superiority of using function approximation techniques is in the number of needed feedbacks which is less than that of a conventional robust control approach.