1 Introduction

It is well known that robotic manipulators have been widely used in manufactured industry for performing tasks with a required accuracy, which far exceed human operators [1,2,3]. Therefore, they have been intensively studied in past decades, and as an inevitable result, many different methods were also established to design controllers for them to ensure that the obtained closed-loop control systems will achieve the required accuracy, such as traditional methods [1,2,3], sliding mode control [4,5,6], robust control [7,8,9], and iterative learning control [10, 11].

Principally, all these available controller design methods could be classified in distinctive types, depending on how complete the mathematical model of robot manipulators had been established, i.e., whether model parameters and the affected disturbance could be determined or not.

In an ideal scenario, the mathematical model of robot manipulators is absolutely exact, the controlled robots are not influenced by any disturbance, and then, the method of feedback linearization, direct passive method, and decoupling method seem to be appropriate ones [1,2,3].

If there are some uncertain parameters in mathematical models, then the adaptive approaches are applicable, such as the inversion dynamic [2], the adaptive control based on passivity [3], Li-Slotine [1, 2], and the control with input constraints [12]. Furthermore, if robot manipulators are additionally affected by unwanted disturbance, then suitable control methods could be PE (persistence of excitation)-based approach [2], sliding mode control (SMC) [4,5,6, 9], dual SMC with finite time response [7], adaptive SMC [13,14,15], nonsingular TSMC [16], adaptive second-order SMC [17], and neural adaptive control [18].

A communal feature of all aforementioned conventional control methods is dependent on model. It implies that the control performance, provided by them, is strictly dependent on the preciseness of models being used. To overcome this disadvantage of the conventional methods, some intelligent controllers have been applied for manipulators without using their mathematical models, such as neural network-based techniques [2, 19], neural adaptive control [20], neural network-based PID control [21], fuzzy logic-based control approaches [8], iterative learning-based control methods [10, 11], Q-learning [22], and model-free controllers [23,24,25].

As a supplement to the model-free control methodologies for robot manipulators, this article will present a novel approach to design an adaptive tracking controller for them without using their original mathematical models. Based on this proposed approach, firstly, the uncertain robot manipulator with matched disturbance will be consistently converted to a standard double integrator system with new lumped matched disturbance, which contains all model uncertainties and the input disturbance of the robot manipulator. Then, this matched disturbance will be estimated and eliminated from the double integrator system. Finally, an output tracking controller will be designed for this double integrator system with bounded input disturbance.

Main contributions of this work can be summarized as follows:

  1. (1)

    Propose a novel continuous-time input disturbance estimator for multiple-input multiple-output double integrator systems using filters. Then, a linear adaptive controller was proposed for the input-disturbed double integrator system for tracking control. Indeed, this disturbance estimator does not use any information of the robot manipulator except its state variables and model order.

  2. (2)

    Practical stability of the tracking control system, involving the linear state feedback controller, the disturbance estimator and the robot manipulator, was rigorously analyzed and proved. An attractive set of the tracking error has been determined and its radius can be reduced by changing the poles of the closed-loop system and the filter.

The remaining part of this work is organized as follows: Section 2 presents a proposed disturbance estimator, an output tracking controller with stability analysis, and also practical stability analysis of the closed-loop system. In Sect. 3, a two-link planar robot and a three-link cylindrical robot are utilized to illustrate the proposed method. Final section will draw some conclusions.

2 Main results

It is clear that all robot manipulators can be succinctly described as [26]

$$\begin{aligned} \ddot{\underline{q}}=\underline{u}+\underline{d}, \end{aligned}$$
(1)

where \(\underline{q}\) is the \(n\times {1}\) vector of joint variables, \(\underline{u}\) is the \(n\times {1}\) vector of control inputs (the generalized force/torque vector), \(\underline{d}\) is the vector of all model uncertainties and matched disturbance affecting the robot manipulator’s performance.

For example, their well-known standard Euler–Lagrange model with time varying uncertain parameters \({\underline{\theta }}(t)\) is additionally disturbed by the disturbance \({\underline{\zeta }}\) on inputs as follows [19]:

$$\begin{aligned} M(\underline{q},{\underline{\theta }})\ddot{\underline{q}} +C(\underline{q},\dot{\underline{q}},{\underline{\theta }}) \dot{\underline{q}}+F\left( {\underline{\theta }}\right) \dot{\underline{q}}+\underline{g} \left( \underline{q},{\underline{\theta }}\right) =\underline{u}+{\underline{\zeta }},\nonumber \\ \end{aligned}$$
(2)

