1.1 Introduction

Robots have been widely used in industrial, agricultural, aerospace and other fields. Therefore, research on robotics, especially robot control technology, has been a hot issue in recent decades [1,2,3,4,5]. In order to improve the operation accuracy of the robot, tracking control has always been a fundamental problem in robot control, which has attracted wide attention from researchers.

The tracking control of manipulators can be divided into two categories: joint space tracking and task space tracking. The target of joint space tracking is to design a controller to drive each joint of the robot to track a predetermined trajectory (see, for example [6, 7] and references therein). Another direction of tracking control is task space tracking, which is to establish the desired trajectory in cartesian space. Since the control commands do not match the target (control commands are sent to the actuators of each joint, and then the end effector is controlled to execute in Cartesian space, the mapping between the two spaces is highly nonlinear), task-space tracking is more difficult than joint space. Therefore, we should first solve the kinematic inverse problem, that is, obtain the required joint space position or speed, and realize task space tracking. This can be done off-line or online. The desired path in cartesian space is discretized into a set of key points, and the corresponding joint configurations are determined in turn, and the desired joint velocity and acceleration are obtained by interpolation [8]. Similar studies can be seen in [9, 10]. This method is currently widely used in industrial applications, but it will have a certain impact on the real-time performance of the system. For redundant manipulators, there is an infinite section configuration corresponding to a particular Cartesian description. Therefore, the second task can be accomplished by adjusting the joints, such as avoiding obstacles and optimizing energy consumption.

With full knowledge of physical parameters, a series of studies on real-time controllers can be found in [11,12,13,14]. In fact, robots usually have model uncertainties, including kinematic uncertainties, which may be caused by processing and measurement errors. On the other hand, robots may work with different tools, which can also lead to model uncertainties. The parametric drift may lead to inaccuracy in Jacobian, resulting in performance degradation or unpredictable response, which should be compensated. Before designing the controller, several calibration methods are proposed to determine the exact parameters [15, 16]. With the development of optical technology, researchers could measure the exact position and direction of the end-effector online. A series of real-time tracking controllers are proposed. Liu et al. proposes an adaptive tracking scheme based on online learning of the Jacobian matrix, by discussing the selection of control gain in detail, the authors prove the stability of the closed-loop system [18]. In [19], a robust controller considering actuator saturation is designed. Lyapunov theory indicates the semi-global stability of the system. In [20], a dynamic regulation controller is also established, which consists of a transposed Jacobian operator and a gravity compensator. When the required path is variable, Cheah et al. propose a passive tracking controller [21], which proves the global convergence of the tracking error. Liu et al. use the fuzzy logic system to understand the uncertainty of the robot model, and design a tracking control scheme based on sliding mode control. However, these studies require cartesian velocity or joint acceleration, which is actually difficult to obtain due to hardware constraints. Therefore, Wang et al. propose a tracking controller based on a low-pass filter, which omits the cartesian velocity measurement [22]. Similar studies can be seen in [23,24,25]. The above research mainly focuses on the general problems of position control, the physical uncertainty of robots and ignores the secondary tasks.

Based on the above research, this chapter studies the motion control of redundant manipulators, in which we take the uncertain kinematic parameters into account. In practice, robots are usually scheduled to perform periodic tasks, therefore, we choose repeatability as a secondary task. In order to avoid the measurement of velocity and joint acceleration in task space, a new adaptive controller is designed, which achieves secondary tasks by optimizing the functions in null space of Jacobian matrix. We also provide stability analysis and numerical simulations.

The remainder of this chapter is organized as follows. In the second part, we will introduce the basic kinematics of redundant robots and give several important properties that will be used in the following sections. In the third part, the proposed adaptive controller is discussed in detail, including an adaptive method and repeatable optimization of model parameters. The convergence analysis of tracking error is discussed. In Sect. 1.4, we provide examples and numerical simulations to verify the effectiveness of the proposed tracking method. Finally, Sect. 1.5 concludes the chapter. Before concluding this section, we emphasize the main contributions of this chapter as follows:

  • This chapter mainly studies the adaptive kinematic control in the presence of model uncertainties, which is of great significance in practical engineering.

  • In the controller design process, there is no need to measure the task space velocity and joint acceleration. Therefore, the controller can be easily applied in actual systems.

  • The contribution also lies in that the proposed repeatability optimization scheme is guaranteed by introducing a variable coefficient, which could ensure the continuity of the joint speed.

