Keywords

1 Introduction

The main purpose of the robot trajectory tracking control system through a given drive moment of each joint is to make the position and velocity of the robot such as state variable to track a given ideal speed trajectory. Backstepping design method provides a recursive step to nonlinear systems with strict parametric feedback form and ensures the global stability of the system. Sliding mode variable structure control has better robustness to external disturbance and model error and is widely used in the control of uncertain nonlinear systems. Because of error measurement, delay, and system inertia, variable structure control in sliding mode produces chattering. The chattering can easily arouse the unmodeled characteristics of system, which affects the control system performance, and lead to make the sliding mode variable structure control in practical applications difficult. In order to weaken the high-frequency vibration in sliding mode control, many scholars have conducted various studies, such as filter method [1], dynamic sliding mode method [2], and neural network control [3]. Yu [4] designed a global fast terminal sliding mode controller based on traditional sliding mode control, but chattering still exists in the control system, and the control method must know the upper bound of the modeling error and interference in advance. Mu and Chen [5] designed a kind of adaptive fuzzy sliding mode control, but it requires a short learning process in the initial stage. Todorova [6] and LIN [7] synthesized the advantages of sliding mode variable structure control and fuzzy control, which acquired a lot of achievements, but its generality is poor and anti-interference ability is not strong.

This paper designs a new kind of backstepping fuzzy sliding mode control system for a multi-joint robot system. The system combines the sliding mode control and fuzzy control. We designed the global sliding mode surface according to the principle of sliding mode control. Backstepping design method and fuzzy controller are designed to eliminate chattering. Based on the Lyapunov theorem, sufficient conditions for the stability of the system are given.

2 System Description

Consider the dynamic equation of an n-joint manipulator as follows (see as [3]):