where \(M(\underline{q},{\underline{\theta }})\) is the \(n\times {n}\) symmetric positive definite inertia matrix, \(C(\underline{q},\dot{\underline{q}},{\underline{\theta }})\dot{\underline{q}}\) is the \(n\times {1}\) vector of Coriolis and centrifugal terms, \(F({\underline{\theta }})\) is the \(n\times {n}\) matrix of viscous friction coefficients, \(\underline{g}(\underline{q},{\underline{\theta }})\) is the \(n\times {1}\) vector of gravitational torques. This model can be always rewritten in the form of (1) with a redefined vector of all the matched disturbance and system uncertainties as follows:

$$\begin{aligned} \underline{d}= & {} {\underline{\zeta }}+\left[ I_n-M(\underline{q},{\underline{\theta }})\right] \ddot{\underline{q}}-C(\underline{q},\dot{\underline{q}},{\underline{\theta }})\dot{\underline{q}}\nonumber \\{} & {} -F({\underline{\theta }})\dot{\underline{q}}-\underline{g}(\underline{q},{\underline{\theta }}). \end{aligned}$$
(3)

In the aforementioned equation, \(I_n\) denotes an identity matrix of dimension \(n\times n\). Note that all \(M(\underline{q},{\underline{\theta }})\), \(\underline{g}(\underline{q})\), \(C(\underline{q},\dot{\underline{q}},{\underline{\theta }})\) and \(F({\underline{\theta }})\dot{\underline{q}}\) are bounded [19, 27].

Since the succinct model (1) does not directly contain the dynamic information of the original robot manipulators, except the new lumped matched disturbance \(\underline{d}\) instead of \({\underline{\zeta }}\), any design method based on this model, established for designing an adaptive output tracking controller \(\underline{q} \rightarrow \underline{r}\), where \(\underline{r}\) is the vector of desired references, will be hereafter called the model-free controller design method.

Fig. 1
figure 1

A suggested control framework

This paper proposes such an approach, which is carried out in two following separate steps as illustrated elementally in Fig.1.

  1. (1)

    The first part, called “Disturbance estimator”, aims to estimate the input disturbance \(\underline{d}(t)\) by \(\underline{\hat{d}}(t)\) for eliminating it from the double integrator system (1).

  2. (2)

    Then, the second part, named “Output tracking controller”, will drive the system outputs \(\underline{q}(t)\) to their desired references \(\underline{r}(t)\) when the matched disturbance d(t) has been eliminated.

2.1 Linear disturbance estimator design

Currently, there have been various approaches available to estimate the disturbance \(\underline{d}(t)\) or \({\underline{\zeta }}(t)\). All these estimators are created either by using a certain mathematical model of controlled objects [28,29,30,31] or based on neural networks [32,33,34]. The model-based estimators operate in continuous-time domain, whereas the neural network-based ones are carried out primarily in step-wise manner. It is undeniable that these existing estimators are effective in disturbance observation, but they are all nonlinear and complicated to implement in a concretely given output tracking controller. Recently, linear disturbance observers [26, 35] have been proposed and applied for nonlinear systems, in which their differential equations were approximated by using the numerical Euler method and second-order Lagrange differentiation method.

Therefore, this article will propose another disturbance estimator using a low-pass filter, which is linear and can be easily implemented with any existing output tracking controller without any difficulty. Moreover, as being seen below, this proposed estimator has a surprisingly simple structure in comparison to the existing ones, but it possibly provides similar estimation performance.

Under the assumption that the vector of n joint variables \(\underline{q}=vec(q_1,\ldots ,q_n)\) and its velocity \(\dot{\underline{q}}\) of the disturbed double integrator system (1) are measurable, then by putting \(\dot{\underline{q}}\) through the low-pass filter

$$\begin{aligned} M_d(s)=diag[G_d(s), G_d(s), ..., G_d(s)]_{n\times n}, \end{aligned}$$
(4)

in which

$$\begin{aligned} G_d(s) = \frac{1}{1 + Ts}, \end{aligned}$$
(5)

where the small time constant \(0<T\ll 1\) is chosen arbitrarily. The output of this system, denoted with \(\underline{z}\), will be calculated from its input \(\dot{\underline{q}}\) as follows:

$$\begin{aligned} \dot{\underline{q}}=\underline{z}+T \dot{\underline{z}}, \end{aligned}$$
(6)

which implies \(\dot{\underline{q}} \approx \underline{z}\), since \(0<T\ll 1\), or \(\ddot{q} \approx \dot{\underline{z}}=\frac{1}{T}(\dot{\underline{q}}-\underline{z})\). The substitution of \(\ddot{\underline{q}}\) in (1) by \(\dot{\underline{z}}\) from the aforementioned approximation yields:

$$\begin{aligned} \underline{u}+\underline{d}=\ddot{\underline{q}} \approx \dot{\underline{z}}=\frac{\dot{\underline{q}}-\underline{z}}{T}, \end{aligned}$$
(7)

and this will be used to estimate \(\underline{d}\) in a straightforward manner as follows. First, both “\(\approx \)” and “\(\underline{d}\)” in (7) are replaced with “\(=\)” and “\(\underline{\hat{d}}\)”, respectively. Then, the approximated value \(\underline{\hat{d}}\) of \(\underline{d}\) is calculated with:

$$\begin{aligned} \underline{\hat{d}}=\underline{\dot{z}}-\underline{u}, \end{aligned}$$
(8)

where \(\dot{\underline{z}}=vec(\dot{z}_1,\ldots ,\dot{z}_n)\) and

$$\begin{aligned} \dot{z}_i=\frac{\dot{q}_i-z_i}{T}, \quad \forall i=1\div n, \end{aligned}$$
(9)

in which \(\dot{q}_i\) and \(z_i\) are the \(i^{th}\) input and the \(i^{th}\) output of the filter (4), respectively.

Theorem 1

The value \(\underline{\hat{d}}\), obtained from (8), minimizes the approximation error (7).

Proof

Denote the approximation error of (7) with:

$$\begin{aligned} {\underline{\delta }}=\underline{\dot{z}}-(\underline{u}+\underline{d}), \end{aligned}$$
(10)

then the following optimization problem:

$$\begin{aligned} \underline{{\hat{d}}} = \arg \mathop {\min }\limits _{\underline{d} } {{{\underline{\delta }}}}^T{{{\underline{\delta }}}} = \arg \mathop {\min }\limits _{\underline{d} } \left\| \underline{\dot{z}} -(\underline{u} + \underline{d} ) \right\| ^2, \end{aligned}$$
(11)

has obviously an unique solution by solving the equation \(\frac{\partial {{{\underline{\delta }}}}^T{{{\underline{\delta }}}}}{\partial {\underline{d} }}=\underline{0}\), which coincides with (8), and with this the proof is completed. \(\square \)

Remark 1

The linear estimator (8) does not use the mathematical model (2) of robot manipulators, except the measurement of \(\dot{\underline{q}}\). Hence, it is a model-free estimator.

Remark 2

Since \(\underline{\hat{d}}-\underline{d}=\underline{\dot{z}}-\underline{u}-\underline{d} =\underline{\dot{z}}-(\underline{u}+\underline{d}) ={\underline{\delta }}\), the disturbance estimation error will be the same as the approximation error.

Assumption 1

( [36]) \(\dot{\underline{q}}(t),\ddot{\underline{q}}(t), \dddot{\underline{q}}(t)\in \Omega \) (a compact set) and bounded, and the initial condition \(\underline{z}_0\) of Eq. (5) is bounded.

This assumption is feasible due to physical limitations of the manipulator’s actuators.

Lemma 1

([36]) Under Assumption 1, the disturbance estimation error \({\underline{\delta }}\) is bounded and its boundedness can be tuned by changing T.

Although this proposed virtually model-free estimator was only created for the succinct double integral system (1) and it was established based on a straightforward execution, it can be applied for a wide range of nonlinear systems with matched disturbances as well as provides an acceptable estimation performance. This mentioned effectiveness of proposed estimator (8) will be visually authenticated by simulations later.

2.2 Linear output tracking controller design

After the disturbances \(\underline{d}(t)\) have been estimated and its estimated values \(\hat{\underline{d}}\) was subtracted from the output tracking controller by \(\underline{u} \leftarrow \underline{u}-\hat{\underline{d}}\), as illustrated in Fig. 1, the double integrator (1) becomes:

$$\begin{aligned} \ddot{\underline{q}}=\underline{u}+\underline{d}-\hat{\underline{d}}=\underline{u} +{\underline{\delta }}, \end{aligned}$$
(12)

where \({\underline{\delta }}=\underline{d}-\hat{\underline{d}}\) is the remaining estimation errors. Based on Lemma 1, there exists a small positive constant \(\Delta _{\delta }\) such that \(\Vert {\underline{\delta }}\Vert \le \Delta _{\delta }\).

Note that although the system (12), which is obtained from (1) after eliminating the matched disturbances \(\underline{d}\) by \(\hat{\underline{d}}\), has the same structure of a double integrator as the original system (1) but quite different to (1), in which the disturbance estimation error \({\underline{\delta }}\) in place of the input disturbance \(\underline{d}\), this system contains no more dynamic information of robot manipulators, even in its matched disturbances \({\underline{\delta }}\).

In [26], an iterative learning controller based on intelligent approach was applied for the the system (12). However, in this work, a classical state feedback controller will be proposed instead.

Theorem 2

The state feedback controller:

$$\begin{aligned} \underline{u}=\ddot{\underline{r}}+G_1\underline{e}+G_2\dot{\underline{e}}, \end{aligned}$$
(13)

with two matrices \(G_1,G_2\) obtained from an arbitrarily chosen Hurwitz matrix:

$$\begin{aligned} G=\begin{bmatrix} 0_n &{} I_n \\ -G_1 &{} -G_2 \end{bmatrix}, \end{aligned}$$
(14)