1.2 Problem Formulation

Without loss of generality, the robot manipulator studied in this chapter is selected as a serial robot, which is most commonly used in industrial applications. The kinematic model of a serial robot manipulator is

$$\begin{aligned} f(\theta (t))=x(t), \end{aligned}$$
(1.1)

where \(\theta (t)\in \mathbb {R}^n\) is the joint angles, and \(x(t)\in \mathbb {R}^m\) is the vector describing the position and orientation of the end-effector in cartesian space. \(f(\bullet ): \mathbb {R}^n\rightarrow \mathbb {R}^m\) is the forward kinematic mapping of the robot. \(f(\bullet )\) is a nonlinear function. Differentiating x(t) with respect to time t, the cartesian velocity \(\dot{x}(t)\) is formulated as

$$\begin{aligned} \dot{x}(t)=J(\theta (t),a_k)\dot{\theta }(t), \end{aligned}$$
(1.2)

where \(J(q\theta (t),a_k)=\partial {f(\theta (t),a_k)/\partial \theta (t)}\in \mathbb {R}^{m\times n}\) is the Jacobian matrix. As to a redundant manipulator, \(n>m\). \(a_k\in \mathbb {R}^l\) denotes the vector of kinematic parameters, also called physical parameters, while in this chapter, mainly refers to length of each joint. Therefore, \(a_k\) is considered as a constant vector.

The movement of the end-effector \(J(\theta (t),a_k)\dot{\theta }(t)\) consists of two parts: physical parameter dependent term and joint angle-speed dependent term, and can be described in the linearization-in-parameter form [21]:

$$\begin{aligned} J(\theta (t),a_k)\dot{\theta }(t)=Y_k(\theta (t),\dot{\theta }(t))a_k, \end{aligned}$$
(1.3)

where \(Y_k(\theta (t),\dot{\theta }(t))\in \mathbb {R}^{m\times l}\) is called kinematic regressor matrix.

In this chapter, to avoid measuring the task-space velocity, a low-pass filter is used as follows

$$\begin{aligned} \dot{y} + {\lambda _1}y = {\lambda _1}\dot{x}, \end{aligned}$$
(1.4)

where \(\lambda _1\) is a positive constant and y is the filtered output of the task-space velocity with initial value \(y(0)=0\). Rewriting (1.4) leads to

$$\begin{aligned} y=\lambda _1\dot{x}/(p+\lambda _1), \end{aligned}$$
(1.5)

where p is the Laplace variable.

Combining (1.3) and (1.5), we have

$$\begin{aligned} y = {W_k}(t){a_k},~~{W_k}(t) = {\lambda _1}{Y_k}(\theta ,\dot{\theta })/({\lambda _1} + p), \end{aligned}$$
(1.6)

where \(W_k(0) = 0\). For simplicity, we write \(J(\theta )\), \(Y_k(\theta ,\dot{\theta })\) as J and \(Y_k\), respectively.

Remark 1.1

In real applications, \(a_k\) has two different forms, which correspond to different meanings. The first value is the actual value of \(a_k\), the other one is the nominal value of \(a_k^n\). \(a_k^n\) is usually a non-calibrated measurement result of \(a_k\), which is usually provided by the manufacturer or manual measurement. The real value of \(a_k\) is difficult to obtain in real applications, and \(a_k\) is generally not the same as its nominal value of \(a_k^n\). Due to assembly errors and long-term operations (such as friction, wear, etc.,) besides, robots may operate different tools to perform tasks, which also leads to motion uncertainty. In this case, the direct use of \(a_k^n\) control method can lead to control errors, which is unacceptable in high precision tracking control.

