1 Introduction

Automatic guided vehicle is a kind of transport vehicle which can travel along the specified path and has the functions of safety protection and various load transfer. It is widely used in industry, military, automatic storage and other fields and has the advantages of improving production efficiency, saving labor cost, improving production safety and so on. It is the key performance index of AGV system to complete the trajectory tracking task accurately and efficiently, and it is also one of the research hotspots of AGV system.

Because of the incompleteness of AGV and the smooth stabilization condition of Brockett, the tracking and pose (position, direction) point stabilization control of AGV become the difficulty of AGV trajectory tracking. The complex nonlinear system is decomposed into several subsystems by the synthetic backstepping method. By using the stability controller of the subsystem, the change of state coordinate (virtual control quantity) is connected with the stabilization function of a known Lyapunov function, and the system controller is obtained by integral backstepping and the algorithm is gradually modified.

In this paper, considering the effectiveness of the trajectory control method, the realizability of the controller, and the fact that Lyapunov theory does not require accurate mathematical model, aiming at the AGV kinematics model, the Lyapunov theory is used to construct the AGV control law satisfying the conditions, and the simulation results show the effectiveness and feasibility of the controller.

The rest of this paper is organized as follows. Section 2 shows the methods in trajectory tracking control of AGV. Section 3 discusses the related work of kinematic model and tracking problem. Section 4 designs trajectory tracking control of AGV based on time-varying state feedback. Section 5 shows the simulation experimental results, and Sect. 6 concludes the paper with summary and future research directions.

2 Related work

For differential AGV, Luo et al. proposed a fuzzy PID algorithm based on the optimal deviation path [1], which can correct the tracking accuracy of 3.2 mm and the lateral deviation within 5 mm, but the acquisition method of position and attitude deviation affects the robustness of the system. Al-khatib et al. used extended Kalman algorithm and proved that all the fused positioning information is more accurate by comparing the experimental results [2]. Yang et al. used model predictive control method to build dynamic trajectory planning model, which can easily meet various physical constraints, solve the problem of limited computing power of processor, and improve the robustness of closed-loop tracking system [3]. Cui et al. proposed a tracking controller for longitudinal and lateral sliding of tracked robot, which uses a lossless Kalman filter with low pass to filter the sliding error [4]. Senadheera et al. only used the response torque observer to obtain the rolling resistance moment of different terrain to calculate the slip rate and other surface observation values, so as to estimate the terrain [5]. Mazulina et al. used ultrasonic sensors, gyroscopes and computer vision to evaluate the moving surface and then decided whether to bypass the area [6]. Dr. Zheng et al. proposed a fuzzy self-tuning PD (proportional derivative) regulator to dynamically tracking AGV trajectory, but it needs to greatly reduce the speed when turning [7].

Ibari et al. designed an inversion controller based on Lyapunov stability theory to realize AGV trajectory tracking with single steering wheel, which ensured the stability of tracking error [8]. Xiong Zhonggang et al. proposed an intelligent path control method based on immune fuzzy PID, which realized the track tracking of line and curve of small agricultural machinery in complex environment [9]. Hemami analyzed the relationship between the front and rear steering wheel angles and proposed a vehicle trajectory tracking scheme at low speed [10]. Yuan et al. designed a trajectory tracking controller for a tractor with dual steering wheel semi-trailer. In fast path tracking, AGV may deviate greatly due to untimely adjustment [11]. Pandu et al. proposed a backstepping trajectory tracking controller to track a given trajectory [12]. Nguyen et al. designed a sliding mode dynamic controller to make the speed of AGV converge to the speed control input and realize AGV tracking at constant speed [13]. Chai et al. set up a system model to optimize the control variables and select the algorithm of the best control behavior [14]. Pacheco et al. compared MPC trajectory tracking controller with PID trajectory tracking controller, the results show that MPC controller has better tracking effect [15]. Yin et al. proposed a piecewise path control method combining neural dynamics, energy-saving tracking and sliding mode adaptive control, but this method is very sensitive to parameter selection [16].