where \(0_n\) denotes the zero matrix of dimension \(n \times n\), will drive the tracking error \(\underline{e}=\underline{r}-\underline{q}\) and its derivation \(\dot{\underline{e}}\) of the disturbed double integrator (12) to the following neighborhood O of origin in finite time:

$$\begin{aligned} O = \left\{ \underline{v}=\text {vec}(\underline{e},\underline{\dot{e}}) \in {\mathbb {R}}^{2n} \bigg \vert \Vert \underline{v}\Vert \le \Delta _\delta \Vert B^TP\Vert \right\} , \end{aligned}$$
(15)

in which P is a positive definite solution of Lyapunov’s equation \(G^TP+PG=-2I_{2n},\quad B^T=\left[ 0_n, \quad I_n\right] \) and \(\Vert B^TP \Vert \) is any induced norm of matrix \(B^TP\).

Proof

Using a Lyapunov’s function candidate:

$$\begin{aligned} V(\underline{v})=\underline{v}^TP\underline{v}, \quad \underline{v}= \text {vec}\left( \underline{e},\underline{\dot{e}} \right) , \end{aligned}$$
(16)

for the closed-loop system, including the double integrator (12) and the feedback controller (13), which could be rewritten in a standard state equation as follows:

$$\begin{aligned} \dot{\underline{v}}=G\underline{v}-B{\underline{\delta }}, \end{aligned}$$
(17)

yields:

$$\begin{aligned} \begin{aligned} \dot{V}=&\left( G\underline{v}-B{\underline{\delta }} \right) ^T P\underline{v}+\underline{v}^TP \left( G\underline{v}-B{\underline{\delta }} \right) \\ =&\underline{v}^T\left( G^TP+PG\right) \underline{v}-2{\underline{\delta }}^TB^TP\underline{v}\\ =&-2\Vert \underline{v}\Vert ^2-2{\underline{\delta }}^TB^TP\underline{v}\\ \le&-2\Vert \underline{v}\Vert ^2+2\Delta _\delta \Vert B^TP\Vert \Vert \underline{v}\Vert \\ =&-2\Vert \underline{v}\Vert \left( \Vert \underline{v}\Vert -\Delta _\delta \Vert B^TP\Vert \right) . \end{aligned} \end{aligned}$$
(18)

Since \(\dot{V}<0\) if \(\underline{v} \notin O\), the trajectory \(\underline{v}(t)\), whereas it stays outside O, still keeps moving toward to origin until it reaches the aforementioned neighborhood O.

Denote \(\tau >0\) as a time instance when \(\underline{v}(t)\) intersects the boundary of the set \({\mathcal {O}}\), \(V(0)=\sigma \), \(V(\tau )=\varrho \), then \(\varrho < \sigma \), and the set

$$\begin{aligned} V_S=\left\{ \underline{v} \in {\mathbb {R}}^{2n} \bigg \vert \varrho \le V(\underline{v}) \le \sigma \right\} , \end{aligned}$$
(19)

is compact. Hence, with

$$\begin{aligned} \kappa _1=\mathop {\min } \limits _{0 \le t \le \tau } \Vert \underline{v}(t) \Vert \text { and } \kappa _2=\mathop {\max } \limits _{0 \le t \le \tau } \Vert \underline{v}(t) \Vert , \end{aligned}$$
(20)

one obtains \(0<\kappa _1\), \(\Vert B^TP\Vert \Delta _\delta < \kappa _2\), \(0 \le t \le \tau \) and

$$\begin{aligned} \dot{V} \le 2\kappa _1 \left( -\kappa _2 + \Vert B^TP\Vert \Delta _\delta \right) . \end{aligned}$$
(21)

By integrating both sides of aforementioned inequality for \(0 \le t \le \tau \), the following relation is obtained

$$\begin{aligned} \varrho -\sigma \le 2\kappa _1\left( -\kappa _2 + \Vert B^TP\Vert \Delta _\delta \right) \tau , \end{aligned}$$
(22)

or

$$\begin{aligned} \tau \le \frac{\sigma - \varrho }{2\kappa _1 \left( \kappa _2 - \Vert B^TP\Vert \Delta _\delta \right) }. \end{aligned}$$
(23)

Hence, \(\tau \) is finite, which completes the proof. \(\square \)

Remark 3

The state feedback controller (13) guarantees that the tracking error system is ultimately bounded (UB) [37].

Remark 4

Usually, the neighborhood of origin O, to which the trajectory \(\underline{v}(t)\) flocks, is called the attractor in phenomenon of practical stability. Intuitively, the smaller T is chosen, the smaller the bound of estimation error \(\Delta _\delta \), and therefore also the smaller this attractor will be.

Remark 5