1.3 Main Results

In this section, we will show the detailed process of the controller design. Firstly, the ideal case where all parameters are known is considered, then the basic idea of parameter-updating-in-realtime is designed in the case where parameters are unknown, and is then expanded to repeated optimization in null space. Finally, the stability of the closed-loop system is discussed.

1.3.1 Adaptive Tracking Method

Define the tracking error in Cartesian space as

$$\begin{aligned} e(t)=x(t)-x_{\text{ d }}(t), \end{aligned}$$
(1.7)

(1) Known parameter case

When the kinematic parameters \(a_k\) is perfectly known, the accurate Jacobian matrix J can be obtained, therefore, the reference trajectory can be designed as

$$\begin{aligned} \ddot{x}(t)=\ddot{x}_{\text{ d }}(t)+k_1\dot{x}_{\text{ d }}(t)-k_2e(t)-k_1J\dot{\theta }(t), \end{aligned}$$
(1.8)

where \(k_1\) and \(k_2\) are positive control gains. According to Eq. (1.2), the Eq. (1.8) can be reformulated as \(\ddot{x}(t)=\ddot{x}_{\text{ d }}(t)+k_1\dot{x}_{\text{ d }}(t)-k_2e(t)-k_1\dot{x}(t)\), by calculating the second derivative of Eq. (1.7), and substituting Eq. (1.8), we have

$$\begin{aligned} \ddot{e}(t)= & {} \ddot{x}(t)-\ddot{x}_{\text{ d }}(t)\nonumber \\= & {} k_1\dot{x}_{\text{ d }}(t)-k_2e(t)-k_1\dot{x}(t). \end{aligned}$$
(1.9)

Eq. (1.9) can be rewritten as

$$\begin{aligned} \ddot{e}(t)+k_1\dot{e}(t)+k_2e(t)=0, \end{aligned}$$
(1.10)

it is obvious that is e(t) will eventually converge to zero, if \(k_1\) and \(k_2\) are Hurwitz. Combining Eqs. (1.8) and (1.2), and letting initial joint velocity \(\dot{\theta }(0)\) be 0, one can easily derive the corresponding control signals of joint speed as below

$$\begin{aligned} \dot{\theta }=&\dot{\theta }_j+\dot{\theta }_n\end{aligned}$$
(1.11a)
$$\begin{aligned} \dot{\theta }_j=&\int _0^tJ^{\dag }\left[ ({\ddot{x}_{\text{ d }}+k_1\dot{x}_{\text{ d }}-k_2e-k_1J\dot{\theta })-\dot{J}\dot{\theta }}\right] \text{d}t\end{aligned}$$
(1.11b)
$$\begin{aligned} \dot{\theta }_n=&(I-J^{\dag }J)\alpha , \end{aligned}$$
(1.11c)

where I is n-dimensional identity matrix, \(J^{\dag }=J^{T}(JJ^T)^{-1}\) is the Pseudo-Inverse of J, and \(\dot{\theta }_n\) is a speed component in the null space of Jacobian, \(\alpha \) can be selected arbitrarily. It is notable that \(J\dot{\theta }_n=0\), indicating that the speed component in the null space has no influence on the movement of end-effector. By getting the time-derivative of Eq. (1.2) and substituting Eqs. (1.11), (1.2), (1.7), one can easily verify that the error dynamics under kinematic controller Eq. (1.11) is the same as Eq. (refeq10), the tracking error will gradually converge to 0.

Remark 1.2

Equation (1.8) gives fundamental description of reference trajectory in the Cartesian space, it is notable that all the required information except \(J(\theta ,a_k)\) on the right side of the equation is easy to obtain. This inspires us to design a similar control strategy with the existence of kinematic uncertainties.

(2) Unknown parameter case

