1. Introduction
The trajectory tracking control problem of robot manipulators has been extensively studied for the past decades, and lots of control schemes have been proposed in theory. As the robot manipulators are now required to have more physical interaction with humans and environment, many practical engineering problems, such as input constraints, output constraints, model uncertainties and external disturbances, cannot be ignored. Therefore, we need to design targeted controllers to deal with these problems.
In reality, the physical parameters of the robot manipulator are not always exactly known, which will greatly affect the control effect. Hence, many studies have been reported to solve this problem, such as neural network (NN) control [Reference He, Huang, Dong, Li and Su1, Reference Zhou, Zhao, Li, Lu and Wu2] and fuzzy logic system (FLS) control [Reference Ling, Wang and Liu3, Reference Nguyen, Lin, Su and Sun4]. Ling et al. [Reference Ling, Wang and Liu3] used FLS to approximate the dynamic uncertainties and updated FLS by updating the trace of the weight matrix transpose multiplied by the weight matrix. Similar to model uncertainties, external disturbances can also affect the control effect. To deal with this problem, a variety of disturbance observers (DO) have been constructed [Reference Shi, Zhang, Sun, Shen and Xia5, Reference Zhang, Hua and Li6, Reference Zhang, Qi, Hu and Chen7]. Shi et al. [Reference Shi, Zhang, Sun, Shen and Xia5] designed a novel DO that can detect external disturbances and model uncertainties. Different from the complex designs of NN, FLS and DO, UDE is a simple designed filter, and only the bandwidth of the unknown object is required for the filter design [Reference Zhong and Rees8], which makes the UDE-based control easier to be implemented and tuned. However, the above studies did not take the constraints into account.
With the increasing of man-machine cooperation scenarios, constrained control is essential to ensure the safety of operators. Lots of studies have been proposed to solve input constraints [Reference Kang, Qiao, Gao and Yang9, Reference Purwar, Kar and Jha10, Reference Zhang, Kong, Zhang, Li and Fu11, Reference He, David, Yin and Sun12] and output constraints [Reference Tang, Ge, Tee and He13, Reference He, Chen and Yin14, Reference He, Huang and Ge15, Reference Zhao and Song16]. In ref. [Reference Kang, Qiao, Gao and Yang9], a model predictive control method for robot manipulators based on NN was proposed, and non-quadratic cost functions were introduced to solve input constraints. In ref. [Reference Zhang, Kong, Zhang, Li and Fu11], a fixed-time control method based on NN was presented for robot manipulators, and the NN was used to compensate the input dead zone. Tang et al. [Reference Tang, Ge, Tee and He13] proposed an adaptive neural tracking controller for robot manipulators, and solved symmetric output constraints by integral barrier Lyapunov function (BLF). Compared with general BLF, NSDF proposed in ref. [Reference Zhao and Song16] is more concise and can solve both symmetric and asymmetric output constraints. However, most of the above studies are conducted in joint space.
Compared with the trajectory tracking control in joint space, the trajectory tracking control in task space is more practical. At present, there are two main methods to realize the trajectory tracking control of robot manipulators in task space. One method is to use the pseudo-inverse of the Jacobian matrix [Reference Liu, Zhao and Wen17, Reference Dogan, Tatlicioglu, Zergeroglu and Cetin18, Reference Liang, Wan and Zhang19, Reference Shuhua, Xiaoping, Xiaoming and Wenhui20, Reference Bouteraa, Abdallah and Ghommam21, Reference Liu, Dong, Yang and Chen22]. Liu et al. [Reference Liu, Zhao and Wen17] proposed an adaptive NN controller for robot manipulators with the optimal number of hidden nodes and less computation. In ref. [Reference Dogan, Tatlicioglu, Zergeroglu and Cetin18], a repetitive learning controller for uncertain robot manipulators was designed to ensure high accuracy of tracking in task space. However, Liu et al. [Reference Liu, Zhao and Wen17] and Dogan et al. [Reference Dogan, Tatlicioglu, Zergeroglu and Cetin18] only considered the uncertain dynamics. Liang et al. [Reference Liang, Wan and Zhang19] designed a TDE-based task space trajectory tracking controller for robot manipulators with uncertain kinematics and dynamics. Another method is to utilize the dynamic regressor matrix [Reference Feng23, Reference Xu, Zhou, Cheng, Sun and Huang24, Reference Wang25, Reference Hu, Xu and Zhang26, Reference Feng27]. In ref. [Reference Xu, Zhou, Cheng, Sun and Huang24], an adaptive task space controller was proposed for robot manipulators with uncertain kinematics and dynamics, and the measurements of task space velocity and joint acceleration were avoided by introducing filters. Hanlei Wang [Reference Wang25] proposed two adaptive controllers for robot manipulators to realize the task space trajectory tracking control with uncertain kinematics and dynamics. Hu et al. [Reference Hu, Xu and Zhang26] presented an adaptive task space trajectory tracking controller for space robot manipulators, and the model uncertainties and external disturbances with unknown bound were both considered.
Inspired by the above research, considering the input saturation and output constraints, an UDE-based tracking controller for uncertain robot manipulators with external disturbance is designed in task space. The model uncertainties and external disturbance are approximated by UDE, and the input saturation and output constraints are solved by auxiliary system and NSDF, respectively. Our proposed controller has advantages in terms of the following aspects:
-
1. UDE is designed to estimate the model uncertainties and external disturbance, and only the bandwidth of the unknown object is required. Furthermore, the proposed control scheme is easy to be implemented and tuned while bringing a good robust performance.
-
2. NSDF is designed to deal with the output constraints. Compared with BLF, using NSDF can avoid the employment of piecewise BLF when output constraints are transformed from symmetry to asymmetric.
-
3. Combined with NSDF and UDE, a novel task space tracking controller is first proposed for uncertain robot manipulators with input saturation and output constraints. Compared with most existing UDE-based controllers for robot manipulators without input saturation and output constraints [Reference Nam28, Reference Patel, Neelgund, Wathore, Kolhe, Kuber and Talole29, Reference Kolhe, Shaheed, Chandar and Talole30, Reference Chu, Li and Lu31, Reference Dong and Ren32], the proposed control scheme has more extensive applications.
The rest of this paper is organized as follows. Section 2 gives the problem formulation. UDE-based tracking control design, stability analysis and selection of parameters are presented in Section 3. Section 4 provides comparative simulation results and analysis. Section 5 concludes the study.
Notation: Throughout this paper,
$(.)^{-1}$
denotes the inverse of a matrix,
$(.)^{+}$
denotes the pseudo-inverse of a matrix.
$(.)^{T}$
denotes transposition of a vector or a matrix.
$\left \|.\right \|$
denotes the two-norm,
$\left \|.\right \|_F$
denotes the f-norm. “
$ * $
” denotes convolution operation.
$\mathcal{L}(.)$
denotes Laplace transform operator.
$\mathcal{L}^{-1}(.)$
denotes the inverse Laplace transform operator.
2. Problem Formulation
The dynamic model of an uncertain n-link rigid robot manipulator with input saturation can be described as [Reference Shi, Zhang, Sun, Shen and Xia5, Reference Zhang, Hua and Li6]
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn1.png?pub-status=live)
where
$q, \dot{q}, \ddot{q} \in R^n$
are the link position, velocity, and acceleration vectors, respectively.
$M_0(q) \in R^{n \times n}$
is the inertia matrix, which is symmetric positive definite.
$C_0(q) \in R^{n \times n}$
is the Coriolis and centripetal force matrix.
$G_0(q) \in R^n$
is the gravity vector.
$\Delta M_0(q)$
,
$\Delta C_0(q,\dot{q})$
and
$\Delta G_0(q)$
denote the modeling errors.
$\tau =[\tau _1,\ldots,\tau _n]^T \in R^n$
is the input torque.
$\tau _d=[\tau _{d1},\ldots,\tau _{dn}]^T \in R^n$
denotes the bounded external disturbance.
$U(\tau )=[U(\tau _1),\ldots,U(\tau _n)]^T \in R^n$
is the input saturation function vector, which can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn2.png?pub-status=live)
where
$sign(.)$
is the standard sign function and
$U_{mi}$
is a known constant bound of
$U(\tau _i)$
.
Let
$ D=\tau _d-\Delta M_0(q)\ddot{q}-\Delta C_0(q,\dot{q})\dot{q}-\Delta G_0(q) \in R^n$
denotes the model uncertainties and bounded external disturbances, (1) can be rewritten as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn3.png?pub-status=live)
In task space, let
$x, \dot{x}, \ddot{x} \in R^m$
denote the robot end-effector position, velocity, and acceleration vectors, respectively. Task space and joint space can be connected by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn4.png?pub-status=live)
where
$J \in R^{m \times n}$
is the jacobian matrix.
Combining (3) and (4), the task space dynamic model of an uncertain n-link rigid robot manipulator is obtained:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn5.png?pub-status=live)
where
$M_x=J^{+T}M_0J^{+}$
,
$C_x=J^{+T}(C_0-M_0J^{+}\dot{J})J^{+}$
,
$G_x=J^{+T}G_0$
and
$D_x=J^{+T}D$
.
For system (5), there are some properties as follows:
Property 1.
The inertia matrix
$M_x$
is symmetric positive definite.
Property 2.
The matrix
$\dot{M}_x-2C_x$
is skew symmetric.
Choosing
$x_1=x$
,
$x_2=\dot{x}$
, system (5) is converted to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn6.png?pub-status=live)
where
$y=[y_1,\ldots,y_m]^T$
is the system output.
For system (6), the control objective is to design an UDE-Based controller which can guarantee: the output
$y$
can track the given output
$y_d$
precisely, the control input does not violate input saturation and the output constraints are not violated, that is,
$y_i(t) \in [y_i(t) \in R:-F_{i1}(t) \le y_i(t) \le F_{i2}(t)],i=1,\ldots,m$
, where
$F_{i1}(t)$
and
$F_{i2}(t)$
are constraint functions.
To achieve the control objective, the following assumptions should be satisfied:
Assumption 1. The jacobian matrix is nonsingular.
Assumption 2.
The constraint functions
$F_{i1}(t)$
and
$F_{i2}(t)$
are positive, and their kth derivatives (k = 0,1,2) are bounded and continuous.
Assumption 3.
The desired signal
$y_d(t)=[y_{d1}(t),\ldots,y_{dm}(t)]^T$
and its jth derivatives (j = 1,2) are bounded. Futhermore, for any
$F_{i1}(t)$
and
$F_{i2}(t)$
, there exist some positive constants
$S_{i1}$
and
$S_{i2}$
and functions
$Y_{i1}(t)$
and
$Y_{i2}(t)$
satisfying
$S_{i1} \le F_{i1}(t)-Y_{i1}(t)$
and
$S_{i2} \le F_{i2}(t)-Y_{i2}(t)$
such that
$-F_{i1}(t)\lt -Y_{i1}(t) \le y_{di}(t) \le Y_{i2}(t) \lt F_{i2}(t),i=1,\ldots,m$
.
Remark 1. Assumption 1 is commonly used in task space tracking control of robot manipulators [Reference Ahmadi and Fateh33, Reference Izadbakhsh and Khorashadizadeh34, Reference Gholipour and Fateh35]. Assumption 2 is often used in studies that use NSDF to solve output or state constraints [Reference Zhao and Song16, Reference Zhao and Song36, Reference Liu, Wang and Xu37]. Assumption 3 is a common assumption about the desired signal in literature that considers time-varying output or state constraints [Reference Zhao and Song36, Reference Liu, Lu and Tong38, Reference Liu and Tong39, Reference Wu, Xu and Mo40].
3. UDE-Based Control Design
3.1. Control design
In this section, an UDE-based tracking controller is designed for uncertain robot manipulators with input saturation and output constraints. This section is divided into three steps. In step 1, we combine NSDF and backstepping method to derive the virtual control law
$\alpha _1$
and auxiliary variable
$\eta _1$
. In step 2, the control law
$\tau$
and auxiliary variable
$\eta _2$
are derived by combining UDE and backstepping method, and the stability of robot manipulator is proved by Lyapunov method. In step 3, we construct an auxiliary system using
$\eta _1$
and
$\eta _2$
, and the stability of the auxiliary system is proved by Lyapunov method.
Step1: To solve the output constraints, two NSDF vectors
$\zeta =[\zeta _1,\ldots,\zeta _m]^T$
and
$\zeta _d=[\zeta _{d1},\ldots,\zeta _{dm}]^T$
are defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn7.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn8.png?pub-status=live)
where
$K$
is a positive constant.
Remark 2. For the initial value
$y_i(0) \in [y_i(t) \in R:-F_{i1}(t) \le y_i(t) \le F_{i2}(t)]$
, we can obtain:
$\zeta _i \rightarrow \pm \infty$
if and only if
$y_i(t) \rightarrow -F_{i1}(t)$
or
$y_i(t) \rightarrow F_{i2}(t)$
. In other words, the problem of satisfying the output constraints is transformed into the problem of ensuring the boundness of
$\zeta _i$
for all
$t \ge 0$
.
Define
$e_1=\zeta -\zeta _d$
and
$v_1=e_1-\eta _1$
and consider the Lyapunov function
$V_1=\frac{1}{2}v_1^Tv_1$
. The time derivative of
$V_1$
is:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn9.png?pub-status=live)
Taking the time derivative of each term in
$\zeta$
and
$\zeta _d$
based on (7) and (8), we get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn10.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn11.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn12.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn13.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn14.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn15.png?pub-status=live)
Then we can obtain the time derivative of
$\zeta$
and
$\zeta _d$
as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn16.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn17.png?pub-status=live)
where
$\mu _1=diag[\mu _{11},\ldots,\mu _{1m}] \in R^{m \times m}$
,
$\mu _{2}=[\mu _{21},\ldots,\mu _{2m}]^T\in R^m$
,
$\mu _{d1}=diag[\mu _{d11},\ldots,\mu _{d1m}]\in R^{m \times m}$
,
$\mu _{d2}=[\mu _{d21},\ldots,\mu _{d2m}]^T\in R^m$
.
Substituting (6), (16) and (17) into (9), we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn18.png?pub-status=live)
Defining
$e_2=x_2-\alpha _1$
and
$v_2=e_2-\eta _2$
, (18) can be further transformed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn19.png?pub-status=live)
The virtual control law
$\alpha _1$
and auxiliary variable
$\eta _1$
are chosen as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn20.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn21.png?pub-status=live)
where
$c_1$
is a design constant.
Substituting (20) and (21) into (19) results in
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn22.png?pub-status=live)
Step2: Considering the Lyapunov function
$V_2=V_1+\frac{1}{2}v_2^Tv_2$
and taking its time derivative based on (6) and (22), we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn23.png?pub-status=live)
where the model uncertainties and external disturbance
$D_x$
is unknown. According to (6),
$D_x$
can be denoted as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn24.png?pub-status=live)
which shows that the unkown
$D_x$
can be obtained from the known system dynamics and control signal. However, in order not to have the inputs cancel out, (24) can not be subtituted to (23) directly. Assuming that the frequency range of a signal is limited, the signal can be estimated using a filter with appropriate bandwidth information, then the procedure of UDE-based control design given in ref. [Reference Zhong and Rees8] is adopted to handle the uncertainty so that a control law is derived. Assume that
$G_f(s)=diag[G_{f1}(s),\ldots,G_{fm}(s)] \in R^{m \times m}$
is a strictly proper stable filter with the unity gain and zero phase shift over the spectrum of
$D_x$
and zero gain elsewhere. Then,
$D_x$
can be estimated by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn25.png?pub-status=live)
where
$\hat{D}_x$
is the estimate of
$D_x$
. The estimation error
$\tilde{D}_x$
is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn26.png?pub-status=live)
According to (25) and (26), the laplace transform of
$\tilde{D}_x$
is represented as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn27.png?pub-status=live)
where
$\tilde{D}_x(s)$
,
$D_x(s)$
and
$\hat{D}_x(s)$
denote the Laplace transform of
$\tilde{D}_x$
,
$D_x$
and
$\hat{D}_x$
, respectively. Taking the inverse Laplace transform of (27), there is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn28.png?pub-status=live)
Since
$D_x$
is bounded and the UDE filter
$G_f(s)$
is designed close to unity over the spectrum of
$D_x$
, the estimation error
$\tilde{D}_x$
is bounded according to (28). Hence, it is reasonably assumed that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn29.png?pub-status=live)
where
$\delta _1$
is a positive scalar. Then we can further obtain that
$\hat{D}_x$
is bounded based on (26).
According to ref. [Reference Zhong and Rees8],
$G_f(s)=diag[G_{f1}(s),\ldots,G_{fm}(s)]$
is chosen as a first-order low-pass filter.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn30.png?pub-status=live)
where
$1/{T_i},i=1,\ldots,m$
denote the bandwidth of
$1/({T_is+1})$
. Although this will cause some error in the estimation, the steady-state estimation error is always zero because
$G_f(0)=I$
. The amplitude gain of the filter is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn31.png?pub-status=live)
where
$w$
is the frequency of the input signal to the filter.
Remark 3. Let
$\Delta u=U(\tau )-\tau$
and
$J^{+T} \Delta u=J^{+T}U(\tau )-J^{+T}\tau$
, there exists a positive constant
$\delta _2$
which satisfies
$\left \|J^{+T}\Delta u\right \| \le \delta _2$
according to ref. [Reference Wu, Huang, Wang and Wang41].
According to Remark 3, (23) and (25) can be rewritten as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn32.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn33.png?pub-status=live)
The control law
$\tau$
is selected as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn34.png?pub-status=live)
where
$c_2$
and
$r_1$
are design constants.
Solving (34), we can further obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn35.png?pub-status=live)
The auxiliary variable
$\eta _2$
is selected as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn36.png?pub-status=live)
Combining (32), (33), (35) and (36), we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn37.png?pub-status=live)
According to Young’s inequality, there is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn38.png?pub-status=live)
Combined with (38), (37) becomes
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn39.png?pub-status=live)
Defining
$\rho _1=2min\left \{c_1,c_2\right \}$
and
$\lambda _1=\frac{r_1^2\delta _1^2}{2}$
, we can further get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn40.png?pub-status=live)
Solving (40), we can obtain that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn41.png?pub-status=live)
where
$V_2(0)$
is the initial value of
$V_2(t)$
. Based on (41), we can further get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn42.png?pub-status=live)
Step3: To solve the input saturation, an auxiliary system has been set up:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn43.png?pub-status=live)
In order to prove the stability of system (43), a Lyapunov function
$V_a=\frac{1}{2}(\eta _1^T\eta _1+\eta _2^T\eta _2)$
is considered. Taking the time derivative of
$V_a$
, we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn44.png?pub-status=live)
Using Young’s inequality, we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn45.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn46.png?pub-status=live)
Combined with (45) and (46), (44) becomes
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn47.png?pub-status=live)
According to cauchy inequality, for any matrix
$P \in R^{ m\times n}$
and vector
$Q \in R^n$
, the following inequality holds:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn48.png?pub-status=live)
According to (48), we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn49.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn50.png?pub-status=live)
where
$\delta _2$
is the upper bound of
$\left \|J^{+T}\Delta u\right \|$
,
$\delta _3$
is the upper bound of
$\left \|M_x^{-1}\right \|_F$
and
$\delta _4$
is the upper bound of
$\left \|\mathcal{L}^{-1}(G_f(s))*(-J^{+T}\Delta u)\right \|$
.
$\mathcal{L}^{-1}(G_f(s))*(-J^{+T}\Delta u)$
is bounded because
$J^{+T}\Delta u$
is bounded and the amplitude gain of filter (31) is bounded.
Substituting (49) and (50) into (47) yileds
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn51.png?pub-status=live)
Defining
$\rho _2=2min\left \{c_1,(c_2-1)\right \}$
and
$\lambda _2=\dfrac{(\delta _2^2+\delta _4^2)\delta _3^2}{2}$
, we can further get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn52.png?pub-status=live)
Solving the inequality (52), we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn53.png?pub-status=live)
where
$V_a(0)$
is the initial value of
$V_a(t)$
. Based on (53), we can further get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn54.png?pub-status=live)
3.2. Stability analysis
Theorem 1. Considering the robot manipulator (1) under Assumptions 1, 2 and 3, the virtual control law (20), the auxiliary system (43) and the proposed UDE-based control law (35) can guarantee that the output constraints are not violated, all signals in the closed-loop system are bounded and the tracking error converges to a small neighborhood around zero.
Proof of Theorem 1: The proof is divided into two parts. One part proves that all signals in the closed-loop system are bounded and the output constraints are not violated. The other part proves that the tracking error converges to a small neighborhood around zero.
Part 1: The formula (41) and (53) can be scaled to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn55.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn56.png?pub-status=live)
which mean that for
$t \ge max\left \{0,\frac{1}{\rho _1}\ln \left(\frac{V_2(0)\rho _1}{\lambda _1}\right)\right \}$
, the signals
$v_1$
and
$v_2$
will remain within the compact sets
$\Omega _{v_1}$
and
$\Omega _{v_2}$
, respectively, defined by:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn57.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn58.png?pub-status=live)
similarly, for
$t \ge max\left \{0,\frac{1}{\rho _2}\ln \left(\frac{V_a(0)\rho _2}{\lambda _2}\right)\right \}$
, the signals
$\eta _1$
and
$\eta _2$
will remain within the compact sets
$\Omega _{\eta _1}$
and
$\Omega _{\eta _2}$
, respectively, defined by:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn59.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn60.png?pub-status=live)
Because
$v_1$
,
$v_2$
,
$\eta _1$
and
$\eta _2$
are bounded,
$e_1=v_1+\eta _1$
and
$e_2=v_2+\eta _2$
are bounded. According to Assumption 3 and (8),
$\zeta _d$
is bounded. Then we can further derive that
$\zeta = e_1+\zeta _d$
is bounded. Based on (7) and the boundness of
$\zeta$
, the system output
$y$
is bounded and the output constraints are not violated. Due to Assumption 2 and the boundness of
$y_i$
and
$y_{di}$
, it is obvious that
$\mu _1$
,
$\mu _2$
,
$\mu _{d1}$
and
$\mu _{d2}$
are bounded from (12) to (15). Furthermore, the boundness of
$\alpha _1$
is guaranteed from (20). Then we can derive that
$x_2=e_2+\alpha _1$
is bounded. Finally,
$\tau$
is bounded based on (35). All signals in the closed-loop system are bounded.
Part 2: Next we discuss the tracking error
$e_3=y-y_d=[e_{31},\ldots,e_{3m}]^T$
. According to (7), (8) and
$e_1=\zeta -\zeta _d$
, the i th element of
$e_1$
can be described as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn61.png?pub-status=live)
Let
$\epsilon _1=(F_{i1}(t)+y_i(t))(F_{i2}(t)-y_i(t))(F_{i1}(t)+y_{di}(t))(F_{i2}(t)-y_{di}(t))$
and
$\epsilon _2=F_{i1}(t)F_{i2}(t)+y_i(t)y_{di}(t)$
, (61) can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn62.png?pub-status=live)
where
$\epsilon _1$
and
$\epsilon _2$
are positive and bounded based on Assumptions 2 and 3. Defining
$\epsilon =\epsilon _1/(K\epsilon _2)$
, (62) can be rewritten as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn63.png?pub-status=live)
Taking the absolute of (63), we can further get
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn64.png?pub-status=live)
where
$\bar{\epsilon }$
is the upper bound of
$\epsilon$
.
According to (57), (59) and (64), for
$t \ge max\left \{0,\dfrac{1}{\rho _1}\ln \left(\dfrac{V_2(0)\rho _1}{\lambda _1}\right),\dfrac{1}{\rho _2}\ln \left(\dfrac{V_a(0)\rho _2}{\lambda _2}\right)\right \}$
, the tracking error
$e_{3i}$
will remain within the compact set
$\Omega _{e_{3i}}$
:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqn65.png?pub-status=live)
This completes the proof of Theorem 1.
3.3. Selection of control parameters
In order to obtain good tracking performance, the selection criteria of corresponding control parameters are given as follows:
(1) The backstepping design parameters
$c_1$
,
$c_2$
can affect the convergent rate of tracking error. Large values of
$c_1$
and
$c_2$
bring faster error convergence, but the control amplitude will increase if too large
$c_1$
and
$c_2$
are chosen. The design parameter
$r_1$
should be a small positive constant to guarantee good tracking performance. In our simulation,
$c_1$
,
$c_2$
and
$r_1$
are chosen as 40, 100 and 1, respectively.
(2) The design parameter
$K$
is introduced in NSDF. Increasing
$K$
value can reduce the steady-state error, but will bring large control amplitude. In our simulation,
$K$
is chosen as 0.01.
(3) The design parameters
$T_i, i=1,..,m$
in (30) should be selected small to ensure small estimation error. In our simulation,
$T_1$
and
$T_2$
are chosen as 0.014.
4. Simulation
To demonstrate the effectiveness and superiority of the proposed UDE-based tracking controller, simulation studies are carried out using a two-link rigid robot manipulator.
4.1. Simulation platform
Let the position of manipulator’s joint
$q=[q_1,q_2]^T$
. Let
$m_i$
and
$l_i$
be the mass and length of link
$i$
,
$l_{ci}$
be the distance from joint
$i-1$
to the center of mass of inertia of link
$i$
, and
$I_i$
be the moment of inertia of link
$i$
about axis coming out of the page passing through the center of mass of link
$i, i= 1,2$
. The dynamic model of the two-link robot manipulator [Reference He, Chen and Yin14] can be described as formula (1), where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU1.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU2.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU3.png?pub-status=live)
and
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU4.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU5.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU6.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU7.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU8.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU9.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU10.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU11.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU12.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU13.png?pub-status=live)
The model uncertainties are given as
$\Delta M_0(q)=-0.1M_0(q)$
,
$\Delta C_0(q,\dot{q})=-0.2C_0(q,\dot{q})$
,
$\Delta G_0(q)=-0.1G_0(q)$
. The external disturbance is chosen as
$\tau _d=[sin(t),sin(t)]^T$
.
$UD=[UD_1,UD_2]^T$
denotes model uncertainties and external disturbance. The jacobian matrix is given as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU14.png?pub-status=live)
The robot manipulator parameters are listed in Table I.
Table I. Parameters of the robot.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_tab1.png?pub-status=live)
Table II. Controller parameters.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_tab2.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_fig1.png?pub-status=live)
Figure 1. Tracking performance.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_fig2.png?pub-status=live)
Figure 2. Tracking error.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_fig3.png?pub-status=live)
Figure 3. Control input.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_fig4.png?pub-status=live)
Figure 4. Model uncertainties and external disturbances estimation curve.
Then system (1) can be converted to (5) based on (4). The initial position and velocity of the robot manipulator are given as
$x_1(0)=[0.235,0.205]^T$
and
$x_2(0)=[0,0]^T$
. The initial state value of auxiliary system are set to
$\eta _1=[0,0]^T$
and
$\eta _2=[0,0]^T$
.
$y=[y_1,y_2]^T$
denotes the system output. The desired trajectory is given as
$y_d=[0.2sin({\pi }t),0.2cos({\pi }t)]^T$
.
$e_3=[e_{31},e_{32}]^T=y-y_d$
denotes the trajectory tracking error. The output constraint functions are selected as
$F_{11}=0.21-0.03sin({\pi }t)$
,
$F_{12}=0.21+0.03cos({\pi }t)$
,
$F_{21}=0.21-0.03cos({\pi }t+{\pi }/2)$
and
$F_{22}=0.21+0.03cos({\pi }t+{\pi }/2)$
. The input saturation values are chosen as
$U_m=[U_{m1},U_{m2}]^T=[15,5]^T$
.
To further evaluate the performance of the proposed controller, we select two comparative controllers from the literature. The adaptive NN tracking controller [Reference Wu, Huang, Wang and Wang41] is designed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU15.png?pub-status=live)
and the inverse dynamics control algorithm based on the chattering-free continuous sliding-mode controller (IDCSMC) [Reference Asar, Elawady and Sarhan42] is designed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU16.png?pub-status=live)
where the sliding surface vector
$s$
is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU17.png?pub-status=live)
4.2. Simulation results
In this section, we present the simulation results of the proposed controller, the adaptive NN controller and IDCSMC. The controller parameters are listed in Table II. The simulation time is 20 s.
Figure 1 shows the curves of the system outputs
$y_1$
and
$y_2$
under the control of proposed controller, adaptive NN controller and IDCSMC, respectively. Similarly, the curves of tracking errors
$e_{31}$
and
$e_{32}$
are shown in Fig. 2. Figure 3 shows the curves of control inputs
$\tau _1$
and
$\tau _2$
. The curves of UDE estimation are given in Fig. 4. According to the simulation results, we can get the following conclusions. (1) All the three controllers can ensure the system output tracks on the given trajectory. (2) The proposed control achieves the smallest steady-state tracking error. (3) The proposed controller and adaptive NN controller can satisfy input saturation and output constraints, but IDCSMC can’t. (4) UDE can estimate the model uncertainties and external disturbances precisely.
4.3. Performance comparisons
For performance analysis, we use root mean square (RMS) and maximum (MAX) values of the sampled tracking error
$e(i)$
for comparisons [Reference etal43, Reference etal44], which are defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU18.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_eqnU19.png?pub-status=live)
where
$N$
is the number of sampled tracking error.
$N$
is chosen as 5001 and the sample time is 0.01 s. Sampling starts at
$t=0s$
. Table III shows the performance comparisons of three controllers. The proposed controller achieves the smallest RMS values for both two coordinates. In particular, the performance improvements in terms of RMS error for the proposed controller compared with the adaptive NN controller and IDCSMC are 3
$\%$
, 27
$\%$
for
$e_{31}$
and 88
$\%$
, 87
$\%$
for
$e_{32}$
, respectively. Also, when t
$\gt$
2s, the performance improvements in terms of MAX error for the proposed controller compared with the adaptive NN controller and IDCSMC are 93
$\%$
, 95
$\%$
for
$e_{31}$
and 87
$\%$
, 89
$\%$
for
$e_{32}$
, respectively. The results show that the proposed control method has better robustness and tracking performance compared with the other two controllers.
Table III. Performance comparisons of controllers.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20220909121842616-0147:S0263574722000479:S0263574722000479_tab3.png?pub-status=live)
5. Conclusion
An UDE-based task space tracking controller is proposed for uncertain robot manipulators with asymmetric time-varying output constraints and input saturation. Firstly, UDE is used to approximate the model uncertainties and external disturbances, and only the bandwidth of the unknown plant model is required for design. Secondly, NSDF is utilized to deal with the output constraints. Thirdly, a second order auxility system is created to solve the input saturation. Finally, the system stability and the boundness of the closed-loop signals are proved by Lyapunov stability theory. The output constraints are not violated and the control input does not violate the input saturation. Simulation results are presented to illustrate the effectiveness and superiority of the proposed control strategy.
In the furture, we tend to design an adaptive UDE-based controller for uncertain flexible joint robot in task space.
Acknowledgements
The authors thank the associate editor and anonymous reviewers for their useful comments to improve the quality of the manuscript.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Financial Support
This work is partially supported by the Guangdong Science and Technology Project under Grant Nos. 2015B010133002 and 2017B090910011.
Ethical Considerations
None.
Authors’ Contributions
None.