## 2 Methods
### Principles of the FMT* Algorithm  
The FMT algorithm searches for the optimal path by constructing a search tree. Firstly, a certain number of path points are randomly sampled from the global exploration area. Three sets are created to classify the path points: the \(V_{unvisited}\) set consists of path points that have not been added to the tree, the \(V_{open}\) set consists of path points that have been  
Figure 1: The workflow of improving the FMT algorithm is shown in the figure, where the blue dots represent the starting point of the robotic arm path planning, and the red dots represent the endpoint of the path planning. connected to the tree and need to be expanded, and the V\({}_{close}\) set consists of path points that have been added to the tree and cannot be expanded. One iteration of the algorithm is depicted in Figure 2. After the initial point \(x_{init}\) is expanded in the first round, it is moved from the \(V_{open}\) set to the \(V_{close}\) set. In the subsequent steps, a point \(z\) is selected from the \(V_{open}\) set. Within its connection radius, candidate path points (e.g., point \(x\)) are identified. All points in the \(V_{open}\) set that fall within the connection radius of the candidate path point \(x\) are then connected. The algorithm calculates the cost of each candidate connection and selects the minimum cost collision-free path. The newly added point is then classified into the \(V_{open}\), \(V_{close}\), or \(V_{unvisited}\) set, and the iteration is completed. FMT* enhances the limitations of RRT* and PRM* by combining their features. Like RRT*, FMT* utilizes a search tree for path exploration. However, instead of simply sampling and connecting a path point to the nearest node, FMT* incorporates a cost calculation process to ensure higher-quality paths. In contrast, both FMT* and PRM* involve sampling a certain number of paths in space. However, PRM* requires constructing a complete path graph and searching for the optimal path within it, which demands substantial computational resources. During the process of connecting path points, the FMT* algorithm relies on a loss function to evaluate the quality of the path and selects the path point with the minimum loss to expand the search tree. This process adopts the idea of dynamic programming and follows the following state transition equation:  
\[c(x)=\min\{c(y)+\text{Cost}(y,x)\}\text{ where }\|y-x\|<r_{n} \tag{1}\]  
In Equation (1), \(y\in V_{open}\), where \(y\) is a point that has been connected on the search tree, \(x\in V_{unvisited}\), where \(x\) is a candidate path point within a radius \(r_{n}\) of \(y\). \(c(x)\) represents the lowest cost from the point \(x\) to the root node, and \(c(y)\) represents the cost from node \(y\) to the root node. \(Cost(y,x)\) is the cost from node \(y\) to node \(x\), and the standard FMT*  
Figure 2: Working principle of the FMT* algorithm. algorithm uses the Euclidean distance from a node to the root node as the cost function for path expansion. The pseudocode for the standard FMT* is listed in Algorithm 2. The initialization phase of the standard FMT* starts by resetting the flag (lines 2-3), followed by generating a set of points using random sampling in the sampling space \(X_{free}\) (line 4). Subsequently, a search tree \(T\) is initialized with the start point and the set of points (line 5). Set \(X_{init}\) as the initial frontier point \(z\) (line 6). During the path expansion phase of the standard FMT*, if the conditions for continuing path expansion are met, the Expand function is used to iteratively generate the search tree in the search space, with the initial expansion connection radius set to R1, and only using path length as its loss function. If enough feasible paths are found, the path search is deemed successful, and the search tree \(T\) and the path set \(\pi\) are returned as results; otherwise, an empty set is returned and the program terminates (lines 7-15).