# Autonomous Mobile Robot Navigation in Sparse LiDAR Feature Environments
## 3 Design of Trajectory-Tracking System
### Improved Pure Pursuit Algorithm  
In the original Pure Pursuit algorithm, the shorter the forward-looking distance, the higher the trajectory-tracking accuracy. As Equation (6) is adopted, the forward-looking distance \(L_{f}\) is longer when the velocity \(v\) is high; by contrast, \(L_{f}\) is shorter when \(v\) is slow. This leads that the turning time can be predicted when the angular velocity \(\omega\) is large. However, the long forward-looking distance decreases trajectory-tracking accuracy, making it impossible to slow down the turn in time (Figure 6).  
To improve the PP algorithm, this paper adopts a fixed short forward-looking distance to increase the trajectory-tracking ability at any time. Then the proposed method judges the current turn to decelerate it and keeps the angular velocity \(\omega\) as a deceleration basis at a certain level so that the mobile robot can better track the path when the path is more rugged, shown in Figure 7.  
We separate the turning decision strategy into three steps. First, we predict the turning distance using an angle \(a\) between two vectors created from the current robot center to the  
Figure 6: The impact forward-looking distance in trajectory-tracking.  
Figure 7: The turning decision strategy of the proposed improved forward-looking distance tracking. (**a**) Predict Turn: Predicting a front turn or not. (**b**) Turn Now: Making the turn action. (**c**) Rugged Route: Making a turn in the case of rugged route.  
two next forward-look points (shown in Figure 7a). Assume that two vectors \(\left|\overset{\rightharpoonup}{V1}\right|\), \(\left|\overset{\rightharpoonup}{V2}\right|\) of angle \(a\) in the ideal situation (shown in Figure 8) as the following definition:  
\[\left|\overset{\rightharpoonup}{V2}\right|=2\times\left|\overset{\rightharpoonup }{V1}\right| \tag{7}\]  
where \(\left|\overset{\rightharpoonup}{V1}\right|\) is the predicted distance, and the ideal angle \(\alpha\) is \(60^{\lx@math@degree}\). When the ideal situation is encountered, the AGV will decelerate. However, when the route has a radius of gyration \(R\), the angle \(a\) will never reach \(\alpha\) value and the AGV cannot decelerate. Without considering \(R\), the maximum value of \(\alpha\) can be obtained from \(\left|\overset{\rightharpoonup}{V1}\right|\) and \(\left|\overset{\rightharpoonup}{V2}\right|\) as below:  
\[\alpha\leq\cos^{-1}\left(\frac{\left|\overset{\rightharpoonup}{V2}\right|}{ \left|\overset{\rightharpoonup}{V1}\right|}\right) \tag{8}\]  
From Equation (8), we can clearly define the predicted turning distance with the corresponding radius of gyration \(R\):  
\[\cos^{-1}\left(\frac{\left|\overset{\rightharpoonup}{V2}\right|}{\left| \overset{\rightharpoonup}{V1}\right|}\right)>\tan^{-1}\left(\frac{R}{\left| \overset{\rightharpoonup}{V1}\right|}\right) \tag{9}\]  
\[\alpha\leq\cos^{-1}\left(\frac{\left|\overset{\rightharpoonup}{V2}\right|}{ \left|\overset{\rightharpoonup}{V1}\right|}\right)-\tan^{-1}\left(\frac{R}{ \left|\overset{\rightharpoonup}{V1}\right|}\right) \tag{10}\]  
In the following step (shown in Figure 7b), to make a turn action, we define a current turning angle \(b\) between two vectors created from the current robot center to the next and the previous forward-looking points and ensure \(b\leq\beta\) value, where \(\beta=135^{\lx@math@degree}\) in ideal case. When the vehicle is traveling on rugged terrain (shown in Figure 7c), this paper uses \(\gamma=0.1\) (rad/s) as the threshold to indicate that the angular velocity \(\omega\) is too high if exceeding \(\gamma\), helping the mobile robot can increase the tracking accuracy.