$$ M(q)\mathop{\textit{\"{q}}} + C(q,\dot{q})\dot{q} + G(q) + F(q,\dot{q},\mathop{\textit{\"{q}}}) = u $$
(2.1)

where \( q,\dot{q},\textit{\"{q}} \in R^{n} \) stand for the joint angular position vector, the velocity vector, and acceleration vector, respectively. \( M(q),\;C(q,\dot{q}),\;G(q) \) are nominal model parameters of the robot system. \( M(q) \in R^{{n{ \times }n}} \) is the robot inertia matrix and is positive definite symmetric. Its inverse \( M(q)^{ - 1} \) exists. And \( C(q,\dot{q}) \in R^{n} \) is the result from centrifugal and Coriolis force, \( G(q) \in R^{n} \) is the gravity, \( F(q,\dot{q},\textit{\"{q}}) \) is the friction force, and \( u \in R^{m} \) is the control input.

Our control goal is to require joint vector q track as well as possible joint angular displacement specified and design a fuzzy sliding mode controller for multi-joint robot system which can track the trajectory more accurately and reduce the chattering effectively.

3 The Main Goal

3.1 Backstepping Sliding Mode Controller Design

We use backstepping method and define \( x_{1} = q,\;x_{2} = \dot{q} \). The multi-joint robot system will be

$$ \left\{ {\begin{array}{*{20}l} {\dot{q} = x_{2} } \hfill \\ {\textit{\"{q}} = M(q)^{ - 1} \left[ {u - C(\dot{q},q)x_{2} - F(q,\dot{q},\textit{\"{q}}) - G(q)} \right]} \hfill \\ {y = x_{1} } \hfill \\ \end{array} } \right. $$
(3.1)

Denote the joint position tracking error as:

$$ e_{ 1} = y - y_{d} $$
(3.2)

where \( y_{d} \) is expected angle. And \( y_{d} \) has the second derivative. y is the actual angle.

The deviation between the ideal and actual speed is

$$ e_{2} = x_{2} - \alpha_{1} $$
(3.3)

Define the introducing virtual control volume as: \( \alpha_{1} = - \lambda_{1} e_{1} + \dot{y}_{d} ,\lambda_{1} > 0 \)

We take the derivatives of both sides and get.

$$ \dot{e}_{1} = \dot{x}_{1} - \dot{y}_{d} = e_{2} + \alpha_{1} - \dot{y}_{d} $$
(3.4)

Select the Lyapunov function as: \( V_{1} = \frac{1}{2}e_{1}^{T} e_{1} \)

Therefore,

$$ \dot{V}_{1} = e_{1}^{T} \dot{e}_{1} = e_{1}^{T} (e_{2} + \alpha_{1} - \dot{y}_{d} ) = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} $$
(3.5)

where, \( \dot{e}_{2} = \dot{x}_{2} - \dot{\alpha }_{1} = M(q)^{ - 1} \left[ {u - C(q,\dot{q})x_{2} - F(q,\dot{q},\textit{\"{q}}) - G(t)} \right] - \dot{\alpha }_{1} \)

Select the sliding variable as:

$$ s = \dot{x} + \alpha x - p(t)\left[ {\dot{x}(0) + \alpha x(0)} \right] $$
(3.6)

where \( p(t) = \exp ( - \beta t),\;{\text{and}}\;x(0),\dot{x}(0) \) stand for the system state and its first derivative of t = 0.And β is the normal number, \( \exp ( - \beta t) \) is \( - \beta t \) power series of natural numbers.

When global sliding mode surface is used in the second-order multi-joint robot, its error differential equation can be expressed as:

$$ s = \dot{e}_{1} + \alpha e_{1} - p(t)\left[ {\dot{e}(0) + \alpha e(0)} \right] $$
(3.7)

Select the Lyapunov function as: \( V_{ 2} = V_{ 1} + \frac{1}{2}s^{T} M(q)s.\)

Therefore,

$$ \begin{aligned} \dot{V}_{2} & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e{}_{2} + \frac{1}{2}\left( {\dot{s}^{T} M(q)s + s^{T} \dot{M}(q)s + s^{T} M(q)\dot{s}} \right) \\ & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} + s^{T} M(q)[\textit{\"{e}}{}_{1} + \alpha \dot{e}_{1} - \dot{p}(t)(\dot{e}(0) + \alpha e(0))] + \frac{1}{2}s^{T} \dot{M}(q)s \\ & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} + s^{T} \{ M(q)[M^{ - 1} (q)(u - C(\dot{q},q)\dot{q} - F(q,\dot{q},\textit{\"{q}}) \\ & \quad - G(q)) - \textit{\"{q}}_{r} + \alpha \dot{e} - \dot{p}(t)(\dot{e}(0) + \alpha e(0)]\} + \frac{1}{2}s^{T} \dot{M}(q)s \\ & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} + s^{T} [u - C(\dot{q},q)\dot{q} - F(q,\dot{q},\textit{\"{q}}) - G(q) - M(q)\textit{\"{q}}_{r} \\ & \quad { +\, \alpha M(q)\dot{e} - M(q)\dot{p}(t)(\dot{e}(0) + \alpha e(0)) + \frac{1}{2}\dot{M}(q)s}] \\ \end{aligned} $$

So the controller is designed as u.

Theorem 1

Control Law for system (2.1) exists u = u 1 + u 2 + u 3 meet the condition of reaching slide mode, ensures system stability.

$$ u_{1} = M(q)\textit{\"{q}}_{r} + C(\dot{q},q)\dot{q} + F(q,\dot{q},\textit{\"{q}}) + G(q) - M(q)\alpha \dot{e} + M(q)\dot{p}(t)(\dot{e}(0) $$
(3.8)
$$ u_{2} = - M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|} $$
(3.9)
$$ u_{3} = - \frac{s}{{\left\| s \right\|^{2} }}(e_{1}^{T} e_{2} ) $$
(3.10)

where \( K > \eta + \left\| {F(q,\dot{q},\textit{\"{q}})} \right\|,\;\eta > 0 \) is any small constant.

Proof

Select the Lyapunov function as: \( V = V_{1} + \frac{1}{2}s^{T} M(q)s \)

We take the derivatives of both sides and get

$$ \begin{aligned} \dot{V} & = \dot{V}_{1} + \dot{s}M(q)s^{T} + \frac{1}{2}s^{T} \dot{M}(q)s = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} \\ & \quad + \dot{s}M(q)s^{T} + \frac{1}{2}s^{T} \dot{M}(q)s \\ & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} + s^{T} \left\{ {M(q)} \right.[M^{ - 1} (q)(u - C(\dot{q},q)\dot{q} - F(q,\dot{q},\textit{\"{q}}) \\ & \quad - G(q)) - \textit{\"{q}}_{r} + \alpha \dot{e} - \dot{p}(t)(\dot{e}(0) + \alpha e(0)] + \frac{1}{2}\dot{M}(q)\left. s \right\} \\ \end{aligned} $$

Plug the control law u in the above formula. Therefore, we have:

$$ \begin{aligned} \dot{V} & = - \lambda_{1} e_{1}^{T} e_{1} + e_{1}^{T} e_{2} - s^{T} \left( {M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|} - \frac{s}{{\left\| s \right\|^{2} }}\left( {e_{1}^{T} e_{2} } \right)} \right) \\ & = - \lambda_{1} e_{1}^{T} e_{1} - s^{T} M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|} \le - \lambda_{1} e_{1}^{T} e_{1} - M(q)\left\| {M^{ - 1} (q)} \right\|K\left\| s \right\| \le 0 \\ \end{aligned} $$

The above proof can prove that the system is stable and it completes the proof.

The controller u can accurately track the trajectory, but the chattering still exists. The chattering will not only reduce the accuracy of the control, increasing energy consumption, but also make it easy to stimulate the unmodeled characteristics of the system, making the system shock or instable.

3.2 Global Fuzzy Sliding Mode Controller Design

Consider a fuzzy system with m input, 1 output, and n IF-THEN fuzzy rules. If the fuzzy system uses standard rules library, product inference, singleton fuzzifier, and center average defuzzifier, its mathematical expressions of input and output is:

$$ h(x|\theta ) = \frac{{\sum\nolimits_{i = 1}^{n} {\theta_{i} \left( {\prod\limits_{j = 1}^{m} {\mu_{{A_{j}^{i} }} } (x_{j} )} \right)} }}{{\sum\nolimits_{i = 1}^{n} {\left( {\prod\limits_{j = 1}^{m} {\mu_{{A_{j}^{i} }} } (x_{j} )} \right)} }} = \theta^{T} \xi (x) $$

where \( x = [x_{ 1} , \;x_{ 2} ,\; \ldots ,\; x_{m} ]^{T} \) is the fuzzy system input, h(x|θ) is the fuzzy control output. \( \xi (x) = [\xi^{1} (x),\;\xi^{2} (x),\; \ldots \;\xi^{n} (x)]^{T} \in R^{n} \) is the antecedent function vector. Where \( \xi^{i} (x) = \frac{{\prod\nolimits_{j = 1}^{m} {\mu_{{A_{j}^{i} }} } (x_{j} )}}{{\sum\nolimits_{i = 1}^{n} {\left( {\prod\nolimits_{j = 1}^{m} {\mu_{{A_{j}^{i} }} (x_{j} )} } \right)} }} \)

The controller is design as:

$$ u = u_{1} + u_{2} + u_{4} $$
(3.11)

where, u 1 and u 2 are shown in Eqs. (3.8) and (3.9), and

$$ u_{4} = \hat{F}(q,\dot{q},\textit{\"{q}}\left| \theta \right.) - K_{D} s - W\;\text{sgn} (s) $$
(3.12)

Fuzzy system \( \hat{F}(q,\dot{q},\textit{\"{q}}\left| \theta \right.) \) is adopted to approximate to \( F(q,\dot{q},\textit{\"{q}}) \), where \( W = diag\;\left[ {w_{{m_{1} }} } \right.,w_{{m_{2} }} ,\left. { \ldots w_{{m_{n} }} } \right],w_{{m_{n} }} \ge \left| {\omega_{i} } \right|\;K_{D} = diag\left( {K_{i} } \right), \;K_{i} > 0, \;i = 1, 2\ldots , n \)

$$ \hat{F}(q,\dot{q},\textit{\"{q}}|\theta ) = \left[ {\begin{array}{*{20}c} {\hat{F}_{1} (q,\dot{q},\textit{\"{q}}|\theta_{1} )} \\ {\hat{F}_{2} (q,\dot{q},\textit{\"{q}}|\theta_{2} )} \\ \vdots \\ {\hat{F}_{n} (q,\dot{q},\textit{\"{q}}|\theta_{n} )} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\theta_{1}^{T} \xi (q,\dot{q},\textit{\"{q}})} \\ {\theta_{2}^{T} \xi (q,\dot{q},\textit{\"{q}})} \\ \vdots \\ {\theta_{n}^{T} \xi (q,\dot{q},\textit{\"{q}})} \\ \end{array} } \right] $$

The adaptive rule is

$$ \dot{\theta }_{i} = - \frac{1}{{r_{i} }}s_{i} \xi (q,\dot{q},\textit{\"{q}}) $$
(3.13)

The fuzzy approximating error is

$$ \omega = F(q,\dot{q},\textit{\"{q}}) - \hat{F}(q,\dot{q},\textit{\"{q}}\left| {\theta^{*} } \right.) $$
(3.14)

Fuzzy control rules are shown in Table 1, where {PB, PM, PS, ZO, NS, NM, NB} stand for {positive big, positive medium, positive small, zero, negative small, negative medium, negative big}, respectively.

Table 1 Fuzzy control rule

Set fuzzy control rules based on the sliding mode conditions. \( s_{i} \dot{s}_{i} \) represents a joint i fuzzy systems approximation error. When the fuzzy system reaches the approach target, \( s_{i} \dot{s}_{i} \) will be zero.

Theorem 2

Exists controller (3.11) makes the system (2.1) stable and can reach the sliding surface within a limited time and can along the sliding surface in finite time to reach equilibrium.

Proof

Seen by the Lyapunov function stability theory, when \( \dot{V} < 0 \), the system is stable.

For the system (2.1), \( \tilde{\theta }_{i} = \theta_{i} - \theta_{i}^{*} \) is the error between fuzzy controller parameters and optimal parameters.

Select the Lyapunov function as:

$$ V = \frac{1}{2}s^{T} M(q)s + \frac{1}{2}\sum\limits_{i = 1}^{n} {\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \tilde{\theta }_{i} } $$
(3.15)

Both sides of the derivative can be obtained:

$$ \begin{aligned} \dot{V} & = s^{T} \left[ {u - C(\dot{q},q)\dot{q} - F(q,\dot{q},\textit{\"{q}}) - G(q)} \right. - M(q)\textit{\"{q}}_{r} + \alpha M(q)\dot{e} - M(q)\dot{p}(t)(\dot{e}(0) \\ & \quad + \alpha e(0) + \left. {\frac{1}{2}\dot{M}(q)s} \right] + \sum\limits_{i = 1}^{n} {\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \dot{\tilde{\theta }}_{i} } \\ \end{aligned} $$

The control law is plugged in the equation. Therefore, we have:

$$ \begin{aligned} \dot{V} & = - s^{T} \left( {K_{D} s + W\text{sgn} (s) + F(q,\dot{q},\textit{\"{q}}) - } \right.\hat{F}(q,\dot{q},\textit{\"{q}}\left| \theta \right.) \\ & \quad \left. { + M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|}} \right) + \sum\limits_{i = 1}^{n} {\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \dot{\tilde{\theta }}_{i} } \\ & = - s^{T} \left( {F(q,\dot{q},\textit{\"{q}}) - \hat{F}(q,\dot{q},\textit{\"{q}}\left| \theta \right.)} \right. + \hat{F}\left( {q,\dot{q},\textit{\"{q}}\left| {\theta^{*} } \right.} \right) - \hat{F}\left( {q,\dot{q},\textit{\"{q}}\left| {\theta^{*} } \right.} \right) \\ & \quad \left. { + K_{D} s + W\text{sgn} (s) + M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|}} \right) + \sum\limits_{i = 1}^{n} {\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \dot{\tilde{\theta }}_{i} } \\ & = - s^{T} \left( \tilde{\theta }_{T} \xi (q,\dot{q},\textit{\"{q}}) + \omega + K_{D} s + W\text{sgn} (s) + M(q)\left\| {M^{ - 1} (q)} \right\|K\frac{s}{\left\| s \right\|}\right) \\ & \quad + \sum\limits_{i = 1}^{n} {\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \dot{\tilde{\theta }}_{i} } \le - s^{T} \omega - s^{T} K_{D} s - W\left\| s \right\| - M(q)K\left\| s \right\|\left\| {M^{ - 1} (q)} \right\| \\ & \quad + \sum\limits_{i = 1}^{n} {(\frac{1}{{r_{i} }}\tilde{\theta }_{i}^{T} \dot{\tilde{\theta }}_{i} - s_{i} } \tilde{\theta }_{T} \xi (q,\dot{q},\textit{\"{q}})) \\ \end{aligned} $$

Plug the formula (3.13) in the above equation. Therefore, we have:

$$ \dot{V} \le - s^{T} K_{D} s - s^{T} \omega - W\left\| s \right\| - M(q)\left\| {M^{ - 1} (q)} \right\|K\left\| s \right\| \le 0 $$

So the fuzzy sliding mode control system is stable and that completes the proof.

4 System Simulation

Consider two joints of robot dynamics model of MIMO system [8]:

$$ M(q)\textit{\"{q}} + C(q,\dot{q})\dot{q} + G(q) + F(q,\dot{q},\textit{\"{q}}) = u . $$

where\( \begin{array}{*{20}l} {M(q) = \left[ {\begin{array}{*{20}c} {0.1 + 0.01\cos (q_{2} )} & {0.01\sin (q_{2} )} \\ {0.01\sin (q_{2} )} & {0.1} \\ \end{array} } \right]} \hfill & {C(q,\dot{q}) = \left[ {\begin{array}{*{20}c} { - 0.005\sin (q_{2} )\dot{q}_{2} } & {0.005\cos (q_{2} )\dot{q}_{2} } \\ {0.005\cos (q_{1} )\dot{q}_{2} } & 0 \\ \end{array} } \right]} \hfill \\ {G(q) = \left[ {\begin{array}{*{20}c} {0.01g\cos (q_{1} + q_{2} )} \\ {0.01g\cos (q_{1} + q_{2} )} \\ \end{array} } \right]} \hfill & {F(q,\dot{q},\textit{\"{q}}) = \left[ {\begin{array}{*{20}c} {0.1\dot{q}_{1} + 0.05\sin (\dot{q}_{1} )} \\ {0.1\dot{q}_{2} + 0.05\sin (\dot{q}_{2} )} \\ \end{array} } \right]\quad g = 9. 8} \hfill \\ \end{array} \)

Let the initial state of the system\( X_{0} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ \end{array} } \right] \). Figures 1 and 2 stand for the simulation results of joint trajectory tracking and control input of the global sliding mode control law, respectively. Figures 3 and 4 stand for the simulation results of joint trajectory tracking and control input of the global fuzzy sliding mode control law, respectively. The expected trajectory is q 1 = cos (πt) and q 2 = sin (πt).

Fig. 1
figure 1

Global sliding mode control law for position tracking of joint 1 and 2

Fig. 2
figure 2

Global sliding mode control law for joint 1 and 2

Fig. 3
figure 3

Global fuzzy sliding mode control law for position tracking of joint 1 and 2

Fig. 4
figure 4

Global fuzzy sliding mode control law for joint 1 and 2

In the simulation diagram, we can see that the backstepping fuzzy sliding mode control is more accurate than the backstepping sliding mode in tracking joint angular displacement performance. The backstepping fuzzy sliding mode control has better control effect on the elimination of chattering.

5 Conclusion

In this paper, we aimed at the multi-joint robot system, designed the backstepping global fuzzy sliding control, constructed Lyapunov function, and proved the stability of control system. Fuzzy controller is designed to achieve relatively precise automatic trajectory tracking and chattering weakening. However,the chattering situation still exists, and the control law needs to be improved.