It is obviously that the size \(\Delta _\delta \Vert B^TP\Vert \) of the attractor O is also dependent on chosen Hurwitz matrix G. Both matrices \(G_1\) and \(G_2\) of G could be determined by using pole placement method to arbitrarily assign eigenvalues for G. The smaller (negative real part) eigenvalues of G are assigned, the smaller this attractor will be.

Remark 6

Since the boundedness of \({\underline{\delta }}\) and linearity of (17), the vector \(\underline{v}(t)\) decreases exponentially outside O .

Remark 7

Because the equation \(\Vert \underline{v}(t) \Vert = \Delta _\delta \Vert B^TP\Vert \) of exponentially decreasing vector \(\underline{v}(t)\) with initial point \(\underline{v}(0)=\underline{v}_0 \notin O\) definitely has a finite solution \(t=T_v(\underline{v}_0)\), all trajectories \(\underline{v}(t)\) starting outside O will reach the attractor O in a finite time \(T_v(\underline{v}_0)\).

Remark 8

The obtained controller, including (12) and (13), is sub-model-free, because it is independent with the model (2) of the robot manipulator. This controller is linear; hence, it can only stabilize practically \(\underline{v}=\text {vec}\left( \underline{e},\dot{\underline{e}} \right) \) to the attractor O. For an asymptotic stabilization \(\underline{v} \rightarrow \underline{0}\), a nonlinear regulator can be used instead of (13), such as sliding mode controller [38], but this SMC controller will produce chattering phenomenon which may cause actuators of the robot to be damaged for long time operation. However, this inherent chattering can be overcome by using some techniques such as saturation function.

2.3 UB property of the closed-loop system

As illustrated in Fig. 1, the closed-loop system, including the robot manipulator (2) and the proposed model-free regulator which contains the first-order derivative systems (4), disturbance estimator (8), and the tracking controller (12), (13), has three vectors of system states \(\underline{e}\), \(\dot{\underline{e}}\), \(\underline{z}\) and a vector of estimated outputs \(\hat{\underline{d}}\). These system states and estimated outputs satisfy:

$$\begin{aligned} \begin{aligned} 0=&\underline{u}+\underline{d}-\hat{\underline{d}}-\ddot{\underline{q}}\\ =&\underline{u}+\underline{d}-\left( \underline{z}-\underline{u} \right) -\ddot{\underline{q}}=2\underline{u}+\underline{d}-\underline{z}-\ddot{\underline{q}}\\ =&2\underline{u}+\underline{d}-\left( \ddot{\underline{q}}-T \dot{\underline{z}}\right) -\ddot{\underline{q}}\\ =&2\left[ \ddot{\underline{r}}+G_1\underline{e}+G_2\dot{\underline{e}} \right] +\underline{d}-2\ddot{\underline{q}}+T \dot{\underline{z}}\\ =&2\left[ \ddot{\underline{e}}+G_1\underline{e}+G_2\dot{\underline{e}} \right] +\underline{d}+T \dot{\underline{z}}, \end{aligned} \end{aligned}$$
(24)

which deduces together with Eq. (17):

$$\begin{aligned} \begin{aligned} \dot{\underline{v}}=&G\underline{v}-\frac{1}{2}B\left( \underline{d}+T \dot{\underline{z}}\right) =G\underline{v}-B{\underline{\delta }} \\ \Leftrightarrow \quad&B{\underline{\delta }}=\frac{1}{2}B\left( \underline{d}+T \dot{\underline{z}}\right) \text { } \Leftrightarrow \text { } T \dot{\underline{z}}=\underline{d}-2\underline{\hat{d}}={\underline{\delta }}-\underline{\hat{d}},\\ \Leftrightarrow \quad&\ddot{\underline{q}}=\underline{z}+T \dot{\underline{z}}=\underline{z}+{\underline{\delta }}-\underline{\hat{d}}, \\ \Leftrightarrow \quad&T\dot{\underline{z}}={\underline{\delta }}+u-\underline{z} = -\underline{z}+\ddot{\underline{r}}+ \left[ G_1,G_2 \right] \underline{v}+{\underline{\delta }}. \end{aligned} \end{aligned}$$
(25)

Therefore, with (17) again, it is obtained:

$$\begin{aligned} \begin{bmatrix} \dot{\underline{v}} \\ T\dot{\underline{z}} \end{bmatrix} = \begin{bmatrix} G \underline{v}-B{\underline{\delta }} \\ \ddot{\underline{r}}+\left[ G_1,G_2 \right] \underline{v} - \underline{z} +{\underline{\delta }} \end{bmatrix}. \end{aligned}$$
(26)

Hence, with new symbols defined as follows:

$$\begin{aligned} \begin{aligned} {\underline{\chi }}=&\text {vec}\left( \underline{v},\underline{z} \right) , \quad {\underline{\xi }}=\text {vec}\left( {\underline{\delta }},\ddot{\underline{r}} \right) , \\ {\mathcal {G}}=&\begin{bmatrix} G &{} 0_{2n \times n} \\ \frac{1}{T} \left[ G_1,G_2 \right] &{} -\frac{1}{T}I_n \end{bmatrix} \text {, and }{\mathcal {B}}=\begin{bmatrix} -B &{} 0_{2n \times n} \\ \frac{1}{T}I_n &{} \frac{1}{T}I_n \end{bmatrix}, \end{aligned} \end{aligned}$$
(27)

the closed-loop system will be described by:

$$\begin{aligned} \dot{{\underline{\chi }}}={\mathcal {G}}{\underline{\chi }}+{\mathcal {B}}{\underline{\xi }}, \end{aligned}$$
(28)

where \({\mathcal {G}}\) has 3n eigenvalues involving all 2n eigenvalues of G and n constants \(-\frac{1}{T}\).

Theorem 3

If \(G_1\), \(G_2\) are selected so that \({\mathcal {G}}\) becomes Hurwitz, then the trajectory \({\underline{\chi }}(t)\) of closed-loop system (28) reaches the following attractor \({\mathcal {O}}\) in finite time:

$$\begin{aligned} {\mathcal {O}}=\left\{ {\underline{\chi }} \in {\mathbb {R}}^{3n} \bigg \vert \Vert {\underline{\chi }} \Vert \le \Delta _\xi \Vert {\mathcal {B}}^T{\mathcal {P}} \Vert \right\} , \end{aligned}$$
(29)

where \(\Delta _{\xi }\) denotes the upper bound of \(\Vert {\underline{\xi }}\Vert \) and \({\mathcal {P}}\) is a positive definite solution of \({\mathcal {G}}^T{\mathcal {P}}+{\mathcal {P}}{\mathcal {G}}=-2I_{3n}\).

Proof

Since systems (17) and (28) are akin, the proof could be carried out in the same way as being done for Theorem 2. Hence, it will be omitted here. \(\square \)

3 Illustration simulations

To visually illustrate the performance of proposed adaptive output tracking controller, the controller will be applied for two different robot manipulators. In addition, a comparison to the existing method is also carried out. There have been some methods for modeling uncertain systems such as fuzzy differential equations [41,42,43,44]. However, in this case, the origin model (2) will be used to simulate the robot manipulators for all numerical simulations. The filter will be simulated in continuous-time manner, so the estimated disturbances will be continuously calculated from Eq. (8).

Fig. 2
figure 2

Robots for simulation

3.1 Control of uncertain planar robot with matched disturbances

The following implementation of the proposed adaptive controller for a robot planar with two joint variables \(q_1\) and \(q_2\) as exhibited in Fig. 2a is used to verify the created method’s performance. The verification is carried out based on a numerical simulation with following system parameters:

\(g=9.81\), \(m_1=m_2=0.3\), \(l_1=1\), \(l_2=0.7\), \(\sigma _1=\sigma _2=0.6\), \(T=10^{-5}\), \(M=\begin{bmatrix} \theta _1M_{11} &{} \theta _2M_{12}\\ \theta _3M_{21} &{} \theta _4M_{22} \end{bmatrix}\), \(C=\begin{bmatrix} \theta _5C_{11} &{} \theta _6C_{12} \\ \theta _7C_{21} &{} \theta _8C_{22} \end{bmatrix}\), \(F\dot{\underline{q}}=\begin{bmatrix} \theta _{11}\dot{q}_1\dot{q}_2 \\ \theta _{12}\dot{q}_2 \end{bmatrix}\), \(\underline{g}=\begin{bmatrix} \theta _9g_1 \\ \theta _{10}g_2 \end{bmatrix}\), where \(M_{11} = \frac{m_1l_1^2}{4}+\sigma _1+m_2\left( l_1^2+\frac{l_2^2}{4}+l_1l_2\cos q_2\right) +\sigma _2\), \(M_{12}=M_{21}=\frac{m_2l_2}{2}\left( \frac{l_2}{2}+l_1\cos q_2 \right) +\sigma _2\), \(M_{22}=\frac{m_2l_2}{4}+\sigma _2\), \(C_{11}=-\dot{q}_2m_2l_1l_2\sin q_2\), \(C_{12}= \frac{C_{11}}{2}\), \(C_{21}=\dot{q}_1\frac{m_2l_1l_2}{2}\sin q_2\), \(C_{22}=0\), \(g_1= \frac{ m_1gl_1\cos q_1}{2} +m_2g\left[ l_1\cos q_1+\frac{l_2}{2}\cos (q_1+q_2)\right] \), \(g_2=\frac{m_2gl_2}{2} \cos (q_1+q_2)\), \({\underline{\zeta }}=\begin{bmatrix} q_1\dot{q}_2 \sin (2\theta _{13} \pi t) \\ q_2\dot{q}_1 \cos (\theta _{14} \pi t) \end{bmatrix}\), \(\underline{r}=\begin{bmatrix} 1.5 \\ 1.0 \end{bmatrix}\).