The above literature provides valuable reference for solving the problem of AGV positioning and control. However, considering the effectiveness of the trajectory control method and the reliability of the controller [17, 18], according to the AGV kinematics model, this paper introduces the virtual feedback and adopts the integral back stepping time-varying feedback method to study the AGV trajectory tracking control. The controller design is simpler, and the global stability of the system is proved according to the Lyapunov theory. The simulation results show that the algorithm has the characteristics of fast tracking and stability.

3 Kinematic model and tracking problem description

In order to realize the design of trajectory tracking controller, the error equation and pose error equation should be derived. By setting the control amount of AGV, adjusting the relationship between various parameters and state variables of AGV, the amount suitable for controlling AGV is found.

The AGV model adopts independent dual rear wheel differential drive, the rear wheel adopts two independent motors to drive the two wheels, and the front wheel uses a universal wheel to support and guide the AGV. The universal wheel does not affect the AGV velocity and angular velocity, so it has no effect on the AGV kinematics model, so it is an incomplete system [19]. Figure 1 is the schematic diagram of the AGV motion model. The total degree of freedom of the AGV model is 2, and the incomplete constraint condition is \(\dot{x}\sin \theta - \dot{y}\sin \theta = 0\).

Fig. 1
figure 1

Schematic diagram of AGV motion model

The kinematic model of AGV, as shown in Fig. 1, has two coordinate systems. In the two-dimensional global coordinates \(\left( {X_{1} O_{1} Y_{1} } \right)\), it is composed of three generalized coordinate quantities \(p = \left( {X,Y,\theta } \right)^{T}\) in the coordinate system, and the reference pose is expressed as \(p_{r} = \left( {X_{r} ,Y_{r} ,\theta_{r} } \right)^{T}\). For the direction angle \(\theta\), the direction should be determined, and the counter clockwise direction is the positive direction.

AGV will produce a variety of states in the process of motion. The specific factor of these states is the joint action of its linear velocity and angular velocity. In this process, it can be simply expressed as:

The vector is expressed as \(q = \left( {v,\omega } \right)^{T}\) and the reference velocity is expressed as \(q_{r} = \left( {v_{r} ,\omega_{r} } \right)^{T}\).

The kinematic model of AGV is as follows [20, 21]:

$$\left[ {\begin{array}{*{20}c} {\dot{x}} \\ {\dot{y}} \\ {\dot{\theta }} \\ \end{array} } \right] = \dot{p} = \left[ {\begin{array}{*{20}c} {\cos \theta } \\ {\sin \theta } \\ 0 \\ \end{array} \, \begin{array}{*{20}c} 0 \\ 0 \\ 1 \\ \end{array} } \right]q{ = }Jp$$
(1)

where \(J\) is Jacobian matrix. If the pose error in AGV local coordinate system \(\left( {X_{R} O_{R} Y_{R} } \right)\) is defined as \(p_{e} = \left( {X_{e} ,Y_{e} ,\theta_{e} } \right)^{T}\), the pose error equation is as follows:

$$p_{e} = \left[ {\begin{array}{*{20}c} {x_{e} } \\ {y_{e} } \\ {\theta_{e} } \\ \end{array} } \right]_{{(X_{R} O_{R} Y_{R} )}} = \left[ {\begin{array}{*{20}c} {\cos \theta } \\ { - \sin \theta } \\ 0 \\ \end{array} \, \begin{array}{*{20}c} {\sin \theta } \\ {\cos \theta } \\ 0 \\ \end{array} \, \begin{array}{*{20}c} 0 \\ 0 \\ 1 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {x_{r} - x} \\ {y_{r} - y} \\ {\theta_{r} - \theta } \\ \end{array} } \right]_{{(X_{1} O_{1} Y_{1} )}} { = }R_{e} {(}p_{r} { - }p{)}_{{(X_{1} O_{1} Y_{1} )}} \,$$
(2)