In this situation, since the exact value of \(a_k\) is unknown, J is unknown. Therefore, in this case, we use \(\hat{J}\) instead of J by replacing \(a_k\) with its estimation \(\hat{a}_k\), and let \(\hat{a}_k(0)=a_k^n\), then the estimated \(\dot{x}(t)\) is \(\hat{\dot{x}}(t)=\hat{J}\dot{\theta }\). By replacing \(a_k\) by \(\hat{a}_k\), according to (1.3), the estimated cartesian speed \(\hat{\dot{x}}\) satisfies

$$\begin{aligned} \hat{\dot{x}}=\hat{J}\dot{q}=Y_k(q,\dot{\theta })\hat{a}_k, \end{aligned}$$
(1.12)

The modified reference trajectory is thus designed as

$$\begin{aligned} \begin{aligned} \dot{\theta }(t)= & {} \int _0^t\{\hat{J}^\dag \end{aligned}[{\ddot{x}_{\text{ d }}+(k_1+k_2)\dot{x}_{\text{ d }}-k_1k_2e-\dot{\hat{J}}\dot{\theta }-k_3e]-(k_1+k_2)\dot{\theta }\}\text{ d }t. } \end{aligned}$$
(1.13)

Since the accurate feedback of cartesian velocity \(\dot{x}\) is unavailable, the derivative of tracking error \(\dot{e}=\dot{x}-\dot{x}_{\text{ d }}\) is also unknown, therefore, we define the alternative value of \(\dot{e}\) by using the estimated Cartesian speed \(\dot{x}\):

$$\begin{aligned} \varDelta \hat{\dot{x}}=\hat{\dot{x}}-\dot{x}_{\text{ d }}=\hat{J}\dot{\theta }-\dot{x}_{\text{ d }}, \end{aligned}$$
(1.14)

then the updating law of kinematic parameters is designed as

$$\begin{aligned} \dot{\hat{a}}_k = k_1Y_k^{\text{ T }}(\varDelta \hat{\dot{x}}+k_1e)+k_3Y_k^Te- W_k^T(t)\varGamma _1(W_k(t){\hat{a}}_k - y), \end{aligned}$$
(1.15)

where \(\varGamma _1\) is a positive definite diagonal matrix, \(k_1\), \(k_2\) and \(k_3\) are positive control gains.

Remark 1.3

Without loss of generality, the initial value of the estimated kinematic parameters can be selected according to the nominal value, which can be obtained from handbook or manual measurement. In fact, the adjustment of \(\hat{a}_k(0)\) does affect the tracking process, which can be verified in the next section. The greater the error between \(\hat{a}_k(0)\) and \(a_k\), the greater the initial simulation error. However, according to (1.15), no matter what the exact value of \(\hat{a}_k(0)\), the estimated value of \(\hat{a}_k\) will eventually converge to \(a_k\), which can be verified by stability analysis and numerical experiments.

Now, we are ready to offer a theorem about the task-space tracking problem for robots with uncertain physical parameters using the proposed adaptive controller as below.

Theorem 1.1

The control error e(t) for a redundant manipulator described by (1.7) would globally converge to 0, provided the joint speed controller described as (1.13), along with the kinematic adaptation law (1.15).

Proof Differentiating (1.7) and substituting (1.3) and (1.12), we have

$$\begin{aligned} \dot{e}= & {} \dot{x}-\hat{\dot{x}}+\hat{\dot{x}}-\dot{x}_{\text{ d }}\nonumber \\= & {} Y_ka_k-Y_k\hat{a}_k+\hat{\dot{x}}-\dot{x}_{\text{ d }}\nonumber \\= & {} -Y_k\tilde{a}_k+\varDelta \hat{\dot{x}}. \end{aligned}$$
(1.16)

Taking the time derivative of \(\varDelta \hat{\dot{x}}\) and combining Eqs. (1.14) and (1.16) derives