All constants \(\theta _i\text {, }i=1\div 14,\) are unknown. Note that except \(G_1,G_2,T\) and \(\underline{r}\), all remaining system parameters above could be vaguely determined. This will not influence subsequently the control performance, because the proposed adaptive controller is able to eliminate all model uncertainties and matched disturbances. Matrices \(G_1,G_2\) are chosen such that all (four) eigenvalues of matrix G are: \(\lambda _1=-200\), \(\lambda _2= -300\), \(\lambda _3 = -400\) and \(\lambda _4 =-500\).

Figure 3a exhibits obtained simulation results for the execution time \(T_{\text {ex}}=0.1s\). These results show visually that both joint variables \(q_1\) and \(q_2\) converged correspondingly to their desired positions \(\underline{r}=(1.5 \text { , }1)^T\) as expected. Particularity, both joint variables \(q_1\) and \(q_2\) had reached closely their desired values \(\underline{r}\) just after 0.04s, and at the final time of simulation \(T_{\text {ex}}\) the tracking error of the first joint variable is \(\approx 4*10^{-6}\) and that of the second joint variable is \(\approx 10^{-5}\). These very small tracking errors confirm the rightness of Theorem 3, and moreover, all lumped disturbances:

$$\begin{aligned} \underline{d}={\underline{\zeta }}+\left( I_2-M\right) \ddot{\underline{q}}-C\dot{\underline{q}}-F\dot{\underline{q}}-\underline{g}, \end{aligned}$$
(30)

had been practically eliminated.

Figure 3b illustrates the compound disturbances \(\underline{d}\) in comparison with their estimated values \(\hat{\underline{d}}\). This obtained result visually authenticated the previously mentioned appreciation that although the created disturbance estimator (8) was established based on a straightforward manner, it had produced a good estimation performance.

Fig. 3
figure 3

Simulation results for the planar robot

We also compare the proposed method to an adaptive controller, which was recently developed in [39]. For unbiased comparison, a same mathematical model of the planar robot will be used, in which the model’s uncertainties are chosen as \(\Delta C=0.4C\), \(\Delta F=0.4F\), \(\Delta \underline{g}=0.4\underline{g}\), the input disturbance is simulated as \({\underline{\zeta }}=\begin{bmatrix} 4\sin (0.3t)+2\cos (0.1t)\\ 3\cos (0.2t)+2\sin (0.5t) \end{bmatrix} \) and all parameters \(\theta _i\) equal to one. In addition, the references are selected as \(\underline{r}=\begin{bmatrix} \sin (t)\\ \cos (t) \end{bmatrix}\), which are time varying.

Simulation results are shown in Figs. 4a, b and 5 for joint variables and combined control signals \(\underline{u}^c=\underline{u}-\underline{\hat{d}}\), respectively. The proposed method provided smaller tracking errors for both joint variables as shown in Fig. 4a and Fig. 4b than the adaptive controller [39]. In addition, the latter controller caused larger combined control signals for the planar robot as shown in Fig. 5. Moreover, the proposed control method requires less computational load because the adaptive controller [39] has to compute the gain matrix online and perform more calculations for disturbance estimation. Finally, the proposed control method can produce faster convergence rate than the adaptive controller [39] by changing the desired poles of the matrix G.

Fig. 4
figure 4

Joint variables, their references and errors

Fig. 5
figure 5

Combined control signals

Fig. 6
figure 6

Simulation results for TLCA-robot

3.2 Control of uncertain three-link cylindrical arm robot with input disturbances

Figure 2b physically illustrates a standard three-link cylindrical arm robot (TLCA). This TLCA-robot with uncertain parameters \({\underline{\theta }}\) and input disturbances \({\underline{\zeta }}\) on inputs is originally described by the following modified Euler–Lagrange model [40]:

$$\begin{aligned} \ddot{\underline{q}}=\underline{f} \left( \underline{q},\dot{\underline{q}},{\underline{\theta }} \right) +B \left( \underline{q},\dot{\underline{q}} \right) \underline{v}+{\underline{\zeta }}, \end{aligned}$$
(31)

where \(\underline{v}\) is the vector of inputs, and \(B \left( \underline{q},\dot{\underline{q}} \right) \) is a diagonal matrix with all diagonal entries not equaling to zero, i.e., nonsingular. Accordingly, the succinct model (1) of TLCA-robot has the summarized disturbances on redefined inputs \(\underline{u}\) as follows:

$$\begin{aligned} \underline{d}=\underline{f} \left( \underline{q},\dot{\underline{q}},{\underline{\theta }} \right) +{\underline{\zeta }} \text { and } \underline{u}=B \left( \underline{q},\dot{\underline{q}} \right) \underline{v}. \end{aligned}$$
(32)

