## 4 Numerical Study
### Benchmark Algorithms  
* A-star algorithm  
In the A-star algorithm, the overall path planning cost function \(f(n)\) can be defined as  
\[f(n)=g(n)+h(n), \tag{4}\]  
where \(g(n)\) is the actual cost from the start node to node \(n\) and \(h(n)\) is the estimated cost from node \(n\) to the destination. To make the A-star algorithm intelligent, a proper heuristic estimation \(h(n)\) should be selected. In our case of an HDS system, path searching is developed in two-dimensional space, and only 4-direction grid movement is allowed. Therefore, the \(h(n)\) can be heuristically estimated by Manhattan distance as  
\[h(n)=|x_{1}-x_{2}|+|y_{1}-y_{2}|, \tag{5}\]  
where \((x_{1},y_{1})\) and \((x_{2},y_{2})\) are coordinates of two consecutive nodes along the developed path. In this way, we define our A-star as A-star (\(l_{1}\)), where \(l_{1}\) represents the Manhattan distance heuristic estimation. * BFS Algorithm  
Graphically, the BFS (Breadth-First Search) algorithm searches nodes layer by layer, which guarantees the shortest distance from start to destination. All of the explored layers and nodes can be expressed as  
\[ \begin{split} L_{0}=\{s\}\\ L_{i+1}=\{v\in V\backslash\bigcup_{j=0}^{i}L_{j}|\exists u\in L _{i},(u,v)\in E\},\end{split}  \tag{6}\]  
where \(V\) is the set of nodes, \(E\subseteq V\times V\) is the set of edges, \(s\) is the start node, \((u,v)\) is the edge between node \(u\) and \(v\), and \(L_{j}\), \(j=0,\cdots i+1\) are explored layers. Adapting BFS to our mesh-tree grid network, we enhance the original BFS algorithm with the breadth direction weighted method. In our map representations, the depth and breadth directions are defined as the direction along the main track and the sub-tracks, respectively. Because all of the final storage locations are set in sub-tracks, we assign a positive breadth direction weight \(b_{w}\) to enforce BFS searching always toward sub-tracks or final locations. The parameter \(b_{w}\) is given by the cosine distance function as  
\[b_{w}=\frac{d(u,v)\cdot d(u,g)}{\|d(u,v)\|\|d(u,g)\|}, \tag{7}\]  
given \((u,v)\) as the edge between node \(u\) and \(v\) and \((u,g)\) as the edge between node \(u\) and the destination; \(d\) is the direction vector, and \(\|\cdot\|\) is the distance calculation. Then, the explored nodes and layers can be converted into  
\[ \begin{split} L_{0}=\{s\}\\ L_{i+1}=\Big{\{}v\in N_{b_{w}}(u)\backslash\bigcup_{j=0}^{i}L_{j} \Big{|}\exists u\in L_{i},(u,v)\in E\Big{\}},\end{split}  \tag{8}\]  
where \(N_{b_{w}}(u)\) is the traversed nodes around \(u\) according to the breadth direction weight \(b_{w}\). \(b_{w}\) is between \(-1\) and \(1\), and \(b_{w}>0\) encourages the breadth-direction search. After testing with different values of 0.3, 0.5, 0.7, and 0.9, we found that 0.7 returned the fastest searching speed and the least traversed nodes. Therefore, our BFS algorithm is assigned an optimal weight of 0.7 and represented as BFS (\(b_{w}^{w}=0.7\)). * RRT-star Algorithm  
Improved from the conventional RRT algorithm, RRT-star searches the optimal path asymptotically by selecting the optimal parent nodes among the new generated neighbor area and rewiring the route connectivity from this selected parent node. In RRT-star, a new generated node \(x_{\text{new}}\) is calculated via the Steer function  
\[x_{\text{new}}= \begin{cases}x_{\text{nearest}},&\|x_{\text{nearest}}-x_{ \text{rand}}\|\leq\eta\\ x_{\text{rand}}+\eta\frac{x_{\text{nearest}}-x_{\text{rand}}}{\|x_{\text{ nearest}}-x_{\text{rand}}\|},&\text{otherwise}\end{cases} , \tag{9}\]  
where \(x_{\text{rand}}\) is the node randomly sampled from the free space \(\mathcal{X}_{\text{free}}\) (excluding obstacles) and \(x_{\text{nearest}}\) is the nearest node to \(x_{\text{rand}}\). Euclidean distance is adopted, \(\eta\) is the searching step size, and \(\|\cdot\|\) is the distance calculation.