$$\begin{aligned} \dfrac{\text{ d }}{\text{ d }t}(\varDelta \hat{\dot{x}})&=\dot{\hat{J}}\dot{\theta }+\hat{J}\ddot{\theta }-\ddot{x}_{\text{ d }}\nonumber \\&=(k_1+k_2)\dot{x}_{\text{ d }}-k_1k_2e-k_3e-k_2\hat{J}\dot{\theta }-k_1\hat{J}\dot{\theta }\nonumber \\&=k_2\dot{x}_{\text{ d }}-k_2\hat{J}\dot{\theta }-k_1k_2e-k_3e+k_1\dot{x}_{\text{ d }}-k_1(\dot{x}_{\text{ d }}+\dot{e}+Y_k\tilde{a}_k)\nonumber \\&=-k_2\varDelta \hat{\dot{x}}-k_2k_1e-k_3e-k_1Y_k\tilde{a}_k-k_1\dot{e}, \end{aligned}$$
(1.17)

where \(\tilde{a}_k=a_k-\hat{a}_k\) represents the difference between the real value of physical parameters \(a_k\) and the estimated one \(\hat{a}_k\). Eq. (1.17) can be written as

$$\begin{aligned} \dfrac{\text{ d }}{\text{ d }t}(\varDelta \hat{\dot{x}}-k_1e)=-k_2(\varDelta \hat{\dot{x}}+k_1e)-k_3e-k_1Y_k\tilde{a}_k. \end{aligned}$$
(1.18)

Select a Lyapunov function candidate as follows

$$\begin{aligned} V=(\varDelta \hat{\dot{x}}+k_1e)^{\text{ T }}(\varDelta \hat{\dot{x}}+k_1e)/2+k_3e^{\text{ T }}e/2+\tilde{a}_k^T{\tilde{a}_k}/2. \end{aligned}$$
(1.19)

By taking the time derivative of (1.19) and combing (1.15), (1.16) and (1.17), we have

