# Target Points Tracking Control for Autonomous Cleaning Vehicle Based on the LSTM Network
## 3 Proposed Trajectory Tracking Control Algorithm
### Trajectory Tracking Control System Description  
The main objective of this study is to design an adaptive controller that can determine the control variables \(\omega\) and v for the autonomous cleaning vehicle to reach the goal points. LSTM network is robust and efficient for non-linear system control, which can make a series of non-linear transformations on the input data, and solve the problems of bad training approximation and generalization as much as possible. The use of deep learning neural network provides possibilities for multiple types of complex function calculations [29; 30]. Since the path points and some process variables during the tracking can be considered as the time sequence data intuitively, the LSTM network can be used for predicting the \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline v/(m/s) & **NB** & **NM** & **NS** & **Z** & **PS** & **PM** & **PB** \\ \hline Z & S & S & SM & SM & SM & S & S \\ PS & S & SM & M & M & M & SM & S \\ PM & S & SM & M & ML & M & SM & S \\ PB & S & M & ML & L & ML & M & S \\ PL & SM & ML & L & L & L & ML & SM \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Foresight distance fuzzy control lookup table. Figure 3: Selection of preview point. control variables of the cleaning vehicle. The overall structure of the target points tracking algorithm is shown in Figure 4.  
Deep learning requires a large set of samples in order to converge to a solution without overfitting and to be well extended to the previously unseen samples. The training samples are collected from our own field and simulation experiments. In the field experiment, the cleaning vehicle should be pushed to create a pre-defined path firstly. Besides, the laser visual sensor and ultrasonic sensors can perceive and record the characteristics of the pre-defined path such as the passing path points (Containing noise points, which are the induction error of sensors), and the surrounding environment such as the location of walls. Then the traditional and improved pure pursuit [28] algorithms are separately used to obtain the sample velocity and sample yaw rate at each actual position of vehicle passed. The real difference between two methods lies in their foresight distance. Traditional pure pursuit algorithm with constant foresight distance performs well in the straight line path points, while the improved algorithm with dynamic foresight distance has good performance at the turning due to its linear function of vehicle velocity. Finally, when the detected wall is within 0.5 m around the vehicle, the vehicle velocity needs to be readjusted based on the aforementioned velocity by the following formula. \[v_{final}=v_{t}*\left(\frac{d}{0.5}\right) \tag{12}\]  
The \(v_{t}\) is the speed obtained by the experimental tracking controller. The \(d\) is the minimum distance from the vehicle nose to the wall, and \(\frac{d}{0.5}\) is equivalent to a decay factor that can reduce the speed of the vehicle at the appropriate times to ensure safety. The resulting velocity \(v_{final}\) and yaw rate values will be fed into the neural network as the sample data (label). The simulation platform can extract more representative data through simulating cleaning routes in different environments by human intervention. Ultimately, 100 maps are analyzed, each with 500 different pre-defined path, for a total of 50,000 paths and about 100,000,000 path points, including diverse turning and straight path segments. About 20,000,000 groups of velocity and yaw rate sample data are obtained under two tracking algorithm. At time t, the system supposes that the cleaning vehicle can determine the global coordinates of the target point \((x_{target},y_{target})\) in the pre-defined path detected by the sensors (e.g., laser sensor and ultrasonic sensors). Besides, it can get its owner accurate position \((x_{c},y_{c})\) based on the merge of gyroscopes, odometers, and amcl algorithm.