Abstract
This paper presents a method to avoid collisions and deadlocks between mobile robots working collaboratively in a shared physical environment. Based on the shared knowledge of the robot’s direction and coordinates, we define five conflict types between robots and propose a new concept named Artificial Untraversable Vertex (AUV) to resolve the potential conflicts. Since conflict avoidance between robots is typically a real-time process, a heuristic search algorithm D* Lite with fast replanning characteristics is introduced. Once a robot finds that it may collide with another robot while moving along the preplanned path, a new conflict-free path can be calculated based on the AUV and D* Lite. The experimental results demonstrate that the proposed Multi-Robot Path Planning (MRPP) method can effectively avoid collisions and deadlocks between mobile robots.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Multi-Robot Systems (MRSs) have advantages over single-robot systems in terms of spatial distribution [1], robustness [2], scalability [3], and flexibility [4]. During the last decade, MRS has evolved from an isolated anecdotal laboratory system to robust deployment in many fields [5], especially when a given task requires the cooperation of robot teams, such as cleaning [6], service [7], space-exploring [8, 9], warehousing [10], coverage [11], search-and-rescue [12], and military [13]. To date, many research efforts have focused on different research topics related to MRS, including communication techniques [14], vision systems [15], and navigation [16, 17]. Mobile navigation is typically realized through perception, planning, and control [18]. The objective of perception is to obtain environmental information around the robot for path planning, and the objective of control is to make the mobile robot follow the planned path. Therefore, path planning is a fundamental problem of MRS, and its objective is to move all robots working in a shared environment to their respective goal positions while meeting performance constraints (e.g., travel time) and safety constraints (e.g., collision avoidance) [19]. This paper focuses on a decentralized MRPP approach whose objective is to avoid potential collisions and deadlocks [20] with other robots in real-time while minimizing the deviation from the preplanned optimal path.
The collision between robots is a crucial problem in the path planning and motion control of MRSs and has not received sufficient attention. Obstacle and interrobot collision avoidance directly impact system safety, so it should be the highest priority among all objectives [21]. A simple method of avoiding collisions is to treat other moving robots as obstacles, namely, untraversable vertices [22] in the grid map. However, as shown in Fig. 1, the method cannot prevent robot 2 (R2) from planning D3 as the next vertex, which is likely to cause another collision with robot 1 (R1).
The deadlock between robots is another vital issue in MRPP since it can degrade system performance or even crash the system [23]. As shown in Fig. 2, the deadlock between mobile robots typically occurs when robots block each other in a way so that none of them can follow its predefined path without causing a collision.
Moreover, the prioritized planning algorithm typically plans each robot’s path individually and then combines other methods or strategies to resolve the conflicts between robots. The established paths are typically optimal in the grid environment, so minimizing the deviation between the modified path and the initial path helps maintain the path optimality. As shown in Fig. 3, R1 collides with R2 as it follows the preplanned path and vice versa. A decentralized approach may make the optimal decision locally to move R1 to vertex C3 and then head south to reach the target, but it causes unnecessary deviations if R3 can move diagonally.
The motivation of this research is to solve the challenges mentioned above in implementing the prioritized MRPP approach, that is, (1) what is the effect when a robot lies in the path of another robot, namely, interrobot collision avoidance, (2) how to move robots when they block each other, namely, deadlock avoidance, and (3) how to ensure that the actions taken to avoid collisions and deadlocks with other robots do not exceed the minimum effort required, that is, to minimize the deviation between the modified path and preplanned path. This paper proposes a Multi-Robot D* Lite (MR-D* Lite) algorithm to solve these problems. The main idea of MR-D* Lite is to employ the D* Lite algorithm to calculate the initial path of each robot individually, and then combine the AUV to modify the path of the robot with a potential collision or deadlock risk. The main contributions of this paper can be summarized as follows:
-
Many researchers focus on collision avoidance between robots, but deadlock avoidance and path deviation are typically not considered simultaneously. This paper defines five types of potential conflicts between mobile robots and proposes three types of AUVs to resolve the conflicts. The AUV considers both the position and direction of robots, thereby solving the conflicts between robots with a minor or minimum deviation from the predetermined optimal path.
-
The dynamic characteristics of D* Lite are used to address the conflicts between robots while minimizing the time to replan a new collision-free and deadlock-free path for each robot.
The remainder of this paper is organized as follows: Section 2 introduces the related works, problem definition, and underlying algorithm. Section 3 provides the proposed method. The results and the conclusion are presented in Sections 4 and 5, respectively.
2 Preliminaries
2.1 Related works
MRPP can be characterized into two categories: centralized and decentralized approaches [25, 26]. The centralized approach treats the path planning issue as an optimization problem via a central server, which has comprehensive knowledge about all robots’ workspace (e.g., a 2D grid map) and intents (e.g., speed, start position, and goal position). The centralized approach mainly includes four categories [27]: protocol-based [28], conflict-based search [29], increasing cost tree search [30], and A* search expansion [31]. It plans collision-free paths for all robots simultaneously and can produce globally optimal plans. However, the time complexity is exponentially related to the composite configuration space dimensions and the number of robots. Thus, it is typically applicable to simple problems that involve two or three robots, and its performance can be low if tasks/goals are reassigned frequently. Moreover, the approach relies heavily on a reliable communication network between the central server and robots in practice. Thus, MRS will breakdown if the central server or communication network fails. Furthermore, the centralized approach is inapplicable when the environment is unknown and unstructured [32]. In recent years, nature-inspired optimization algorithms have been applied to various versions of centralized approaches to address the MRPP optimization problem [21], which include Particle Swarm Optimization (PSO) [33], Gravitational Search Algorithms (GSA) [34], firefly optimization [35], Charged System Search (CSS) [36], Ant Colony Optimization (ACO) [37], Artificial Bee Colony (ABC) [38], and Genetic Algorithm (GA) [39]. Most of these algorithms can find better paths as the number of iterations increases, but they are computationally expensive.
Compared with centralized approaches, some researchers have proposed decentralized conflict avoidance strategies, where each robot takes the observable states (e.g., velocities, shapes, and positions) of other robots as inputs to make autonomous decisions. In contrast to a centralized approach, a decentralized approach can better respond to unknown or dynamic environments and has better reliability, flexibility, adaptability, and fault tolerance [40]. It can be further categorized into two approaches: the path coordination approach and the prioritized planning approach. In a path coordination approach, the robot moves in a coordinated path. If a potential collision is detected, it changes robot velocity to predefined values or even stops robots to avoid collision [19]. However, stopping or slowing down increases the time for the robot to complete the task. In practice, a widely used decentralized approach for MRPPs that has proven effective is prioritized planning. The prioritized planning algorithm assigns a unique priority to each robot and proceeds sequentially from the robot with the highest priority to the one with the lowest priority [41]. The prioritized planning approaches plan the path for each robot individually and then combine other methods to avoid collisions between robots, which include Artificial Potential Field (APF) [42], A* [43], Revised Prioritized Planning (RPP) [44], Safe Interval Path Planning (SIPP) [45], and Hybrid Path Planning (HPP) [46]. Nonetheless, the work proposed above typically focuses on interrobot collision avoidance, but deadlock avoidance and path deviation are typically not considered simultaneously.
2.2 Problem definition
We model each robot as a point that can move freely in a two-dimensional space. It is assumed that each robot is equipped with several sensors by which a robot can build a global map of the working environment. The robot may find new obstacles or robots when moving, so it also builds a local map to save dynamic information on the surrounding environment. Due to the various local information surrounding the robots, each robot’s grid map may vary slightly. All the maps mentioned above are composed of finite vertices, and some of the vertices are occupied by obstacles. The configuration of obstacles in different vertices may vary in shape, position, and occupancy level. However, this paper assumes that a vertex is either unknown, free, or entirely occupied by obstacles. The occupied vertices of the global and local maps can represent the shape and location of obstacles. The given start position and desired goal position of each robot are located in the free vertex, and MRPP can be defined as finding a finite set of free vertices to navigate each robot between the start and goal points without interrobot collisions and deadlocks [47].
Let Nr be the total number of robots in an MRS, Np be the total number of vertices in a path, ℕr = {1, 2, ..., Nr}, and ℕp = {1, 2, ..., Np}. The path of robots can be denoted as
where the superscript i denotes the robot number of the MRS, and the subscript j is the vertex number of the path. We assume that it takes the same time for the robot to move from one vertex to another. Therefore, an interrobot collision will occur if ∃ x, y ∈ ℕr, x ≠ y, j ∈ ℕp, such that px j = py j. Moreover, a deadlock will occur if ∃ i ∈ ℕr, such that ∃ pi j1 = pi j2 = ... = pi jn, where ∀ n > 1, n ∈ ℕp.
2.3 D* Lite
We use D* Lite as our method’s underlying algorithm. D* Lite is a well-known goal-directed path planning algorithm and widely utilized for autonomous mobile robot navigation [48]. It can reuse the previous path planning information to replan a path dynamically. This characteristic can be applied to our method for dynamic collision avoidance between robots. The following notation is utilized to describe D* Lite: S is the set of vertices of the graph. Succ(s) ⊆ S is the set of successors of vertex s ∈ S. Pred(s) ⊆ S is the set of predecessors of vertex s ∈ S. 0 < c(s’, s) < ∞ is the cost of moving from vertex s’ ∈ Pred(s) to vertex s. D* Lite maintains two kinds of estimates of each vertex’s goal distance: a g-value g(s) and an rhs-value rhs(s). The rhs-value always satisfies the following relationship:
where a vertex is called locally consistent if g(s) = rhs(s); otherwise, it is called locally inconsistent.
3 Methodology
This section classifies the conflict scenarios into five types according to the vertex position where the path conflicts. Before moving to the next vertex, each robot judges whether it is in any five conflict types with other robots. Then we set the AUV for the robot in conflict and replan the path.
3.1 Conflict types
Some researchers have defined conflict types for pairs of robots [49], but some scenarios have not been discussed. In a discrete gridded environment, a robot can only move to its neighboring eight vertices, so the vertex where robots collide (i.e., conflict vertex) must be one of their current vertices and neighboring vertices. In the following, robot i (Ri) is the higher priority robot, and robot j (Rj) is the lower priority robot. According to the position of the conflict vertex, we classify the conflict scenarios into five types. Let pi c and pj c be the current positions of Ri and Rj, respectively. As shown in Fig. 4, if Ri and Rj move diagonally and pi c + 1 = pj c + 1, the robots are in the Type 1 Conflict Scenario (CST1).
As shown in Fig. 5, if pi c + 1 = pj c and pi c ≠ pj c + 1, the robots are in the Type 2 Conflict Scenario (CST2).
As shown in Figs. 6, 7, 8, 9, 10, 11, 12 and 13, if pi c = pj c + 1, the robots are in the Type 3 Conflict Scenario (CST3).
As shown in Figs. 14, 15, 16, 17, 18, 19, 20 and 21, if Ri and Rj are adjacent to each other and pi c + 1 = pj c + 1, the robots are in the Type 4 Conflict Scenario (CST4).
As shown in Figs. 22, 23, 24, 25, 26, 27, 28 and 29, if pi c + 1 = pj c + 1, Ri and Rj are not adjacent, and are not in CST1, then the robots are in the Type 5 Conflict Scenario (CST5).
3.2 Artificial untraversable vertex
The AUV is the basis for the underlying path planning algorithm to replan the path to avoid collisions and deadlocks. The number and position of the AUV can be adjusted according to needs (e.g., the number of vertices occupied by a robot). In this paper, we assume that each robot occupies a vertex. We summarized three types of AUVs during the experiment, as shown in Figs. 30, 31 and 32, which produced a minimum or slight path deviation and steering angle for collision and deadlock avoidance. In Figs. 30-32, according to the coordinate and direction of robot R, the AUV is set for the original robot (Ro), which conflicts with R. There are eight cases for each type of AUV corresponding to the eight moving directions of R. Figure 30 shows the cases for Type 1 AUV (AUVT1), which is applied to both higher priority and lower priority robots. The AUVT1 set for RO is shown in Fig. 30 (a) when R moves northward and Figs. 30 (b)-(h) correspond to the other seven moving directions.
Figure 31 presents the eight cases for Type 2 AUV (AUVT2) applied to the lower priority robots. The AUVT2 set for RO is shown in Fig. 31 (h) when R moves northwest, and Fig. 31 (a)-(g) correspond to the other seven moving directions.
Figure 32 shows eight cases for Type 3 AUV (AUVT3), and it is applied to the lower priority robots. The AUV set for RO is shown in Fig. 32 (h) when R moves northwest, and Fig. 32 (a)-(g) corresponds to the other seven moving directions.
Figures 33, 34, 35, 36 and 37 list the solution for CST1–5. Robot Ri is the higher priority robot, and robot Rj is the lower priority robot. The graph is an eight-connected grid whose edge costs are initially one and change to infinity when the robot discovers that the vertices cannot be traversed [48]. We assume that the dynamic environment map range is the 48 vertices in the shadow around the robot. For CST1 in Fig. 4, we make the higher priority robot Ri continue to move along its established path, and the lower priority robot Rj bypasses the brown conflict vertex, that is, pi c + 1 is set as the AUV for robot Rj. Taking Fig. 4 (a) as an example, we set vertex G4 as the AUV for Rj as shown in Fig. 33, and Rj’s moving direction changes to the south.
For CST2 in Fig. 5, we make the lower priority robot Rj continue to move along its established path because its direction does not conflict with Ri. To make Ri’s modified path not conflict with Rj’s established path, we considered both Rj’s position and direction to set the AUV for Ri. Moreover, Rj is also likely to update its path due to other robots. Thus, we set the AUV for both Ri and Rj according to AUVT1. Taking Fig. 5 (a) as an example, the AUVs for Ri and Rj are set as shown in Fig. 34, and Ri’s direction changes to the northwest.
For CST3 in Figs. 6-13, pj c + 1 is occupied by Ri, so Rj should replan its path, and Ri needs to bypass Rj’s current vertex. In MR-D* Lite, we replan the path of robots from the higher priority to the lower priority. Therefore, we set Rj’s current vertex as the AUV for Ri and set the AUV for Rj according to AUVT1. Taking Fig. 6 (a) as an example, we set the AUV as shown in Fig. 35. After the replanning process, Ri’s direction changes to the northeast, and Rj’s direction changes to the southwest.
For CST4 in Figs. 14-21, we make the higher priority robot Ri continue to move along its established path. However, to prevent Ri’s modified path (Ri is likely to update the path due to other robots in MRS) from conflicting with Rj’s current vertex, we set Rj’s current vertex as the AUV for Ri. Then, we set the AUV for Rj according to AUVT1. That is, the solution for CST3 is the same as that for CST4. Taking Fig. 18 (a) as an example, the AUV is set as shown in Fig. 36, and Rj’s direction changes to the northwest.
For CST5 in Fig. 22-29, we make Ri continue to move along its established path and set the AUV for Rj according to AUVT2. Taking Fig. 22 (a) as an example, corresponding to Fig. 31 (a), the AUV for Rj is set as shown in Fig. 37 (a), and Rj’s direction changes to south. Note that all AUVs are cleared after the robot moves to the next vertex. Therefore, after the robots in Fig. 37 (a) move one step and reach the position in Fig. 37 (b), all the AUVs for Rj have disappeared. Then, the path is replanned again, and Rj’s direction changes to the original southeast.
The method mentioned above can solve conflicts between any two robots, but there is a problem of crowding between robots for the MRS with three or more robots. For example, if the robots in Fig. 38 (a) reach the position in Fig. 38 (b), then it is challenging to replan a collision-free path for each robot. AUVT3 is employed to address this problem, as shown in Fig. 39.
If the vertices pi c + 1 and pj c + 1 are adjacent to each other, we set the AUV for the lower priority robot according to AUVT3. With Fig. 38 (a) as an example, the AUV for the robots is set as shown in Fig. 39. In Fig. 38 (a), the lower priority robot R2 detects that p2 c + 1 is adjacent to p1 c + 1. Thus, corresponding to Fig. 32 (f), we set the AUV for R2 as shown in Fig. 39 (a), and its direction changes to the west after replanning the path. In Fig. 39 (a), the lower priority robot R3 detects that p3 c + 1 is adjacent to p1 c + 1. We set the AUV for R3 as shown in Fig. 39 (b), and its direction changes to the northeast. In Fig. 39 (b), the lower priority robot R4 detects that p4 c + 1 is adjacent to t p1 c + 1. We establish the AUV for R4 as shown in Fig. 39 (c), and its direction changes to the north.
In summary, the method of setting the AUV for robots is as follows:
-
For the CST1 in Fig. 4, we set the conflict vertex as the AUV for Rj.
-
For CST2 in Fig. 5, we set the AUV for Ri and Rj according to AUVT1.
-
For CST3 and CST4 in Figs. 6-21, we set pj c as the AUV for Ri and set the AUV for Rj according to AUVT1.
-
For CST5 in Figs. 22-29, we set the AUV for Rj according to AUVT2.
-
If pi c + 1 and pj c + 1 are adjacent to each other, we set the AUV for Rj according to AUVT3.
-
If pi c and pj c are adjacent to each other, we set pi c and pj c as the AUVs for each other.
3.3 Multi-robot D* lite
We now use D* Lite and AUV to develop our MR-D* Lite, whose pseudocode is shown in Fig. 40. The definitions of symbols used in the pseudocode are summarized in Table 1. Similar to the D * Lite algorithm, MR-D* Lite maintains two kinds of estimates of the goal distance of each vertex: a g-value g(i, s) and an rhs-value rhs(i, s), where i denotes the robot number of the MRS. The rhs-value always satisfies the following relationship:
where a vertex is called locally consistent for Ri if g(i, s) = rhs(i, s); otherwise, it is called locally inconsistent. The distance between vertex s and sstart(i) uses the Chebyshev distance:
where xs and ys symbolize the x-coordinate and y-coordinate of vertex s, respectively.
The functions CalcKey(), Initialize(), UpdateVertex(), and ComputeShortestPath() in D* Lite remain unchanged to plan the initial paths and modify them when potential conflicts are detected and the environmental information changes. However, the function Main() needs to be extended, and the functions UpdatePath() and ScanGraph() are introduced to address the collisions and deadlocks between different robots. The main function Main() first calls Initialize(i) to initialize the search problem for each robot {58}. (Numbers in curly brackets refer to line numbers in the pseudocode.) Initialize(i) sets the initial g-values of all vertices of Ri to infinity and sets their rhs-values according to Eq. (3) {04–05}. Note that in an actual implementation, Initialize(i) only needs to initialize a vertex when Ri encounters it during the search [50]. MR-D* Lite then computes the shortest path from the current vertex of Ri to the goal vertex {59}. After robots have calculated their initial paths {56–59}, they move forward along their respective paths. As the robot moves to the target vertex, MR-D* Lite uses the function UpdatePath(i) to monitor potential conflicts and update the path to achieve collision and deadlock avoidance {63}. UpdatePath(i) clears the AUV set for Ri previously and updates Ri’s path by ScanGraph(i) {30–31}. It sets the AUV for Ri and updates the path according to the type of conflict {32–55}. A robot first monitors potential conflict with higher priority robots and executes the corresponding strategy {32–46}. Then, the robot monitors potential conflicts with lower priority robots and executes the corresponding strategy {47–55}. Finally, all robots have a collision-free and deadlock-free path, and each robot updates sstart(i) to reflect the current vertex of the robot and makes one transition along the path {64–67}.
In the pseudocode, we have included a comment on how the robot can detect there is no path {65} but do not prescribe what it should do in this case. For the goal-directed navigation problem in unknown static terrain, if there is no path because of obstacles, the robot should stop and announce there is no path [50]. However, if a robot cannot find the path due to the AUV (e.g., robots are in a narrow passage or corner), then it should stop moving temporarily and wait for the next iteration to update the path.
Figure 41 displays a general flowchart of a robot Ri in the MRS that is executed in the implementation. The robots first plan their initial paths without considering other robots. Then, the conflict avoidance strategy between robots is implemented when the robot moves along its original path. Before robot Ri moves to the next vertex, it checks whether there is a conflict with the other robots in order of priority from high to low. If there is a conflict, MR-D* Lite sets the AUV for Ri and then replans its path. After all other robots are checked, robot Ri moves one step and then repeats the procedure until it eventually reaches the goal coordinates.
3.4 Example
We now step through the example of Fig. 1 to show the operation of MR-D* Lite. Figure 42 (a) and (b) show the heuristics of R1’s and R2’s traversable cells, which approximate the distance from a cell to the start cell with the maximum absolute differences of the x and y coordinates of both cells. Figure 42 (c)-(l) shows the g-values and rhs-values of the traversable cells. The start cells of R1 and R2 are C1 and E2, and the goal cells are C5 and A2. The cell with a bold border is the current cell of the robot. Figure 42 (c) and (d) show the values after the first call Initialize(1) and Initialize(2). Figure 42 (e) and (f) show the values after the first call ComputeShortestPath(1) and ComputeShortestPath(2). The robot follows the path from the start to the goal cell by always moving from the current vertex s, starting at the start cell, to any successor that minimizes c(s, s’) + g(s’) (i.e., the rhs-value in Fig. 42) until the goal cell is reached. Thus, as shown in Fig. 42 (e) and (f), the original path of R1 is C1 – C2 – C3 – C4 – C5, and the original path of R2 is E2 – D2 – C2 – B2 – A2. Therefore, the robots are likely to collide at C2. After the first call UpdatePath(1) and UpdatePath(2), R1’s path remains unchanged, but R2’s path changes, as shown in Fig. 42 (h). Each robot then follows the path from its current cell to the goal cell. Therefore, R1 moves the first step to C2, and R2 moves the first step to D2. Before the robots move the second step, MR-D* Lite calls UpdatePath(1) and UpdatePath(2) again, and the previous AUVs are cleared. The path of the robot after the first replanning no longer conflicts. However, the vertices where the robots are located are set as each other’s AUV, as shown in Fig. 42 (i) and (j), because they are adjacent. The paths of robots remain unchanged, and R1 and R2 move to C3 and C1, respectively. Before the robots move the third step, MR-D* Lite calls UpdatePath(1) and UpdatePath(2) for the third time. The previous AUVs are cleared, and no new AUVs are set. Each robot follows its remaining path from the current cell to the goal cell without observing other conflicts or obstacles and thus without changing the g-values and rhs-values.
4 Experimental results
We tested MR-D* Lite in experiments run on a Xeon E5 computer at 2.10 GHz with 16 Gb of RAM. The priority of the robots is R1 > R2 > R3 > R4 > R5. We assume that each robot occupies a vertex in the grid map, and it takes the same time for a robot to move from the current vertex to the next vertex. As shown in Fig. 43, the green and red squares are the start vertex and goal vertex of a robot, and the red and green lines are the trajectories of R1 and R2, respectively. The yellow square is the vertex where the trajectories overlap. The experimental results in Fig. 43 correspond to the four cases of CST1 in Fig. 4.
The experimental results in Fig. 44 correspond to the eight cases of CST2 in Fig. 5. Note that in some cases, because MR-D* Lite gives robots the ability to deal with potential conflict scenarios in advance (taking Fig. 44 (a) as an example), the robot does not reach the position in Fig. 5 (a).
For CST3, CST4, and CST5, many scenarios correspond to the eight moving directions of the higher priority robot. Due to symmetry, we only list the experimental results when the higher priority robot R1 moves north and northeast, where the simulation results in Figs. 45 and 46 correspond to CST3 in Figs. 6 and 7, the results in Figs. 47 and 48 correspond to CST4 in Figs. 14 and 15, and the results in Figs. 49 and 50 correspond to CST5 in Figs. 22 and 26. The simulation results in Figs. 43, 44, 45, 46, 47, 48, 49 and 50 show that MR-D* Lite can successfully resolve the conflict scenario mentioned in Section 3.
Experiments are conducted with more robots to validate the flexibility of the proposed algorithm. Figure 51 shows the conflict avoidance trajectories of the three robots, that is, R1 (red line), R2 (green line), and R3 (blue line).
Figure 52 shows the conflict avoidance trajectories of four robots, that is, R1 (red line), R2 (green line), R3 (blue line), and R4 (white line), where Fig. 52 (a) is the experimental result of the scenario shown in Fig. 38 (a).
Figure 53 shows the conflict avoidance trajectories of five robots: R1 (red line), R2 (green line), R3 (blue line), R4 (white line), and R5 (magenta line). The experimental results in Figs. 51-53 show that MR-D* Lite can successfully avoid collisions with obstacles and other robots. Figures 51 (a), 52 (a), and 53 (a) show that the algorithm can solve the problem of many robots being concentrated at a single choke vertex.
We compare MR-D* Lite against three other MRPP algorithms: FIS, APF, and HPP [46]. As shown in Fig. 54, the experimental environment is a two-dimensional space of 100 × 100 rectangle, where the term Si denotes the start position of Ri and Gi denotes the target position. Table 2 lists the coordinates of the start position and goal position of robots.
The performance of the experimental results is first analyzed in terms of trajectory distance, by which we can minimize energy and time consumption. The MR-D* Lite algorithm first plans a globally optimal path for each robot and modifies the established path when a potential conflict between the robots is detected. The robots using the other three algorithms plan their paths while moving according to the surrounding environment’s information. Therefore, the robots using MR-D* Lite can typically generate a shorter trajectory, which is reflected in Table 3.
One of the goals of MRPP is to ensure that any action taken to avoid a collision with another robot in real-time does not adversely affect the optimal planned route beyond the minimum extra effort required to avoid the collision [51]. Thus, the performance of the experimental results is analyzed in terms of the path deviation. Table 4 lists the robot’s path deviation under different algorithms, which is the trajectory distance minus the linear distance between the initial position and the target position. In MR-D* Lite, the method to resolve conflicts between robots is replanning the path based on the AUV. The other three algorithms mainly resolve conflicts by generating a repulsive force between robots. Therefore, as shown in Table 4, the other three methods may produce more unnecessary detours.
Table 5 lists the computational time of different algorithms to solve the conflicts between robots. MR-D* Lite avoids interrobot collisions and deadlocks by bypassing the AUV, and other algorithms need to make the robot escape the predefined danger zone to address the problem. The AUV contains up to 11 vertices, and the danger zone may contain a large number of vertices. Therefore, MR-D* Lite takes less time for robots to resolve conflicts.
5 Conclusions
This paper introduces a multi-robot version of a well-known single-robot path planning algorithm D* Lite. The proposed method resolves collisions and deadlocks between multiple robots while maintaining the robustness and real-time performance of the D* Lite algorithm. Thus, MR-D* Lite can tolerate inaccuracies in a map and fast replan a conflict-free path. The experimental results show that MR-D* Lite outperforms the remaining three algorithms in path deviation and replanning time. However, in this paper, the conflict is not detected until it almost happens, so sometimes the robot needs a large steering angle to avoid the collision. In the future, further efforts are needed to solve the problem.
Data availability
All data, models generated or used during the study are available from the corresponding author by request.
Code availability
All codes generated or used during the study are available from the corresponding author by request.
References
Chopra S, Notarstefano G, Rice M, Egerstedt M (2017) A distributed version of the hungarian method for multirobot assignment. IEEE Trans Robot 33(4):932–947
Feng Z, Sun C, Hu G (2016) Robust connectivity preserving rendezvous of multirobot systems under unknown dynamics and disturbances. IEEE Trans Control Netw Syst 4(4):725–735
Rizk Y, Awad M, Tunstel EW (2019) Cooperative heterogeneous multi-robot systems: a survey. ACM Comput Surv 52(2):1–31
Roldán JJ, Garcia-Aunon P, Garzón M, De León J, Del Cerro J, Barrientos A (2016) Heterogeneous multi-robot system for mapping environmental variables of greenhouses. Sensors 16(7):1018
Das PK, Jena PK (2020) Multi-robot path planning using improved particle swarm optimization algorithm through novel evolutionary operators. Appl Soft Comput 106312
Nath A, Arun AR, Niyogi R (2019) A distributed approach for road clearance with multi-robot in urban search and rescue environment. Int J Intell Robot Appl 3(4):392–406
Di Nuovo A, Broz F, Wang N, Belpaeme T, Cangelosi A, Jones R, Dario P (2018) The multi-modal interface of robot-era multi-robot services tailored for the elderly. Intell Serv Robot 11(1):109–126
Nagavarapu SC, Vachhani L, Sinha A (2016) Multi-robot graph exploration and map building with collision avoidance: a decentralized approach. J Intell Robot Syst 83(3):503–523
Dai X, Jiang L, Zhao Y (2016) Cooperative exploration based on supervisory control of multi-robot systems. Appl Intell 45(1):18–29
Li Z, Barenji AV, Jiang J, Zhong RY, Xu G (2020) A mechanism for scheduling multi robot intelligent warehouse system face with dynamic demand. J Intell Manuf 31(2):469–480
Viet HH, Dang VH, Choi S, Chung TC (2015) BoB: an online coverage approach for multi-robot systems. Appl Intell 42(2):157–173
Liu Y, Nejat G (2016) Multirobot cooperative learning for semiautonomous control in urban search and rescue applications. J Field Robot 33(4):512–536
Gans NR, Rogers JG (2021) Cooperative multirobot systems for military applications. Curr Robot Rep:1–7
Kantaros Y, Zavlanos MM (2016) Global planning for multi-robot communication networks in complex environments. IEEE Trans Robot 32(5):1045–1061
Schuster MJ, Schmid K, Brand C, Beetz M (2019) Distributed stereo vision-based 6D localization and mapping for multi-robot teams. J Field Robot 36(2):305–332
Serpen G, Dou C (2015) Automated robotic parking systems: real-time, concurrent and multi-robot path planning in dynamic environments. Appl Intell 42(2):231–251
Fazlollahtabar H, Hassanli S (2018) Hybrid cost and time path planning for multiple autonomous guided vehicles. Appl Intell 48(2):482–498
Paden B, Čáp M, Yong SZ, Yershov D, Frazzoli E (2016) A survey of motion planning and control techniques for self-driving urban vehicles. IEEE Trans Intell Vehic 1(1):33–55
Deplano D, Franceschelli M, Ware S, Rong S, Giua A (2020) A discrete event formulation for multi-robot collision avoidance on pre-planned trajectories. IEEE Access 8:92637–92646
Zhou Y, Hu H, Liu Y, Ding Z (2017) Collision and deadlock avoidance in multirobot systems: a distributed approach. IEEE Trans Syst Man Cyber Syst 47(7):1712–1726
Tran VP, Garratt MA, Petersen IR (2020) Switching formation strategy with the directed dynamic topology for collision avoidance of a multi-robot system in uncertain environments. IET Control Theory & Applications 14(18):2948–2959
Oral T, Polat F (2015) MOD* lite: an incremental path planning algorithm taking care of multiple objectives. IEEE Trans Cybern 46(1):245–257
Zhou Y, Hu H, Liu Y, Lin SW, Ding ZH (2020) A distributed method to avoid higher-order deadlocks in multi-robot systems. Automatica 112:108706
Liu F, Narayanan A (2011) Real time replanning based on a* for collision avoidance in multi-robot systems, In 2011 8th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI), pp. 473–479
Precup RE, Voisan EI, Petriu EM, Tomescu ML, David RC, Szedlak-Stinean AI, Roman RC (2020) Grey wolf optimizer-based approaches to path planning and fuzzy logic-based tracking control for mobile robots. Int J Comput Commun Control 15(3)
Wei C, Hindriks KV, Jonker CM (2016) Altruistic coordination for multi-robot cooperative pathfinding. Appl Intell 44(2):269–281
Chen L, Zhao Y, Zhao H, Zheng B (2021) Non-communication decentralized multi-robot collision avoidance in grid map workspace with double deep Q-network. Sensors 21(3):841
Yu J, LaValle SM (2016) Optimal multirobot path planning on graphs: complete algorithms and effective heuristics. IEEE Trans Robot 32(5):1163–1177
Sharon G, Stern R, Felner A, Sturtevant NR (2015) Conflict-based search for optimal multi-agent pathfinding. Artif Intell 219:40–66
Sharon G, Stern R, Goldenberg M, Felner A (2013) The increasing cost tree search for optimal multi-agent pathfinding. Artif Intell 195:470–495
Wagner G, Choset H (2015) Subdimensional expansion for multirobot path planning. Artif Intell 219:1–24
Long P, Fan T, Liao X, Liu W, Zhang H, Pan J (2018) Towards optimally decentralized multi-robot collision avoidance via deep reinforcement learning, In 2018 IEEE International Conference on Robotics and Automation (ICRA), pp. 6252–6259
He W, Qi X, Liu L (2021) A novel hybrid particle swarm optimization for multi-UAV cooperate path planning. Appl Intell:1–15
Das PK, Behera HS, Jena PK, Panigrahi BK (2016) Multi-robot path planning in a dynamic environment using improved gravitational search algorithm. J Electric Syst Inform Technol 3(2):295–313
Hidalgo-Paniagua A, Vega-Rodríguez MA, Ferruz J, Pavón N (2017) Solving the multi-objective path planning problem in mobile robotics with a firefly-based approach. Soft Comput 21(4):949–964
Precup RE, Petriu EM, Radae MB, Voisan EI, Dragan F (2015) Adaptive charged system search approach to path planning for multiple mobile robots. IFAC-PapersOnLine 48(10):294–299
Zhang Y, Zhnag YN, Liu XD (2019) Path planning of multiple industrial mobile robots based on ant colony algorithm, In Proceedings of 2019 16th International Computer Conference on Wavelet Active Media Technology and Information Processing, pp. 406–409
Contreras-Cruz MA, Lopez-Perez JJ, Ayala-Ramirez V (2017) Distributed path planning for multi-robot teams based on artificial bee colony, In Proceedings of 2017 IEEE Congress on Evolutionary Computation (CEC), pp. 541–548
Jose K, Pratihar DK (2016) Task allocation and collision-free path planning of centralized multi-robots system for industrial plant inspection using heuristic methods. Robot Auton Syst 80:34–42
Park H, Hutchinson SA (2017) Fault-tolerant rendezvous of multirobot systems. IEEE Trans Robot 33(3):565–582
Dewangan RK, Shukla A, Godfrey WW (2017) Survey on prioritized multi robot path planning, In 2017 IEEE international conference on smart technologies and management for computing, communication, controls, energy and materials (ICSTM), pp. 423–428)
Matoui F, Boussaid B, Abdelkrim MN (2019) Distributed path planning of a multi-robot system based on the neighborhood artificial potential field approach. Simulation 95(7):637–657
Ma X, Jiao Z, Wang Z, Panagou D (2016) Decentralized prioritized motion planning for multiple autonomous uavs in 3d polygonal obstacle environments, In 2016 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 292–300
Čáp M, Novák P, Kleiner A, Selecký M (2015) Prioritized planning algorithms for trajectory coordination of multiple mobile robots. IEEE Trans Autom Sci Eng 12(3):835–849
Yakovlev K, Andreychuk A (2017) Any-angle pathfinding for multiple agents based on SIPP algorithm. Proceedings of the International Conference on Automated Planning and Scheduling 27(1)
Zhao T, Li H, Dian S (2020) Multi-robot path planning based on improved artificial potential field and fuzzy inference system. J Intell Fuzzy Syst 39(5):7621–7637
Nazarahari M, Khanmirza E, Doostie S (2019) Multi-objective multi-robot path planning in continuous environment using an enhanced genetic algorithm. Expert Syst Appl 115:106–120
Reyes NH, Barczak AL, Susnjak T, Jordan A (2017) Fast and smooth replanning for navigation in partially unknown terrain: the hybrid fuzzy-D* lite algorithm. In: Robot intelligence technology and applications 4. Pp. 31–41
Liu F, Narayanan A (2014) Collision avoidance and swarm robotic group formation. International Journal of Advanced Computer Science 4(2):64–70
Koenig S, Likhachev M (2005) Fast replanning for navigation in unknown terrain. IEEE Trans Robot 21(3):354–363
Han SD, Yu J (2020) Ddm: fast near-optimal multi-robot path planning using diversified-path and optimal sub-problem solution database heuristics. IEEE Robot Autom Lett 5(2):1350–1357
Funding
This work is supported by the Sichuan Science and Technology Program (2020YFG0115) and Chengdu Science and Technology Program (2019-YF05-00958-SN).
Author information
Authors and Affiliations
Contributions
The study is conceived and designed by Haodong Li. The first draft of the manuscript was written by Haodong Li and Tao Zhao, and revised by Tao Zhao and Songyi Dian. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Conflict of interest
The authors have no conflicts of interest to declare that are relevant to the content of this article.
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Li, H., Zhao, T. & Dian, S. Prioritized planning algorithm for multi-robot collision avoidance based on artificial untraversable vertex. Appl Intell 52, 429–451 (2022). https://doi.org/10.1007/s10489-021-02397-0
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10489-021-02397-0