$$\begin{aligned} \dot{V}= & {} (\varDelta \hat{\dot{x}}+k_1e)^{\text{ T }}\text{ d }(\varDelta \hat{\dot{x}}+k_1e)/\text{ d }t+k_3e^{\text{ T }}\dot{e}+\tilde{a}_k^T{\dot{\tilde{a}}_k}\nonumber \\= & {} (\varDelta \hat{\dot{x}}+k_1e)^{\text{ T }}(-k_2(\varDelta \hat{\dot{x}}+k_1e)-k_3e-k_1Y_k\tilde{a}_k)+\tilde{a}_k^T(k_1Y_k^{\text{ T }}(\varDelta \hat{\dot{x}}+k_1e)+k_3Y_k^Te\nonumber \\&-W_k^T(t)\varGamma _1(W_k(t){\hat{a}}_k - y)+k_3e^{\text{ T }}(-Y_k\tilde{a}_k+\varDelta \hat{\dot{x}})\nonumber \\= & {} -k_2(\varDelta \hat{\dot{x}}+k_1e)^{\text{ T }}(\varDelta \hat{\dot{x}}+k_1e)-k_1k_3e^{\text{ T }}e-\tilde{a}_k^TW_k^T(t)\varGamma _1W_k(t)\tilde{a}_k\nonumber \\\le & {} 0. \end{aligned}$$
(1.20)

Then we can obtain that \(\varDelta \hat{\dot{x}}\), e and \(\tilde{a}_k\) are all bounded. Based on Eqs. (1.14) and (1.3), \(\hat{J}\dot{\theta }\), \(\hat{a}_k\) and \(Y_k\tilde{a}_k\) are also bounded. Notably that \(W_k(t)\tilde{a}_k\) is the output of a stable system with bounded input \(Y_k(t)\tilde{a}_k\), we have \(W_k(t)\tilde{a}_k\) is also bounded. Then according to Eq. (1.15), \(\dot{\hat{a}}_k\) is bounded. Differentiating \(W_k(t)\tilde{a}_k\) with respect to time, we have

$$\begin{aligned} \frac{\mathrm{{d}}}{{\mathrm{{d}}t}}({W_k}(t){\tilde{a}_k}) = {\lambda _1}({Y_k} - {W_k}(t)){\tilde{a}_k} + {W_k}(t){\dot{\hat{a}}_k}. \end{aligned}$$
(1.21)

\(\mathrm{{d}}({W_k}(t){\tilde{a}_k})/\mathrm{{d}}t\) is also bounded. Then we have \(\dot{e}\), \(\mathrm{{d(}}\varDelta \hat{\dot{x}})/\mathrm{{d}}t\) and \(\mathrm{{d}}({W_k}(t){\tilde{a}_k})/\mathrm{{d}}t\) are all bounded, which means the time derivative of (1.20), \(\ddot{V}\) is bounded. Using Barbalat’s Lemma, we have \(\varDelta \hat{\dot{x}} + {k_1}e \rightarrow 0\) , \(e\rightarrow 0\) , as \(t\rightarrow \infty \) .

Remark 1.4

We have proved the convergence of the tracking error under the condition of kinematic uncertainties. In fact, when \(a_k\) is perfectly known, Eq. (1.13) will be degenerated as

$$\begin{aligned} \dot{\theta }(t)=\int _0^t[{J^\dag }({\ddot{x}_{\text{ d }}+(k_1+k_2)\dot{x}_{\text{ d }}-k_1k_2e-\dot{J}\dot{q}-k_3e)-(k_1+k_2)\dot{\theta }}]\text{d}t, \end{aligned}$$
(1.22)

which has the similar form compared with Eq. (1.11). Therefore, known parameter case described in Eq. (1.11) can be considered as a special form of Eq. (1.13).

Remark 1.5

The control velocity \(\dot{q}\) in Eq. (1.13) is not the final result of this chapter. The velocity component in null space is ignored, although it has no effect on the movement of end-effector as well as the stability proof, this part can not be neglected, because the redundancy mechanism is of great engineering significance to the manipulator.

(3) Repeatability optimization

In this subsection, in order to make full use the of redundant design of a redundant manipulator, a repeatability optimization scheme is developed in the null space of the Jacobian matrix, which is helpful to improve the stability and reliability of robots in periodic tasks.

Define a following function to describe a robot’s repeatability as

$$\begin{aligned} F(\theta )=-K(\theta -\theta _{ini})^{\text{ T }}(\theta -\theta _{ini})/2, \end{aligned}$$
(1.23)

where K is a positive parameter scaling the weight of repeatability optimization, \(\theta _{ini}\) is the initial value of the joint angles. By using gradient descent method, a velocity component in null space can be calculated as

$$\begin{aligned} \alpha =[\partial (F(\theta ))/\partial (\theta _1),\cdots ,\partial (F(\theta ))/\partial (\theta _n)]. \end{aligned}$$
(1.24)

Combining Eqs. (1.24) and (1.23), we have

$$\begin{aligned} \alpha =[\theta _{int}(1)-\theta (1),\cdots ,\theta _{int}(i)-\theta (i),\cdots ,\theta _{int}(n)-\theta (n)]^{\text{ T }}. \end{aligned}$$
(1.25)

where \(\theta _{ini}(i)\) and \(\theta (i)\) represent the ith element of \(\theta _{int}\) and \(\theta \), respectively, \(i=1,\cdots ,n\).

figure a

Then the complete form of the proposed adaptive controller is

$$\begin{aligned} \dot{\theta }=&\dot{\theta }_j+\dot{\theta }_n\end{aligned}$$
(1.26a)
$$\begin{aligned} \dot{\theta }_j=&\int _0^t[{J^\dag }({\ddot{x}_{\text{ d }}+(k_1+k_2)\dot{x}_{\text{ d }}-k_1k_2e-\dot{J}\dot{\theta }-k_3e)-(k_1+k_2)\dot{\theta }}]\text{ d }t\end{aligned}$$
(1.26b)
$$\begin{aligned} \dot{\theta }_n=&(I-J^{\dag }J)[\theta _{int}(1)-\theta (1),\cdots ,\theta _{int}(i)-\theta (i),\cdots ,\theta _{int}(n)-\theta (n)]^{\text{ T }}\end{aligned}$$
(1.26c)
$$\begin{aligned} \dot{\hat{a}}_k=&k_1Y_k^{\text{ T }}(\varDelta \hat{\dot{x}}+k_1e)+k_3Y_k^Te- W_k^T(t)\varGamma _1(W_k(t){\hat{a}}_k - y) \end{aligned}$$
(1.26d)

Remarkable that at the beginning stage of the tracking cycle, the repeatability is less important, and then it rises as the task continues. To this end, we set K as a variable:

$$\begin{aligned} K=\left\{ \begin{array}{ll} 0~~~~~~~~~~NT\le t<NT+T/2,\\ K^*~~~\dfrac{2NT+T}{2}<t<(N+1)T \end{array}, \right. \end{aligned}$$
(1.27)

where \(K^*=K_{max}(1-cos(\pi (t-NT-T/2)/T)\), \(N=0,1,2, \ldots \) are natural numbers, T is the period of cyclic motion. If \(t<NT+T/2\), the robot has just left the initial state to perform a task, thus we let \(K=0\), this will cause \(\alpha =0\), the joint control velocity is the same as (1.13). When \(t>NT+T/2\), K increases from 0 to maximum value \(K_{max}\) with time, forcing the robot to repeat the initial state. The change curve of K with time is shown in Fig. 1.1.

Remark 1.6

The main reason for this selection of K is to ensure the continuity of joint speed signals during a motion cycle. Notable that the discontinuities of K still appear at the moment \(T=NT\). If the robot can repeat the initial joint state, \(\theta -\theta _{ini}\) would converge to 0, so \(\alpha \) can be also regarded as continuous. Therefore, the definition of K in (1.27) is acceptable.

Fig. 1.1
figure 1

change curve of K with time t

1.4 Numeral Simulations

In this section, several groups of numerical experiments are carried out to show the effectiveness of the designed controller. Firstly, a comparative simulation is given to show that the adaptive tracking law could achieve a satisfing performance with the existence of kinematic uncertainties. Secondly, we will check the performance in periodic tasks. Finally, more general trajectories are discussed to show the adaptiveness and robustness of the control algorithm.

Fig. 1.2
figure 2

The 4-DOF redundant manipulator to be simulated in this chapter. Left: Physical structure of the 4-link robot manipulator. Right: D-H parameters

1.4.1 Simulation Settings

The vector of initial joint angles is selected as \(\theta _{ini}=[\pi /2,-\pi /2,0,0]^{\text{ T }}\)rad, and the corresponding cartesian position is \(x_{ini}=[0.6,0.3]^{\text{ T }}\). Since the exact value of kinematic parameters (see \(d_i\) in Fig. 1.2), we assume the nominal values to be \(a_k^n=[0.25,0.25,0.12,0.18]^{\text{ T }}\)m, and let \(\hat{a}_k(0)=a_k^n\). The control gains \(k_1\), \(k_2\) and \(k_3\) are set to be \(k_1=50\), \(k_2=50\), \(k_3=50\), \(\varGamma =10\). As to the repeatable tasks, the parameter scaling the velocity component in the null space is selected as \(K_{max}=10\). The time constant of low-pass filter is \(\lambda =40\). It is notable that matrix \(\hat{J}\) is essential in the proposed tracking controller, which is used to estimate the actual Jacobian matrix \(J(q,a_k)\). To further show the detail of the proposed controller, analytical expression of \(\hat{J}\) is given in Appendix.

1.4.2 Verification of Parameter Estimation

Comparative simulations is firstly carried out to show the effectiveness of the proposed updating law (1.15). The desired path to be tracked is defined as \(x_{\text{ d }}(t)=0.4+0.2cos(2t)\), \(y_d(t)=0.3+0.2sin(2t)\). In the first simulation, the nominal values are used directly in the tracking control according to Eq. (1.13). By contrast, \(\hat{a}_k\) is updated using (1.15) in the comparable simulation, and \(\alpha \) is set to be zero (i.e., we didn’t use repeatability in this part). Simulation results are shown in Fig. 1.3. Both controllers ensure the boundedness of the tracking error. When \(a_k\) is known, benefiting from the closed-loop control mechanism, the tracking errors along two axes are much less than 5 mm. The tracking errors with parameter estimation are less than 1 mm. Fig. 1.3c shows comparative results of tracking error norm corresponding to known and unknown \(a_k\), intuitively showing the effectiveness of the proposed controller under the condition of unknown models.

1.4.3 Verification of Repeatability Optimization

Then we check the effectiveness of repeatability optimization. Based on the simulation of the previous part, we introduce the proposed repeatability optimization scheme (i.e., the controller is the same as the adaptive tracking controller in the previous part except \(\alpha \ne 0\).) Simulation results are shown in Fig. 1.4. The curve of tracking error e is the same as the one when \(\alpha =0\), showing the property that the velocity component in null space have no influence on the cartesian movement (Fig. 1.4a). The estimated kinematic parameters \(\hat{a}_k\) are shown in Fig. 1.4b, which slowly converges to \(a_k\) with time. The error norm \(||Y_k\hat{a}_k-\dot{x}||_2\) of the estimated cartesian speed reduced to zero quickly, as shown in Fig. 1.4c. The curve of the repeatability function is shown in Fig. 1.4d, we can observe that when \(t=T,2T,\cdots \), \(||q-q_{ini}||_2\) equals to zero. This is to say, when repeatability optimization is used, \(||q-q_{ini}||_2\) changes periodically. Figure 1.4e shows the motion trajectory tracked by its end-effector of the robot manipulator, illustrating the precise tracking of the circle desired trajectory.

Fig. 1.3
figure 3

Error profile with and without parameter estimation when tracking a circle. a Tracking errors without parameter estimation. b Tracking errors with parameter estimation. c Norm of tracking errors with and without parameter estimation

Fig. 1.4
figure 4

Simulation results with parameter estimation when tracking a circle. a Tracking error profile. b Estimated parameter \(\hat{a}_k\). c Difference between the estimated value \(Y_k \hat{a}_k\) and the real one. d \(||q-q_{ini}||_2\) with repeatability optimization. e Motion trajectory

1.4.4 Cardioid Tracking

To further verify effectiveness of the proposed control scheme, the manipulator is required to track a cardioid trajectory in 2-D workspace. The desired path is defined as \(x_{\text{ d }}(t)=0.1(2sin(2t)-sin(4t))+0.6\) m, \(y_{\text{ d }}(t)=0.1(2cos(2t)-cos(4t))+0.2\) m. Simulation results are shown in Fig. 1.5. The motion trajectory achieved by its end-effector of the manipulator is shown in Fig. 1.5a. The corresponding tracking errors are given in Fig. 1.5b, showing that the robot successfully tracks the given trajectory. \(||q-q_{ini}||_2\) is guaranteed to 0 when \(t=T,2T,3T\) (Fig. 1.5e), and the estimated kinematic parameters are shown in Fig. 1.5c. All in all, the proposed controller ensures stable tracking under the condition of model uncertainties, and the repeatability is also achieved.

Fig. 1.5
figure 5

Simulation results when tracking a cardioid curve. a Motion trajectory of the manipulator. b Tracking error. c Estimated parameter \(\hat{a}_k\). d Difference between the estimated value \(Y_k\hat{a}_k\) and the real one. e \(||q-q_{ini}||_2\) with repeatability optimization

1.5 Summary

In this chapter, an adaptive tracking controller is designed for redundant manipulators. Model uncertainties and repeatability are considered. The control scheme requires neither joint accelerations nor cartesian velocity, which is more suitable in practical engineering. By using the pseudo-inverse method, repeatability is optimized in the null space of Jacobian, the continuous of joint speed is also guaranteed. Future studies will concentrate on the experimental validation of the proposed controller.