The structure of AGV trajectory tracking control system is shown in Fig. 2. After obtaining the given trajectory sent by the operator in the starting area, AGV first calculates the error between the actual pose \(p_{r}\) and the given pose \(p\) of AGV in the current global coordinate system. In order to facilitate the analysis, the coordinate transformation matrix of AGV is used to transform the pose error of global coordinate system to local coordinate system, and then the control quantity of AGV car is calculated according to a certain control mode, that is, the given speed and angular speed. At the same time, the given speed of the left and right driving wheels is obtained from the given speed and angular speed and based on the kinematics model of AGV, and then sent to the driving system of AGV, so as to complete the tracking of the given trajectory.
Backstepping method is a kind of stability design theory for nonlinear systems. This method decomposes a complex nonlinear system into several subsystems. Firstly, the stability controller of the most basic subsystem is designed. The change of state coordinate (virtual control quantity) of each subsystem is connected with the stabilization function of a virtual control system with known Lyapunov function, and then the integrator is used to push back the controller. Through the gradual modification of the algorithm, a stable controller is designed, and finally the actual control law of the system is obtained. Because the predetermined state trajectory has nothing to do with the parameters and disturbance of the controlled object and can be designed accordingly, backstepping method often has the advantages of fast response, insensitive to disturbance and parameter changes.
This paper adopts the idea of back stepping algorithm and introduces it into the design of global tracking controller [22,23,24]. Here, a virtual feedback variable is constructed according to \(x_{e}\) in formula (2) above:
$$\overline{x}_{e} { = }x_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e}$$
(4)
In which, \(k_{1}\) is a constant greater than 0. When \(\omega { = }0\) in the formula, \(k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e} { = }0\). The first derivative of \(k_{1} \sin \left( {\arctan \left( \omega \right)} \right)\) to \(\omega\) is bounded.
According to the component equation of \(\dot{y}_{e}\) in Eq. (2), if the error component can be controlled as:
$$\mathop {\lim }\limits_{t \to \infty } x_{e} = k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e}$$
(5)
And \(\mathop {\lim }\limits_{t \to \infty } \theta_{e} = 0\), then there is:
$$\mathop {\lim }\limits_{t \to \infty } \dot{y}_{e} = - k_{1} \omega \sin \left( {\arctan \left( \omega \right)} \right)y_{e}$$
(6)
The time derivative of Lyapunov function component \(V_{y} = \frac{1}{2}y_{e}^{2}\) is calculated to get \(\dot{V}_{y} = y_{e} \dot{y}_{e}\). And because \(\omega \sin \left( {\arctan \left( \omega \right)} \right) \ge 0\), if and only if \(\omega { = }0\), the equal sign holds.
According to the Barbalat lemma [13], when \(t \to \infty\), \(y_{e}\) is infinitely close to 0, and it is also determined that \(y_{e}\) is an inter-controlled variable of the whole system.
To sum up, the design of the control law needs the regulation of linear velocity and angular velocity, that is, by finding the input control quantity \(q = \left( {v,\omega } \right)^{T}\), the control law can make:
$$\mathop {\lim }\limits_{t \to \infty } x_{e} = k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e} ,\,\mathop {\lim }\limits_{t \to \infty } \theta_{e} { = }0$$
(7)
According to the above idea, the Lyapunov scalar function is constructed, where \(k_{3}\) is a constant greater than 0. It is obvious that the function \(V \ge 0\), if and only if \(\left( {\overline{x}_{e} ,y_{e} ,\theta_{e} } \right)^{T} = 0\), \(V{ = }0\).
$$V = \frac{1}{2}\overline{x}_{e}^{2} + \frac{1}{2}\overline{y}_{e}^{2} + \frac{2}{{k_{3} }}\left( {1 - \cos \left( {\frac{{\theta_{e} }}{2}} \right)} \right)$$
(8)
In the whole model, it can be seen that \(\theta_{e}\) is the actual angle error. In this system, the angle from the image cannot be greater than 2 π, and \(\theta_{e} \in [0,2\pi )\) is defined without considering the periodicity of the system angle [25,26,27].
Equation (4) of virtual feedback variable \(\overline{x}_{e}\) is transformed into:
$$\dot{\overline{x}}_{e} { = }\dot{x}_{e} - k_{1} \cos \left( {\arctan \left( \omega \right)} \right)\frac{1}{{1 + \omega^{2} }}\dot{\omega }y_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)\dot{y}_{e}$$
(9)
The time derivative of Lyapunov function is obtained, and the control law of closed-loop system is determined by the above formulas:
$$\begin{aligned} \dot{V} & = \overline{x}_{e} \dot{\overline{x}}_{e} + y_{e} \dot{y}_{e} + \frac{1}{{k_{3} }}\sin \left( {\frac{{\theta_{e} }}{2}} \right)\dot{\theta }_{e} \\ & = \overline{x}_{e} \left[ {\dot{x}_{e} - k_{1} \cos \left( {\arctan \left( \omega \right)} \right)\frac{1}{{1 + \omega^{2} }}\dot{\omega }y_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)\dot{y}_{e} } \right] \\ & \quad + y_{e} \left( { - \omega x_{e} + v_{r} \sin \theta_{e} } \right) + \frac{1}{{k_{3} }}\sin \left( {\frac{{\theta_{e} }}{2}} \right)\left( {\omega_{r} - \omega } \right) \\ & = \overline{x}_{e} \left[ {\omega y_{e} - v + v_{r} \cos \theta_{e} - k_{1} \cos \left( {\arctan \left( \omega \right)} \right)\frac{1}{{1 + \omega^{2} }}\dot{\omega }y_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)\dot{y}_{e} } \right] \\ & \quad + y_{e} \left[ { - \omega \left( {\overline{x}_{e} + k_{1} \sin \left( {\arctan \omega } \right)y_{e} } \right) + v_{r} \sin \theta_{e} } \right] + \frac{1}{{k_{3} }}\sin \left( {\frac{{\theta_{e} }}{2}} \right)\left( {\omega_{r} - \omega } \right) \\ & = \overline{x}_{e} \left[ { - v + v_{r} \cos \theta_{e} - k_{1} \cos \left( {\arctan \left( \omega \right)} \right)\frac{1}{{1 + \omega^{2} }}\dot{\omega }y_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)\left( { - \omega x_{e} + v_{r} \sin \theta_{e} } \right)} \right] \\ & \quad - k_{1} y_{e}^{2} \omega \sin \left( {\arctan \left( \omega \right)} \right) + \frac{1}{{k_{3} }}\sin \left( {\frac{{\theta_{e} }}{2}} \right)\left( {\omega_{r} - \omega + 2k_{3} y_{e} v_{r} \cos \left( {\frac{{\theta_{e} }}{2}} \right)} \right) \\ \end{aligned}$$
(10)
Let \(\forall t \in [0, + \infty ),v_{r} ,\omega_{r} ,\dot{v}_{r} ,\dot{\omega }_{r}\) be bounded and \(v_{r} ,\omega_{r}\) not converge to 0 at the same time, the control law of the system is taken as follows:
$$\left\{ {\begin{array}{*{20}l} {v = v_{r} \cos \theta_{e} + k_{1} \sin \left[ {\arctan \left( \omega \right)\omega x_{e} - k_{1} v_{r} \sin \left( {\arctan \left( \omega \right)} \right)\sin \theta_{e} - k_{1} \cos \left( {\arctan \left( \omega \right)} \right)} \right]\frac{1}{{1 + \omega^{2} }}\dot{\omega }\dot{y}_{e} } \hfill \\ { + k_{2} \left[ {x_{e} - k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e} } \right]} \hfill \\ {\omega = \omega_{r} + 2k_{3} y_{e} v_{r} \cos \left( {\frac{{\theta_{e} }}{2}} \right) + k_{4} \sin \left( {\frac{{\theta_{e} }}{2}} \right)} \hfill \\ \end{array} } \right.$$
(11)
where \(k_{2}\) and \(k_{4}\) are constants greater than 0 and have the following equation:
$$\dot{\omega }{ = }\dot{\omega }_{r} + 2k_{3} \left( {\dot{y}_{e} v_{r} + y_{e} \dot{v}_{r} } \right)\cos \left( {\frac{{\theta_{e} }}{2}} \right) - k_{3} v_{r} y_{e} \sin \left( {\frac{{\theta_{e} }}{2}} \right)\dot{\theta }_{e} + \frac{1}{2}k_{4} \cos \left( {\frac{{\theta_{e} }}{2}} \right)\dot{\theta }_{e}$$
(12)
$${\dot{\text{y}}}_{e} { = - }\left[ {\omega_{r} + 2k_{3} y_{e} v_{r} \cos \left( {\frac{{\theta_{e} }}{2}} \right) + k_{4} \sin \left( {\frac{{\theta_{e} }}{2}} \right)} \right]\dot{x}_{e} + v_{r} \sin \theta_{e}$$
(13)
$$\dot{\theta }_{e} = - 2k_{3} y_{e} v_{r} \cos \left( {\frac{{\theta_{e} }}{2}} \right) - k_{4} \sin \left( {\frac{{\theta_{e} }}{2}} \right)$$
(14)
Substituting formula (11) into (10), it is concluded that:
$$\dot{V} = - k_{2} \overline{x}_{e}^{2} - k_{1} y_{e}^{2} \omega \sin \left( {\arctan \left( \omega \right)} \right) - \frac{{k_{4} }}{{k_{3} }}\sin^{2} \left( {\frac{{\theta_{e} }}{2}} \right)$$
(15)
Because \(\forall t \in [0, + \infty ),v_{r} ,\omega_{r} ,\dot{v}_{r} ,\dot{\omega }_{r}\) is bounded, \(\forall t \in [0, + \infty ),x_{e} ,y_{e} ,\theta_{e}\) is uniformly bounded. Because \(k_{1}\), \(k_{2}\), \(k_{3}\) and \(k_{4}\) are constants greater than 0, and \(\omega \sin \left( {\arcsin \left( \omega \right)} \right) \ge 0\), \(\dot{V} \le 0\). From the above conclusion, it can be concluded that \(V\) is a positive definite continuous and bounded differentiable function, and \(\dot{V}\) is a semi negative definite uniformly continuous function. It is proved that the system is asymptotically stable.
According to Barbalat lemma [13], when \(t \to \infty\), \(\dot{V} \to 0\), then \(\overline{x}_{e}^{2}\), \(y_{e}^{2} \omega \sin \left( {\arctan \left( \omega \right)} \right)\) and \(\sin^{2} \left( {\frac{{\theta_{e} }}{2}} \right)\) converge to 0, respectively.
It can be obtained from \(\mathop {\lim }\limits_{t \to \infty } \overline{x}_{e}^{2} { = }0\):
$$\mathop {\lim }\limits_{t \to \infty } x_{e} = k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e}$$
(16)
When \(t \to \infty\), \(v_{r}\) and \(\omega_{r}\) do not converge to 0 at the same time, so \(\omega\) does not converge to 0. From \(\mathop {\lim }\limits_{t \to \infty } y_{e}^{2} \omega \sin \left( {\arctan \left( \omega \right)} \right) = 0\). You know, \(\mathop {\lim }\limits_{t \to \infty } y_{e} = 0\). At the same time, \(\mathop {\lim }\limits_{t \to \infty } x_{e} = k_{1} \sin \left( {\arctan \left( \omega \right)} \right)y_{e}\). So \(\mathop {\lim }\limits_{t \to \infty } x_{e} = 0\). Because \(\mathop {\lim }\limits_{t \to \infty } \sin^{2} \left( {\frac{{\theta_{e} }}{2}} \right) = 0\), so \(\mathop {\lim }\limits_{t \to \infty } \sin^{2} \left( {\frac{{\theta_{e} }}{2}} \right) = 0\).
Through the above series of formula derivation, it can be seen that the pose error of the closed-loop system in this system has the characteristics of global uniform boundedness. Then the pose error of the system is:
$$\mathop {\lim }\limits_{t \to \infty } \left[ {\left| {x_{e} \left( t \right)} \right| + \left| {y_{e} \left( t \right)} \right| + \left| {\theta_{e} \left( t \right)} \right|} \right] = 0$$
(17)