where \(R_{e}\) is the transition matrix. Find the time derivative of Eq. (2) as follows:

$$\dot{p}_{e} = \left[ {\begin{array}{*{20}c} {\dot{x}_{e} } \\ {\dot{y}_{e} } \\ {\dot{\theta }_{e} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\omega y_{e} - v + v_{r} \cos \theta_{e} } \\ { - \omega x_{e} + v_{r} \sin \theta_{e} } \\ {\omega_{r} - \omega } \\ \end{array} } \right]$$
(3)

According to the above series of formulas, it is concluded that the line velocity and angular velocity are the factors that affect the result of the whole formula, so the input control quantity \(q = \left( {v,\omega } \right)^{T}\) is designed, which forms a closed-loop system with the differential equation of formula (3). In this closed-loop system, the value of each error component converges to 0, so that the pose error is globally uniformly bounded, which is the key to study the trajectory tracking problem.

The problem of tracking control based on AGV kinematic model mainly makes the AGV system determine the input control \(v\) and \(\omega\) of AGV under any initial error, so as to tracking the reference pose \(p_{r} = \left( {X_{r} ,Y_{r} ,\theta_{r} } \right)^{T}\) and the reference input \(q = \left( {v,\omega } \right)^{T}\), so that \(\left( {x_{e} ,y_{e} ,\theta_{e} } \right)^{T}\) is bounded and \(\mathop {\lim }\limits_{t \to \infty } \left[ {\left| {x_{e} (t)} \right| + \left| {y_{e} (t)} \right| + \left| {\theta_{e} (t)} \right|} \right] = 0\).

4 Methods

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.

Fig. 2
figure 2

Structure diagram of control system

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)

5 Results and discussion

When AGV works in the automated warehouse, the logistics system needs to plan different motion tracking trajectories according to the different sorting goods and the layout of the warehouse environment. The planned trajectory is generally composed of linear and circular curve, so the AGV uses the designed trajectory tracking controller to track linear and circular curve, respectively, and analyzes the tracking effect.

Multiple observation trajectories are designed by using the trajectory tracking controller mentioned above. Through simulation, the expected trajectory is compared with the actual trajectory, and the effectiveness of the controller is verified. In the process of simulation, the choice of controller parameters is very important, \(k_{1}\), \(k_{2}\) generally change the x-direction error, \(k_{3}\) change the y-direction error, \(k_{4}\) change the angle error. Although in principle, as long as \(k_{1}\), \(k_{2}\), \(k_{3}\) and \(k_{4}\) are all greater than 0, the system convergence stability can be guaranteed, but too large coefficient will make the system motion oscillation larger, too small coefficient will slow down the convergence speed of system error, and the parameters affect each other in the process of error adjustment, so it is necessary to select appropriate parameters [28,29,30].

5.1 Simulation and analysis of linear tracking trajectory

It is necessary to determine the desired trajectory before tracking linear trajectory. Determine the initial pose of the desired trajectory in the coordinate system: \(x_{r} (1) = 1\,{\text{m}}\), \(y_{r} (1) = 1\,{\text{m}}\), \(\theta_{r} = \pi /3\,{\text{rad}}\), determine the linear velocity and angular velocity of the desired trajectory: \(v_{r} (1) = 0.2\,{\text{m/s}}\), \(\omega_{r} (1) = 0.2\,{\text{rad/s}}\). The positions \(x(1) = 1.3\,{\text{m}}\), \(y(1) = 1\,{\text{m}}\) and \(\theta (1) = \pi /2\,{\text{rad}}\) are taken as the initial position and pose of the actual trajectory, and the actual initial linear velocity and angular velocity are \(v = 0.3\,{\text{m/s}}\) and \(\omega (1) = 0.4\,{\text{rad/s}}\). Finally, four constant parameters are determined, in which \(k_{1} = k_{2} = 3\) is used to adjust \(x_{e}\). \(k_{3} = 10\) and \(k_{4} = 4\) is used to adjust \(y_{e}\) and \(\theta_{e}\).

