A Homotopy Invariant Based on Convex Dissection Topology and a Distance Optimal Path Planning Algorithm
Jinyuan Liu, Minglei Fu, Andong Liu, Wenan Zhang, and Bo Chen

TL;DR
This paper introduces a new homotopy invariant based on convex dissection topology for 2D path planning, enabling efficient encoding of path classes and an algorithm that actively explores and finds optimal paths within these classes.
Contribution
It develops a novel homotopy invariant for 2D spaces and proposes the CDT-RRT* algorithm that effectively explores homotopy classes for optimal path planning.
Findings
The proposed algorithm performs comparably to state-of-the-art methods.
The homotopy invariant efficiently encodes all path classes.
CDT-RRT* actively explores unknown homotopy classes.
Abstract
The concept of path homotopy has received widely attention in the field of path planning in recent years. In this article, a homotopy invariant based on convex dissection for a two-dimensional bounded Euclidean space is developed, which can efficiently encode all homotopy path classes between any two points. Thereafter, the optimal path planning task consists of two steps: (i) search for the homotopy path class that may contain the optimal path, and (ii) obtain the shortest homotopy path in this class. Furthermore, an optimal path planning algorithm called CDT-RRT* (Rapidly-exploring Random Tree Star based on Convex Division Topology) is proposed. We designed an efficient sampling formula for CDT-RRT*, which gives it a tendency to actively explore unknown homotopy classes, and incorporated the principles of the Elastic Band algorithm to obtain the shortest path in each class. Through a…
| Map Name | Map Image Resolution | Cutlines | Convex Polygons | Time () |
| Cluttered | ||||
| Trap | ||||
| Maze1 | ||||
| Maze2 | ||||
| Floormap | ||||
| Starcraft |
| Algorithm | Time () | |||
| Task 1 | Task 2 | Task 3 | Task 4 | |
| Decoupled | ||||
| Undecoupled | ||||
| Environment | Time () | ||||
| Task 1 | Task 2 | Task 3 | Task 4 | ||
| Maze1 | Reduce Branches | ||||
| No Action | |||||
| Maze2 | Reduce Branches | ||||
| No Action | |||||
| Cluttered | Reduce Branches | ||||
| No Action | |||||
| Environment | Number of Cutlines | ||||
| Task 1 | Task 2 | Task 3 | Task 4 | ||
| Maze1 | Reduce Branches | ||||
| No Action | 83 | ||||
| Maze2 | Reduce Branches | ||||
| No Action | 403 | ||||
| Cluttered | Reduce Branches | ||||
| No Action | |||||
| Environment | when is disabled () | when is enabled () | ||||||
| Task 1 | Task 2 | Task 3 | Task 4 | Task 1 | Task 2 | Task 3 | Task 4 | |
| Cluttered | ||||||||
| Trap | ||||||||
| Maze1 | ||||||||
| Maze2 | ||||||||
| Floormap | ||||||||
| StarCraft | ||||||||
| Criteria | RRT* | PRM* | Informed-RRT* | ABIT* | CDT-RRT* |
| Experiment | Planning time () | Moving time () | Trajectory length () | Homotopy |
| Approximate Shortest Non-Homotopic Paths Task | ||||
| RRT* | ||||
| PRM* | ||||
| CDT-RRT* | ||||
| Narrow Passages Task | ||||
| RRT* | ||||
| PRM* | ||||
| CDT-RRT* | ||||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGroundwater and Watershed Analysis · Automated Road and Building Extraction · Data Management and Algorithms
A Homotopy Invariant Based on Convex Dissection Topology and a Distance Optimal Path Planning Algorithm
Jinyuan Liu, Minglei Fu, Andong Liu, Wenan Zhang, and Bo Chen Manuscript received Month xx, 2xxx; revised Month xx, xxxx; accepted Month x, xxxx. This work was supported by the National Key Research and Development Program of China under Grant No. 2022YFE0121700.Jinyuan Liu, Minglei Fu, Andong Liu, Wenan Zhang, and Bo Chen are with the College of Information Engineering, Zhejiang University of Technology, Hangzhou, 310023, China.Minglei Fu is the corresponding author, and the phone: +86-571-85292552; fax: 86-571-85292552; e-mail: [email protected].
Abstract
The concept of path homotopy has received widely attention in the field of path planning in recent years. In this article, a homotopy invariant based on convex dissection for a two-dimensional bounded Euclidean space is developed, which can efficiently encode all homotopy path classes between any two points. Thereafter, the optimal path planning task consists of two steps: (i) search for the homotopy path class that may contain the optimal path, and (ii) obtain the shortest homotopy path in this class. Furthermore, an optimal path planning algorithm called CDT-RRT* (Rapidly-exploring Random Tree Star based on Convex Division Topology) is proposed. We designed an efficient sampling formula for CDT-RRT*, which gives it a tendency to actively explore unknown homotopy classes, and incorporated the principles of the Elastic Band algorithm to obtain the shortest path in each class. Through a series of experiments, it was determined that the performance of the proposed algorithm is comparable with state-of-the-art path planning algorithms. Hence, the application significance of the developed homotopy invariant in the field of path planning was verified.
Index Terms:
Path Planning, Topology, Path Homotopy, Optimal Distance, Mobile Robots
††publicationid: pubid: 0000–0000/00$00.00 © 2021 IEEE
I Introduction
Path planning, in robotics [1] and autonomous driving [2], aims to determine a continuous trajectory for a robot in an obstacle-free space, connecting the starting and target positions [3, 4]. Path planning algorithms have various applications, including, service robot navigation [5], automatic inspection systems [6], industrial automation [7], autonomous vehicle systems [8], and robotic surgery [9]. Graph-search and sampling-based methods are two popular techniques for path planning in robotics. Graph-search algorithms, such as Dijkstra’s algorithm [10] and A* [11], solve the path planning problems applying graph theories on a discretised state space. These algorithms depend on the space discretisation and the computational cost grows exponentially as the problem scale increases. Sampling-based algorithms, such as Rapidly-exploring Random Tree (RRT) [12] and Probabilistic RoadMap (PRM) [13], avoid the discretisation problems of graph-search techniques by randomly sampling the continuous state space. Furthermore, optimal variants, such as RRT* and PRM* [14], are probabilistically complete and asymptotically optimal; hence, the probability to determine a solution approaches 100% as the number of iterations approaches infinity. However, one of the drawbacks is that they suffer slow convergence to the optimal solution. Research on efficient and stable methods to determine optimal paths has attracted considerable attention in the field of path planning, and calculating the shortest path to the target position is essential for devices with limited energy [15, 16].
To reduce the computation time and memory usage of RRT*, the authors of RRT* suggested a pruning algorithm named Branch-and-Bound [17], which determines the optimal route by periodically removing nodes with a cost higher than the optimal route cost. This method can effectively reduce the computational resource occupation of RRT*; however, it cannot improve the convergence speed of the solution to the optimal solution. The Quick RRT* (Q-RRT*) algorithm in [18] accelerates the convergence of the RRT* algorithm by avoiding small turns through triangular inequalities in a Euclidean space. However, the optimisation effect of Q-RRT* on a path near obstacles is not evident.
Non-uniform sampling of the state space increases the convergence speed. Based on deductions, the sampling probability of some key state spaces can be increased, thus increasing the probability that the optimal route will be sampled. For example, Informed-RRT* considers that the optimal path has a higher probability between the starting point and ending point , thus the sampling probability increases within the hyperellipse, with and as focal points, to improve the convergence speed [19, 20]. The authors of Informed-RRT* also combine Informed-RRT* with algorithms such as A* [11] and Fast Marching Tree* (FMT*) [21]. The resulting algorithm, Batched Informed Tree (BIT*), uses heuristics for all aspects of path cost to prioritise the search for high-quality paths and focus the search on improvements [22]. Such methods guarantee probabilistic completeness and asymptotic optimality; however, they do not guarantee that the search acceleration for the optimal path will be efficient for all cases.
Graph-based path planning methods have been effective in solving road connectivity and fast planning problems. Kloetzer et al. [23] use the connection relationship of cells to determine a collision-free path that the robot can run. The map is decomposed into a set of simple cells, and the adjacency relationships among the cells are computed. Li Z et al. [24] used a concave polygon convex decomposition and artificial bee colony algorithm, which has a high computational efficiency in specifying the optimal path. Path planning methods based on generalised Voronoi diagrams (GVD) have been widely studied recently [25, 26, 27]. The premise of these methods is to use GVD to create heuristic topological maps, to guide the sampling process of RRT and further improve its path planning efficiency. However, these heuristic paths are not inevitably optimal and the GVD initialisation time for complex maps is extensive.
In the abovementioned studies, the planning method for graph-search typically increases the complexity of the graph to determine the optimal path. For the sampling-based planning method, the level of path optimality is proportional to the number of states sampled. However, these two methods significantly increase the time cost and memory usage of the algorithm. Therefore, in this article, we consider the following two questions for distance-optimal path planning: (i) Is it possible to effectively distinguish some similar paths (path homotopy), thus avoiding unproductive time used to determine the same class of paths? (ii) Is there some feature of the path class where the global optimal path is located to avoid wasting time on irrelevant path classes?
Hence, we have developed a study of homotopic path class encoders in two-dimensional (2D) bounded spaces. The contributions of our work can be summarized as follows:
- •
A topological encoder based on convex dissection for a 2D bounded Euclidean space is proposed, which can efficiently encode all homotopy path classes between any two points.
- •
A novel fast distance optimal path planning methods is developed for agents in 2D.
- •
A rigorous proof is provided for the theorems mentioned in the article, which is a guide to the application of the homotopy path class encoder based on convex dissection topology in path planning.
The remainder of this article is organised as follows. The problem formulation and related mathematical definitions are presented in Section II. Section III describes the method of constructing, and the relevant properties, of a homomorphic topological graph. Section IV explains the details of our algorithms. The experimental results are presented and analysed in Section V. Section VI concludes this article.
II Problem Formulation
II-A Mathematical Definitions
Definition 1** (Path).**
Let be a continuous space, and the path in is a continuous function from the interval to . All paths in are denoted as . All paths starting at and ending at are denoted as . All loops with as the base point are denoted as .
Definition 2** (Path Homotopy).**
Let . If there is a continuous map such that , , , , then we say and are path homotopic, denoted as . The equivalence class of a path under this relation is called the homotopy class of , often denoted .
Definition 3** (Path Time Homotopy).**
Let , and , are said to be path time homotopy if there is a continuous map and such that , denoted as .
Definition 4** (Product of Paths).**
For , , define the product of and as,
[TABLE]
Let and , denoted as . The set and the operation from a Groupoid . The operation has the following properties:
Associativity: If and are meaningful, then . 2. 2.
Left and Right identity element: Given , let . If , then
[TABLE] 3. 3.
Inverse element: Given , we define the inverse of as , then
[TABLE]
For convenience of expression, the text will use to denote the line path from point to , i.e., .
II-B Path Planning Problem Formulation
This study aims to develop a method to determine the distance optimal path of a mobile robot in a 2D bounded space. The problem description is defined as follows:
Let be the state space, the obstacle space and free space are denoted as and , respectively. The path planning algorithm aims to determine a feasible path such that
[TABLE]
where denotes the initial state and denotes the goal state. Let . The optimal path111In this study, represents the global optimal path with the same start and end points as , and represents the local optimal path in . planning problem can be defined as
[TABLE]
where is a function of the length of the path, which is defined as222As the derivative of a path may not necessarily exist, defining the length function of a path as (6) is more rigorous than defining it as .
[TABLE]
where is the 2-Norm in Euclidean space and is a sufficiently large positive integer.
III Homotopy Path Class Encoder
In this section, we first present the method of performing a convex division of and constructing a topological graph that is homomorphic to . Thereafter, the analysis of the characteristics of the topological graph is provided, and an encoder of the homotopy path class is constructed based on this topological graph.
III-A Polygon Fitting and Convex Division of Free Space
can be expressed as the union of multiple connected components as follows:
[TABLE]
where is a connected component, and the various connected components are not connected to each other, as shown in Fig. 1 (a). In a 2D space, the boundary of components that are disconnected can be represented by loops as follows:
[TABLE]
[TABLE]
where represents a natural number from to .
For pointconnected component, we can merge the domain of special points in into component; resulting in disconnected component points, as shown in Fig. 1 (b). For any boundary in , there exists a point sequence , such that
[TABLE]
and have
[TABLE]
Therefore, each connected component can be fitted by a simple polygon333A simple polygon is a polygon whose boundary does not intersect itself. Its boundary can be partitioned into two parts, an interior and an exterior.. Then, a convex division of the simple polygon corresponding to is implemented, as shown in Algorithm 1. We firstly find all the concave vertices in the , and push these concave vertices into (line 2). Thereafter, the iteration is commenced with the condition that is not empty. At each iteration, a concave vertex is popped from the end of (line 4). Thereafter, the set of all viewable points of is obtained (line 5) [5].444According to the two ears theorem, a simple polygon always has at least one viewable points at each of its concave vertices. Consequently, the algorithm uses WeightCut to select a vertex in to segment , and obtain a cutline and set , here contains the newly generated concave vertices (line 6). The strategy we use for WeightCut is to make the two angles of the cut as equal as possible.555It is important to note that the WeightCut approach is used to select a suitable viewable point in for partitioning a concave vertex. Other strategies can be adopted for WeightCut, such as selecting the viewable points closest to the concave vertex or the viewable points with the maximum angle. However, the choice of strategy for selecting the viewable points does not affect our subsequent research. Thereafter, is added to the polygon (line 7). The newly generated concave vertex is pushed to the end of (line 8-9). Finally, Merging the edges in the polygons and the cutlines to generate the (line 10). Using this algorithm, depicted in Fig. 2, a convex division for each was achieved. Compared with the Voronoi Graph and Triangulation methods, this graph division method has the following characteristics:
is divided into the union of multiple convex polygons. 2. 2.
No new vertices are created after the division, and the endpoints of the cutline remain the vertices of the original polygon. 3. 3.
Paths from a convex polygon can only pass through its cutlines into other convex polygons. 4. 4.
For any two points , in a convex polygon can be connected by a line path , and .
III-B Topology Graph and Encoder construction
In this subsection, we present the construction of a topological graph using the divided polygons, discuss its relevant properties, and propose a homotopy path class encoder.
According to convex division, we can consider each convex polygon as a node and the cutting line as the line connecting these nodes. The construction of the topological graph is completed by connecting these nodes and lines. We denote the space of this topological graph as . The relevant mathematical representation of a path in is defined by analogy to Euclidean space as follows:
Definition 5** (Path in ).**
The path in is a finite sequence. , and , , are adjacent. The represents the element of the sequence , the represents the length of the sequence . For convenience in notation, we use to denote the element from the end of the sequence , i.e., . We denote the set of all paths in as . All paths starting at and ending at are denoted as .
Definition 6** (Path Homotopy in ).**
Let . If there exists a finite sequence , such that , , and for each sequence , one of the following two operations is applied on the basis of the previous sequence :
Extension: An element is replaced in the sequence with or , where is a node in ; 2. 2.
Contraction: A fragment of the form or is replaced in the sequence with .
This is path homotopy in , denoted as . The equivalence class of a path under this relation is called the homotopy class of , often denoted by . An illustration of this definition is shown in .
Remark 7**.**
Path homotopy in is an equivalence relation.
Proof.
Reflexivity: For any path in , there is a singleton sequence such that is congruent with itself.
Symmetry: If there exists a path sequence such that , then the inverse of this path sequence can be such that .
Transitivity: If and , then splicing the corresponding path sequences of both can obtain a sequence that makes . ∎
Definition 8** (Path Time Homotopy in ).**
Let . If there is a map and , such that , or , , is said to be path time homotopic, denoted as .
Definition 9** (Product of Paths in ).**
Let and . Define the product of and as the path ,
[TABLE]
The operation in has the following properties:
Associativity: If and are meaningful, then . 2. 2.
Left and Right identity element: Given , let . If , then
[TABLE] 3. 3.
Inverse element: Given , we define the inverse of as , then
[TABLE]
Definition 10** (Rollback Path in ).**
If the path can be written as , and is not an identity element path, then is a rollback path in . If cannot be written in this form, we call is no rollback path.
Theorem 11**.**
For any path in , there is only one no rollback path such that .
Proof.
Existence: According to Definition 5, it is known that the path in is a finite sequence. Therefore, the contraction operation according to Definition 6 must be possible to shorten the path to the no rollback path.
Uniqueness: Assume that the path in has two different path homotopic no rollback paths given by , . However, the two operations according to Definition 6 can only add and remove segments shaped like or from the path sequence. Hence, and cannot be homotopic by Definition 6. However, homotopy is an equivalence relation, and cannot be homotopic to and simultaneously. Therefore, the uniqueness of the proposition is maintained. ∎
Lemma 12**.**
For any path , in , the necessary and sufficient condition for is that their no rollback paths are equal.
Proof.
Suppose , are any two paths in , and the no rollback paths of , are , , according to Theorem 11, and .
Necessary: When because path homotopy is an equivalence relation in , we can get , on the basis of the uniqueness of Theorem 11, such that and are the same path.
Sufficient: If , have the same no rollback paths (), then , such that . ∎
Further, we give another formulation of Lemma 12 as Corollary 13.
Corollary 13**.**
For any homotopic class in sharing a no rollback path.
Next, we construct the relationship between the path space and by defining two mappings , .
Definition 14** (Mapping ).**
For , is the sequence of nodes in corresponding to the convex polygons passed by with in the order from [math] to .
Definition 15** (Mapping ).**
For and , , where , is and , where , are the centroid of the convex polygon corresponding to , . is the midpoint of the cutline between and .
Remark 16**.**
* is evidently a homomorphism of to , because and exists; hence, we obtain*
[TABLE]
*The mapping also satisfies the following relationship:
and exists; hence, we obtain*
[TABLE]
As shown in , we can quickly find a path that is homotopic to the original path by using the mapping :
[TABLE]
Definition 17** (Mapping ).**
For , is the corresponding no rollback path of . And in the subsequent text, for , we can use to denote the no rollback path homotopic to .
Lemma 18**.**
If the sequence conforms to the condition given in Definition 6, then all the elements in the sequence are homotopic.
Proof.
For this proposition, we are required to prove that for the path obtained by any path through the transformations of Definition 6, is satisfied.
For the extension transformation in Definition 6, and are expressed respectively as follows:
[TABLE]
Here, is the newly inserted path segment of relative to . and are the first and second half of the path, respectively, of at the insertion position of . Furthermore, the following equations can be obtained using (16):
[TABLE]
[TABLE]
According to the definition of , equation (20) can be expressed as
[TABLE]
Hence, it can be concluded that:
[TABLE]
The proof for the contraction operation is similar. ∎
Lemma 19**.**
Given that , a necessary and sufficient condition for is .
Proof.
Necessary: For , by Definition 2, a continuous function can be obtained, such that varies continuously to . As shown in Fig. 5, during this continuous change, the path will gradually enter the convex polygons through which passes, where . Let be any time for enters a new convex polygon, we can write as
[TABLE]
where is the part of from to the boundary of the new convex polygon, is the part of from the boundary of the new convex polygon to , and is the section of in the new convex polygon, according to characteristics 2) and 3) of the division method mentioned in the previous subsection. The endpoint of each cutline is the boundary of and therefore, and are on the same cutline. Hence, the changes of these two process paths are mapped into using , which must be equal to the process described in Definition 6.
Therefore, with the change from to , we can define a sequence that conforms to Definition 6, such that .
Sufficient: For , we can determine a sequence of paths that fits the description of Definition 6. The first element of the sequence is and the last element is . Hence, according to Lemma 18, we obtain
[TABLE]
According to (17) we obtain the homotopic path of and as follows:
[TABLE]
[TABLE]
where is a line connecting point and the starting point of , is a line connecting the ending point of and point . Using (24), (25) and (26) we can obtain ; hence, . ∎
Theorem 20**.**
For any homotopy path class in , has a unique result.
Proof.
According to Lemma 19, the homotopy path in remains homotopic when mapped to , i.e., . Furthermore, according to Corollary 13, we can obtain that for every homotopy class in there is one no rollback path that is homotopic to . In other words, has a unique result. ∎
According to the above theorems, we obtained an encoder that can efficiently encode homotopy classes in . For any paths with the same starting point and ending point in , we can determine if they belong to the same homotopy class by determining if their mappings using are equal. In addition, can be used as a decoder for .
Remark 21**.**
Using this encoder and decoder, we can moreover decouple the optimal path planning process into the following two tasks: (i) Search for the homotopy path class that may contain the optimal path, and (ii) Search for the shortest homotopic path in the homotopy path class.
Theorem 22**.**
For any , its locally optimal path satisfies .
Proof.
For this proposition, it is only necessary to prove that , i.e., is a no rollback path. Assume there exists the shortest path such that contains a rollback path. By the definition of , there exists a situation where enters a convex polygon and then returns to the original convex polygon. At this point using a straight line connecting two points of in the original convex polygon, it is simple to obtain a homotopy path that is shorter than . This contradicts the fact that is the shortest of , therefore the original proposition holds. ∎
Theorem 23**.**
For , if , can be written as follows: and . Then .
Proof.
When is an identity element, , hence . Therefore .
When is not an identity element, According to Theorem 22 we obtain
[TABLE]
According to Remark 16, can be decomposed into three parts: , and they satisfy
[TABLE]
Since and is meaningful, we have . Thus, both and are in the convex polygon . It is easy to obtain the globally shortest path between and . Therefore, it is simple to construct a path
[TABLE]
and
[TABLE]
As , it follows that
[TABLE]
Therefore, according to Lemma 19, it follows that , and . ∎
According to Theorem 22 and Theorem 23, we can easily obtain an interesting corollary.
Corollary 24**.**
For any , if the sequence contains duplicate elements, then must not be the global optimal path between and .
Lemma 25**.**
A necessary and sufficient condition for to be the shortest path in is that, for any , there exists the shortest path in .
Proof.
Necessary: The law of proof by contradiction is used herein. Suppose is the shortest path in , and such that is not the shortest path in ; that is, there exists such that . The path can be expressed as , where
[TABLE]
Hence,
[TABLE]
Therefore, there exists a path in that is shorter than . This contradicts our original hypothesis. Therefore, the sufficiency condition is true.
Sufficient: When the latter of the proposition holds, let and . At this moment . Therefore, is the shortest path in . Therefore, the necessary condition is true. ∎
Theorem 26**.**
For any optimal path where , . The must be expressed in the form of multiple line splices as follows. When and are within the same convex polygon,
[TABLE]
When and are not within the same convex polygon,
[TABLE]
where , , is the intersection of in turn with the cutlines.
Proof.
According to the properties of convex polygons, (35) is established, and according to the characteristics of the convex dissection method in Subsection III.A, the points in (36) exist. Therefore, can be expressed as follows:
[TABLE]
where . Moreover, based on Lemma 25, the optimal path must guarantee that each of its segments is optimal; hence, for any , . ∎
According to Theorem 26, we only need to consider the points on the cutlines. The state space of the optimal path planning task is reduced from the 2D space of to a 1D space on the cutlines.
IV Path Planning Algorithm
In this section, we present an optimal path planning algorithm CDT-RRT* (Rapidly-exploring Random Tree based on Convex Division Topology), as an example of the application of homotopy path class encoder in path planning.
CDT-RRT* path planning process is based on the following four main ideas:
According to Theorem 26, CDT-RRT* only samples points on the cutlines, reducing the sampling space from 2D to 1D. 2. 2.
After and are determined, CDT-RRT* prunes the topological graph according to Corollary 24, further reducing the size of the state space that needs to be sampled. 3. 3.
CDT-RRT* adopts a non-uniform sampling strategy that is biased towards exploring unknown homotopy classes, which accelerates the convergence of the algorithm towards the global optimal path. 4. 4.
The sampling process of CDT-RRT* is essentially a search for path homotopy classes. When searching for a new homotopy class, it uses dynamic programming to calculate the locally optimal path in that homotopy class and attempts to update the globally optimal path.666According to Remark 21, the optimal path planning task is decoupled into two sub-tasks: (i) and (ii). The RRT* method in CDT-RRT* is mainly used to handle task (i), while task (ii) is handled by Algorithm 5.
The pseudocode of CDT-RRT* is shown in Algorithm 2. CDT-RRT* is divided into two stages: map initialisation stage (lines 2-5) and path search stage (lines 6-32).
In the map initialisation stage, the algorithm obtains the free space of the agent on the basis of the input map, and uses a simple polygon to fit . Thereafter, it performs convex division, and builds the topology graph according to the division result.
In the path search stage, the algorithm first obtains the start and end points of the planning task and initialises the tree with as its root (lines 7,8). and are two different queues initialised in line 8, where is used to record the homotopy path class that has been searched, and is used for the rewiring process. Thereafter, the CDT-RRT* uses Algorithm 3 to prune according to and (line 9). Algorithm 3 not only returns the pruned topological graph , but also attempts to return the optimal CDT encoding between and . If is not None, the global optimal path between and can be obtained directly using (lines 10,11).
In lines 13-30 of the pseudocode, CDT-RRT* performs sampling search iterations. As shown in Fig. 6, sampled nodes (line 10) will be connected to a nearby node and added to the tree (lines 15-17). The mathematical expression for line 16 of the algorithm is as
[TABLE]
here as
[TABLE]
and here is the path from to using . If the node is close to the node , then it is stored in (lines 19,20). Otherwise, Algorithm 4 is used to perform rewiring at the tree-changing locations (line 22).
Remark 27**.**
In the tree , any path from any point to has the property that there are no repeated elements in the sequence .
Proof.
The aforementioned property of the tree is mainly ensured by (38). Suppose the selection of leads to the addition of to the tree, and a repeated element appears in , where and is the path from to on . In other words, enters the convex polygon twice (the second is from ). Denote the point where enters for the first time as (which is also a node in ). Then we can decompose as
[TABLE]
where is the path from to and is the path from to . Because both and are on the convex polygon , a new path from to as
[TABLE]
and
[TABLE]
This means that can result in a smaller cost for compared to , which contradicts formula (38). Therefore, Remark 27 holds. ∎
At the final stage of each iteration (lines 23-30), each element in the list is used to obtain the path from to using (line 24), and these paths will be encoded after concatenated with (line 25). By determining if the encoded result is in , we can determine if the homotopy class where this path is located has been searched (line 26). If the encoded result is not within , we will push it into (line 27). Thereafter, we use Algorithm 5 to obtain the shortest path in this homotopy class (line 28) and determine if the current global optimal path requires replacement (lines 29,30). Finally, when the number of iterations reaches the preset , the search task is terminated. Output planning results at the end of the task (line 31).
Random point sampling: Sampling in line 14 of Algorithm 2 uses (43). and are random numbers between . are the corresponding cutlines in . are thresh used to select the cutlines when sampling. is a very large number, is a number between , is the number of sampling points adjacent to the -th cutline, is the number of sampling points on the -th cutline, and is the number of occurrences of the -th cutline in the sampled homotopy classes (list ).
[TABLE]
In (43), Algorithm 2 samples on the cutlines of . We select these cutlines using a roulette selection procedure. The probability of selecting these cutlines is non-uniform, and the probability that cutline is selected is affected by the following three factors:
If there are no nodes on the convex polygons adjacent to the cutline, then this cutline will not be selected. This is to ensure that each sampling point is valid during the initial growth phase of the tree (ensure that is always non-empty in line 15 of Algorithm 2). In (43) this factor is realised by . 2. 2.
The number of occurrences of the cutline in the sampled homotopy classes. This factor is represented by in (32). This part is used to control the tendency to explore unknown homotopy classes. The closer is to 0, the more inclined the algorithm is to sample on the cutlines where is relatively small, and if a split line has a larger , then it has a lower probability of being selected. 3. 3.
Rapid growth of the tree at the beginning. To rapidly make all the cutlines in satisfy the sampling condition (not limited by ), each cutline is sampled only once during the initial sampling. This sampling is achieved by means of the term in (43). For a cutline where is zero, an additional very large probability of being sampled will be obtained.
IV-A Reduce Branches
If the start and end points of the path planning task are determined, then some special paths will be determined to be non-optimal paths. Hence these paths do not require searching.
Corollary 28**.**
If a convex polygon has only one neighbour and neither nor is contained within it, then the optimal route must not pass through this convex polygon.
Corollary 28 is easily obtained using Corollary 24. As shown in Fig. 7 (a), Since this type of convex polygon only has one neighbor, if the path passes through this convex polygon, then will pass through its neighbor at least twice. According to Corollary 24, must not be the global optimal path from to . Therefore, these types of convex polygons do not need to be considered during planning. The nodes in the topological graph that correspond to such convex polygons are referred to as singly-connected node, and such nodes can be removed from (except for the nodes where and are located). As shown in Fig. 7 (b), with the removal of the original singly-connected nodes, some nodes in the topology graph may become new singly-connected nodes. Therefore, the algorithm requires backtracking to remove all possible singly-connected nodes. The pseudocode for removing singly-connected nodes is shown in lines 2-11 of Algorithm 3.
In the algorithm, is first cloned and stored in (line 2). Thereafter, every singly-connected node in (lines 4-11) is backtracked. In each backtracking process, the current node is deleted in until the current node belongs to or is not a singly-connected node in . After that, is the topological graph after reduce branches.
In the second half of Algorithm 3 (lines 12-27), we present a method that can directly provide the CDT encoding of the globally optimal path from to in certain special cases. In the pruned topological graph, we can continue to backtrack from and to construct the backtrack paths , , respectively (lines 12-17 and lines 18-23). As shown in Fig. 7 (c), if meets or meets , then we will return , and the CDT encoding of the global optimal path is or (lines 17,23). As shown in Fig. 7 (d), when fails to meet and fails to meet , the path must first depart from the initial point, pass through , then through , and finally reach the goal point. If in this case, we can directly give the CDT encoding of the global optimal path as .777This is because for any , if passes through nodes other than , then will pass through twice, so according to Corollary 24, is not optimal. Finally, Algorithm 3 returns the pruned topological graph , and the CDT encoding of the global optimal path or an empty result if cannot be obtained (lines 25,27).
IV-B Rewire Random Node
Rewire random node is necessary when is required to be added to the tree, similar as with RRT*. If is not in the vicinity of , then may cause a change in the connectivity of other nodes in . We consider the rewiring of nodes near . The pseudocode for rewire random node is shown in Algorithm 4.
Rewiring is done when a node gets a lower cost value by passing from node instead of its parent (lines 6-10). If rewiring happens to any node , Algorithm 4 adds to since nodes around have the potential to get rewired (line 9). Algorithm 4 continues to iterate until is empty, at which point the rewiring optimisation of is completed.
IV-C Get Shortest Path
Algorithm 5 is primarily used to fast obtain the shortest path in the homotopy path class. In line 2, are the cutlines through which passes subsequently. In line 3, , and , are the midpoints of the cutlines respectively. In lines 5-10, we draw inspiration from the Elastic Band algorithm to obtain a local optimal path. According to Theorem 26, we only update the control points of on these cutlines, which greatly improves the convergence speed of . In addition, the solution to line 8 of the algorithm is simply given by the following: (i) If lines and intersect, is their intersection, and (ii) if lines and do not intersect, is the endpoint of that is closest to .
V Experimental Studies and Results
In this section, we conduct a number of simulation experiments to demonstrate the effectiveness and efficiency of the proposed algorithm. The computer we use is an Intel NUC (Next Unit of Computing). The NUC setup is an Intel i7-1165G7 (4.7GHz) with 16 GB of RAM. For the simulation, we use C++ on Ubuntu 18.04. For the experimental implementation, robot operating system (ROS) on Ubuntu 18.04 and a designed differential drive robot were used. The proposed algorithms were implemented on an IPC (Industrial Personal Computer) as the computational core for testing, the IPC setup is Intel Celeron J4125 (2.70 GHz) with 8 GB of RAM.
In experiments, two parameters were often used to compare the performance of the algorithms: , which is the time of the initial solution; and , which is the time to determine a solution of cost (), where is the optimal cost.
V-A Map Initialisation to Build Topology Graph
The construction of the topology graph is an essential step in the proposed algorithms. In this subsection we present the results of the time required to construct the topology graph. The polygon fitting error in (11) it was set as pixels.
We conducted one hundred initialisation experiments on (a) Cluttered environment, (b) Trap, (c) Maze1, (d) Maze2, (e) Floormap and (f) a StarCraft II map in Fig. 8, respectively, and the results are shown in Fig. 8 (g)-(l). Each environment contains four planning tasks for subsequent experiments, starting from S and ending 1-4.
In Table I, we can find that the initialisation time of the algorithm for the map is not directly related to the resolution of the map.888It should be noted that in most cases, higher resolution maps tend to contain more details about the environment. Therefore, selecting a smaller fitting error will result more complex simple polygons used to fit the free space, and the initialization time of the map will also be longer. The initialisation result of the map is mainly affected by the chaos of the map itself. The chaos of the original map can affect the complexity of the simple polygons used to fit itself. This determines the time taken for initialisation and the resulting number of dividing lines and convex polygons.
From the test results, it can be found that the initialisation stage of the map in our algorithms does not require much time, even for a large and complex map such as the Floormap or StarCraft II map, the initialisation time is less than 0.4s. In actual use, only one initialisation is needed for one map, and we can save the initialisation result as a file and load it directly in future use. In fact, this is what we do.
V-B Performance Analysis of Task Decoupling
In this subsection, we will compare and analyze the performance impact of the task decoupling strategy Remark 21 on CDT-RRT*. To do this, we will disable lines 10-12 in Algorithm 2 and replace lines 25-30 with the following pseudocode:
Afterwards, we conducted 1000 tests using the tasks shown in Fig. 8 (e) to compare the performance of the algorithm before and after the modification. The experimental results are presented in Table II. Fig. 9 shows the time-cost diagrams of the two algorithms in a single experiment.999Before analyzing the parameter in (43) (in subsection D), all values were set to 1. It is evident from Table II that the average time required for the undecoupled algorithm to obtain the optimal path is significantly longer than that of the decoupled algorithm. This is mainly because the decoupled algorithm, after sampling a new homotopy class using RRT*, directly obtains the optimal path within that homotopy class through Algorithm 5, rather than slowly converging to the optimal path using the asymptotic optimality property of RRT*. This can be clearly observed in Fig. 9, where the decoupled algorithm shows an instantaneous drop in the Cost when discovery of new and better homotopy classes, while the undecoupled algorithm wastes significant time in the asymptotic convergence process, even after having found the homotopic path of the globally optimal path.
V-C The Effect of Reduce Branches on CDT-RRT*
To analyze the impact of Reduce Branches on the performance of CDT-RRT*, in this subsection, we conducted experiments on tasks in the three representative maps shown in Fig. 8 (a)(c)(d). For each task, we performed 1000 planning and recorded the mean time required to obtain the optimal path. The results are shown in Table III.
For the planning tasks in the Maze1 environment, CDT-RRT* achieves a fast planning speed regardless of whether Reduce Branches is used or not. In the first place, since the free space of Maze1 is simply connected. Therefore, after applying Reduce Branches, lines 10 and 11 of Algorithm 2 can always be triggered, thus directly obtaining the globally optimal path. For the case of not applying Reduce Branches, similarly, since the free space of Maze1 is simply connected, which means there is only one homotopy class between any two points in the space, therefore, the first homotopy class found by CDT-RRT* is the homotopy class where the global optimal path for the task resides. In addition, due to the term in (43) that enables to rapidly expand in the initial stage and find the initial solutions for the task, therefore, CDT-RRT* can also quickly find the global optimal solution in the environment similar to Maze1 even without using Reduce Branches.
Different from Maze1, there are 9 and 12 independent obstacles in Maze2 and Cluttered, respectively, and none of the 4 tasks set in these two environments will trigger lines 10 and 11 in Algorithm 2. However, there is a significant difference in the performance of CDT-RRT* with Reduce Branches in the two environments. In Maze2, the improvement in planning speed with Reduce Branches is more pronounced. This is mainly because Reduce Branches can eliminate many irrelevant nodes in , thereby reducing the number of cutlines that CDT-RRT* needs to consider when sampling. In the tasks of Maze2, more irrelevant cutlines are shielded. Table IV shows the number of cutlines that CDT-RRT* needs to consider with and without using Reduce Branches in these tasks. The performance improvement of CDT-RRT* by using Reduce Branches is positively correlated with the number of cutlines that it shields, which is greatly influenced by the choice of environment and task, Although Reduce Branches mostly results in significant improvements for CDT-RRT*, it is not always effective, as seen in the experiments conducted in the Cluttered environment.
V-D Analysis of the Random Sampling Equation
In this subsection, we conducted experiments to analyze the effect of the term in (43) on the ability of CDT-RRT* to quickly find initial solutions, as well as the influence of the parameter on the optimization time () used by CDT-RRT* during the search for global optimal paths.
First, we tested the CDT-RRT* algorithm with and without the term removed in all tasks in Fig. 8. We conducted 1000 experiments for each task and recorded the mean values, which are presented in Table V. We observed that using the term generally resulted in a 3-6 times improvement in the algorithm’s ability to find initial solutions. It should be noted that the term is necessary in CDT-RRT* because without it, CDT-RRT* may never find an initial path, as reflected in the experimental results in the Trap task. In Tasks 2-3 of Trap, the without using appears to be very abnormal. When processing experimental data, we found that in these three tasks, even though the algorithm exceeded the set limit of 40,000 sampling attempts, it still failed to find the initial path. The main cause of this phenomenon is related to the term in (43). As explained for (43), the role of is to ”ensure that is always non-empty in line 15 of Algorithm 2”. controls (43) to only sample the cutlines and their neighbors that have been sampled. That is to say, when (43) does not have , the probability of sampling the unsampled cutline is , where represents the set of cutlines that have been sampled, and represents the set of cutlines adjacent to . If , the probability of unsampled branches in (43) approaches zero, which means that CDT-RRT* will be trapped in the trap. Therefore, the term is indispensable.
Parameter is used to explore other possible homology path classes after the initial solution is searched by CDT-RRT*. Therefore, in order to analyse the effect of parameter on CDT-RRT*, we performed 2000 path planning experiments for each value of from at 0.05 intervals and recorded the path optimisation time () for each experiment. To facilitate the display and analysis of the effect of parameter , we additionally selected a planning task from point 3 to point 1 in the environment of Fig. 8 (e) for experimentation.101010The reason for doing this is that in the environment of Fig. 8 (e), there are many local optimal paths between point 3 and point 1 that have lengths similar to the global optimal path. The purpose of setting the term in (43) is to enable CDT-RRT* to actively explore unknown homotopy classes, thereby finding the global optimal path faster. Fig. 10 shows the fit of the probability density function of the optimal time for each value of in the task, and the curve of the optimisation time mean with respect to parameter .
From the experimental results, we can determine that the value of has a large impact on the performance of CDT-RRT*. When , the sampling mode of CDT-RRT* degenerates to ordinary uniform sampling and the average optimisation time of CDT-RRT* is approximately times longer than when . Selecting a smaller increases the sampling probability of cutlines that are used less frequently by the existing homotopy path classes, thus increasing the probability of CDT-RRT* discovery of other homology path classes. However, when is too small, the mean optimisation time value of CDT-RRT* increases instead, because a too small results in CDT-RRT* being more rigorous. CDT-RRT* primarily samples the least used cutlines, which unnecessarily consumes time on cutlines that do not fit within the optimal homotopy class. Following these results, CDT-RRT* with was used for analysis in remaining experiments ().111111In different environments and tasks, the optimal value of is different. It is difficult to quantitatively analyze how to choose the best . However, based on our experience from a large number of experiments, when , there is generally a good performance.
V-E Path Planning Efficiency of CDT-RRT*
In this subsection, we compare CDT-RRT* with four state-of-the-art algorithms, RRT* algorithm, PRM* algorithm [14], Informed-RRT* [20], and advanced batch informed trees algorithm (ABIT*) [28]. This experiment continues to use the six environments in Fig. 8. These algorithms are run 200 times for each planning task and the planning time and cost are recorded for the evaluation.
The mean values of and for these algorithms for each task are shown in Fig. 8 (m)-(r), and the legends in the figures correspond to the algorithms listed in Table VI. We can find that with the proposed algorithm, the path planning time is obviously decreased. In every environment, and of CDT-RRT* are generally 2-4 orders of magnitude lower than other algorithms. Moreover, in the complex Fig. 8 (e)(f), on average, CDT-RRT* successfully determined the initial solution to the task within 0.5 ms and the optimal path was planned within 6 ms.
V-F Performance in Real-World
To demonstrate the effectiveness of the proposed algorithms in practical applications, we present, hereunder, the results of experiments conducted in realistic scenarios. The experimental environment is shown in Fig. 11, where the test site was a exhibition hall and the resolution of the map was . The robot system used in the experiment is shown in Fig. 12. The system hardware is a self-designed wheeled mobile robot with a minimum external circle radius , maximum linear speed , maximum angular speed , maximum acceleration , and maximum angular acceleration . The robot used a fusion of laser, IMU and wheel tachometer for positioning. The movement control of the robot adopted a global and local motion planning strategy. The global path planning algorithms adopted RRT*, PRM* and CDT-RRT* algorithms, and the local path planning uniformly adopted the Dynamic Window Approach (DWA) method [29].
Considering that the global planning should ensure that the robot cannot touch the obstacles, we inflated the obstacles on the original map with radius , as shown in Fig. 11 (c).
In the map we choose two representative planning tasks (approximate shortest non-homotopic paths and narrow passage) to test the three global planning algorithms. Because all three algorithms are optimal path planning algorithms, if the planning time is infinite, their final planning results must be equal. To comply with realistic demands of practical robotics applications, we set the upper time duration of global path planning to . Table VII lists the data that we obtained from 10 repeated trials, and the results of two representative experiments are shown in Fig. 13. Robots using the proposed algorithm for global path planning have shorter trajectory lengths and moving times for navigation compared to other algorithms. Furthermore, since the proposed algorithm was used to generate global paths for further motion planning, the real trajectories were generated by the DWA algorithm control. A key concern is to determine if the robot’s trajectory and the optimal path belong to the same homotopy path class. From the experimental results, it is evident that when there are multiple approximate shortest non-homotopic paths, the trajectories planned by the RRT* and PRM* algorithms in the specified time had a higher probability of non-homotopy with the optimal path. Furthermore, using extreme narrow passage, optimal path planning could not be achieved. The robot trajectory using the proposed algorithm was always homotopic to the optimal path.
V-G Discussions
The results in the previous subsections demonstrate the efficiency of the proposed algorithms in a 2D connected space. However, most free spaces contain multiple connected components, as shown in Fig. 14 (a). This can result in errors in the algorithm if the start and end points of the path planning task are not within the same connected component. This type of task is impractical; however, for some complex maps, the person assigning the task is often unable to determine in advance whether two points can be connected to each other.
This problem can be overcome by adding some logic to the algorithms. According to (7), any 2D bounded free space can be expressed as a concatenation of multiple connected branches, such that we can fit such free space with multiple simple polygons, as shown in Fig. 14 (b). For each simple polygon we can construct an independent topology graph based on convex division. The algorithm first determines whether the start and end points are in the same simple polygon each time the planning task is received, if not it implies that the two points cannot be connected, and the algorithms will not execute the subsequent sections and return a hint message.
VI Conclusion
In this paper, an efficient optimal path planning framework has been proposed for mobile robot motion planning in 2D bounded environments. Firstly, based on the convex decomposition of the map, a special topological graph construction method is proposed to give a concise representation of map connectivity. On the basis of this topology graph, an encoder for the homotopy path class is proposed, proving its existence and uniqueness for the encoded values of all homotopy path classes between any two points and providing a feasible decoding method. Based on the convex decomposition of the map proposed in this article, a planning principle that considers only the points on the cutline is proposed, thus reducing the state space from 2D to 1D. Based on the above conclusions, an efficient optimal path planning algorithm CDT-RRT* are proposed, and we designed an efficient sampling formula for CDT-RRT*, which gives it a tendency to actively explore unknown homotopy classes. We conducted experiments and analyses on the topology construction, path planning efficiency, and performance of the algorithm in both simulation and real-world environments. The results verify that our proposed method can achieve satisfactory performance in 2D bounded environments. The application value of homotopy path class encoder in the field of path planning is proved.
As a simple application example, CDT-RRT* has achieved good results in experiments; however the encoder proposed in this paper has scope for improved application. The scope for future work can follow two directions. One is to design search algorithms for homotopy path classes with better performance based on the encoder in this paper, e.g., In learning-based algorithms, the encoder is used to record the collected homotopy classes of paths, and then to learn high-level features of the agent’s motion in the environment using a learning-based method. The other is to improve the convex dissection method of the map, e.g., improving the speed of the dissection algorithm to make the present framework suitable for real-time path planning in dynamic environments [30]. Alternatively, the framework can be applied to 2D manifold surfaces in high-dimensional spaces [31] to broaden the applicability of the algorithm to provide efficient path planning services for more types of mobile robots [32].
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. G. Tzafestas, “Mobile robot control and navigation: A global overview,” Journal of Intelligent & Robotic Systems , vol. 91, no. 1, pp. 35–58, 2018.
- 2[2] X. Li, Z. Sun, D. Cao, Z. He, and Q. Zhu, “Real-time trajectory planning for autonomous urban driving: Framework, algorithms, and verifications,” IEEE/ASME Transactions on mechatronics , vol. 21, no. 2, pp. 740–753, 2015.
- 3[3] X. Zhang, J. Wang, Y. Fang, and J. Yuan, “Multilevel humanlike motion planning for mobile robots in complex indoor environments,” IEEE Transactions on Automation Science and Engineering , vol. 16, no. 3, pp. 1244–1258, 2018.
- 4[4] S. D. Bopardikar, B. Englot, and A. Speranzon, “Multiobjective path planning: Localization constraints and collision probability,” IEEE Transactions on Robotics , vol. 31, no. 3, pp. 562–577, 2015.
- 5[5] P. Navya and R. Ranjith, “Analysis of path planning algorithms for service robots in hospital environment,” in 2021 12th International Conference on Computing Communication and Networking Technologies (ICCCNT) . IEEE, 2021, pp. 1–6.
- 6[6] Z. Jianning, L. Jiaxin, D. Songyi, and G. Rui, “Beetle antennae search guided rrt* for path planning of gis inspection and maintenance robot,” in 2021 6th International Conference on Automation, Control and Robotics Engineering (CACRE) . IEEE, 2021, pp. 102–107.
- 7[7] F. G. Lopez, J. Abbenseth, C. Henkel, and S. Dörr, “A predictive online path planning and optimization approach for cooperative mobile service robot navigation in industrial applications,” in 2017 European Conference on Mobile Robots (ECMR) . IEEE, 2017, pp. 1–6.
- 8[8] K. Berntorp, “Path planning and integrated collision avoidance for autonomous vehicles,” in 2017 American Control Conference (ACC) . IEEE, 2017, pp. 4023–4028.