Hereafter, the proposed adaptive controller will be implemented to control the TLCA-robot with all system parameters given as follows:

$$\begin{aligned} \underline{f}=\begin{bmatrix} \theta _1 f_1&\theta _2 f_2&\theta _3 f_3 \end{bmatrix}^T\text {, } {\underline{\zeta }}= \begin{bmatrix} \theta _4 \zeta _1&\theta _5 \zeta _2&\theta _6 \zeta _3 \end{bmatrix}^T, \end{aligned}$$
(33)

where \(\theta _i\) is unknown constant for all \(i=1 \div 6\).

$$\begin{aligned} \begin{aligned} f_1&= -g, f_2\\&= \frac{-m}{J+j(q_3)} \left[ \frac{3}{4l} \left[ q_3^2+(l-q_3)^2 \right] +2q_3 \right] \dot{q}_3 \dot{q}_2,\\ f_3&=\left[ \frac{3}{8l} \left[ q_3^2+(l-q_3)^2 \right] + q_3 \right] \dot{q}_2^2\text {, } g\\&=9.81 \text {, } m=2 \text {, }l=0.7 \text {, }J=3 \text {, }\\ j(q_3)&=q_3^2\text {, }\zeta _1= \sin (q_1 \dot{q}_2) \text {, } \zeta _2\\&= \cos (q_2q_3) \text {, and } \zeta _3= \sin (\dot{q}_2\dot{q}_3). \end{aligned} \end{aligned}$$
(34)

Note that the preciseness of all aforementioned parameters is not required, because their uncertainties will be eliminated anyway by using the proposed adaptive controller. In addition, to carry out the numerical simulation, some controller parameters are chosen as follows:

$$\begin{aligned} \begin{aligned} T=&10^{-3}, \underline{r}= \begin{bmatrix}1\\ 1.5 \\ 2\end{bmatrix}, G_1=10\begin{bmatrix} 390 &{} 0 &{} 0 \\ 0 &{} 225 &{} 0 \\ 0 &{} 0 &{} 220 \end{bmatrix}, \\&\quad \text { and } G_2=\begin{bmatrix} 125 &{} 0 &{} 0 \\ 0 &{} 95 &{} 0 \\ 0 &{} 0 &{} 95 \end{bmatrix}, \end{aligned} \end{aligned}$$
(35)

for the controller. With these chosen matrices \(G_1,G_2\), the matrix G has the following six eigenvalues: \( \lambda _1=-200\), \(\lambda _2=-300\), \(\lambda _3 =-400\), \(\lambda _4=-500\), \(\lambda _5=-600\) and \(\lambda _6=-700\).

Obtained simulation results during the execution time of \(T_\text {ex}=0.1s\) are exhibited in Fig. 6a. It is seen that just after 0.03s all robot joint variables \(\underline{q}\) have reached closely their desired values \(\underline{r}\) as expected, and the remaining tracking errors \(\underline{e}=\left( e_1\text { , }e_2\text { , }e_3 \right) ^T\) at the end of execution time \(T_\text {ex}\) are \(\approx 10^{-5}\). Therefore, this authenticates the rightness of Theorem 3 as well as that the lumped disturbance:

$$\begin{aligned} \underline{d}=\underline{f}+{\underline{\zeta }}, \end{aligned}$$
(36)

had been almost eliminated by their estimated values \(\hat{\underline{d}}\). Furthermore, in comparison with previous simulation results for the planar robot, these present obtained results confirm the earlier assertion again that the smaller the negative real parts of eigenvalues \(\lambda _i\) are assigned for the matrix G, the smaller the remaining tracking errors \(\underline{e}\) will be.

Finally, the expected performance of disturbance estimator, which is embedded in proposed adaptive controller, is visually represented in Fig. 6b. Once again, it is shown that the estimated values \(\hat{\underline{d}}\) had converged closely to their real disturbances \(\underline{d}\) with a quick convergence rate, i.e., just after \(\approx 0.03s\).

4 Conclusions

This article proposed an adaptive linear regulator for output tracking control of robot manipulators with uncertain parameters and matched disturbances. This regulator was created based on the combination of a novel disturbance estimator (8) and a tracking controller (13), which were all linear. Especially, all of the estimator and the tracking controller did not use any information of the original Euler–Lagrange model (2) except its state variables and differential equation type. They needed only the measurement of \(\underline{q},\dot{\underline{q}}\) from robot manipulators for their operation.

The effectiveness of this near model-free controller has been verified through two separate simulation examples, one for the planar robot and the other for the three-link cylindrical robot. Obtained good simulation results promised its applicability in practice. Through simulation comparison with the existing adaptive controller [39], it can be concluded that the proposed control method provided smaller tracking errors and smaller magnitudes of the combined control signals, and reduced computational load for the controller of the planar robot.