The simulation diagram of linear tracking trajectory is shown in Fig. 3.

Fig. 3
figure 3

Effect diagram of linear tracking trajectory

The pose error curve is shown in Fig. 4.

Fig. 4
figure 4

Pose error curve of linear trajectory

Linear velocity and angular velocity diagram of linear trajectory is shown in Fig. 5.

Fig. 5
figure 5

Linear velocity and angular velocity diagram of linear trajectory

From the tracking trajectory diagram, after a period of time, the actual trajectory coincides with the expected trajectory, and the control effect is achieved; when the pose error curve is less than 4 s, the pose error converges to 0. At this time, the actual trajectory is basically consistent with the expected trajectory, which proves that the closed-loop system has good dynamic characteristics; from Fig. 5, it is found that the linear velocity and angular velocity gradually tend to be stable after reaching the expected trajectory. Through the controller designed above, AGV system can control the linear trajectory and meet the design requirements.

5.2 Simulation and analysis of circular trajectory

First, the desired trajectory of the circular trajectory is determined, and the \(v_{r} = 0.2\,{\text{m/s}}\) and \(\omega_{r} = 0.2\,{\text{rad/s}}\) of the desired trajectory are designed. The desired trajectories \(x_{r} (1) = 1\,{\text{m}}\), \(y_{r} (1) = 0\), \(\theta_{r} = \pi /2\,{\text{rad}}\) are taken as the initial pose, and then the actual pose is set at \(x(1) = 0.5\,{\text{m}}\), \(y(1) = 0.3\,{\text{m}}\), \(\theta (1) = 2\pi /3\,{\text{rad}}\), and the actual initial linear velocity and angular velocity are \(v = 0.3\,{\text{m/s}}\), \(\omega = 0.4\,{\text{rad/s}}\). Then four constant parameters are determined, among which \(k_{1} = k_{2} = 1.4\) is used to adjust \(x_{e}\); \(k_{3} = 25\), \(k_{4} = 5\) is used to adjust \(y_{e}\) and \(\theta_{e}\).

The simulation diagram of track is shown in Fig. 6.

Fig. 6
figure 6

Effect diagram of circular tracking trajectory

The pose error curve is shown in Fig. 7.

Fig. 7
figure 7

Pose error curve of circular trajectory

Linear velocity and angular velocity diagram is shown in Fig. 8. In this control law, from the perspective of the circular trajectory effect diagram, the AGV system can track the circular predetermined trajectory after the desired trajectory is achieved from the set position. From the pose error curve, it can be found that the \(x\), \(y\) pose error curve is close to 0 in about 2S, and the direction angle \(\theta\) is stable in nearly 3S. The effectiveness is verified.

Fig. 8
figure 8

Linear velocity and angular velocity diagram of circular trajectory

From the simulation results, it can be seen that the controller established in this paper can track the linear trajectory and circular trajectory quickly and smoothly, the controller can effectively converge to the desired trajectory, and its error curve tends to 0 after a period of time, which proves that it has strong anti-interference ability. Different controller parameters will affect the stable response time and steady-state error. According to the trajectory changes, different controller parameters need to be selected to achieve better control effect.

6 Conclusions

In this paper, the trajectory tracking control of AGV is studied. The idea of integral backstepping is used to design the virtual feedback variable. At the same time, a time-varying feedback controller is designed with Lyapunov function to ensure the global stability of the system. The structure of the controller is simple and easy to implement.

The parameters selected by the controller are AGV sample vehicle parameters, which shows that the controller has a certain engineering application prospect. Compared with the same kind of controller, AGV can determine the current pose by its initial position and motion speed under any initial error, and adjust pose error of the system to 0 by the controller. The next step is to further optimize the controller, so that it can adjust the controller parameters according to different reference trajectories to achieve better control performance.