Presentation is loading. Please wait.

Presentation is loading. Please wait.

Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning

Similar presentations


Presentation on theme: "Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning"— Presentation transcript:

1 Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning
A. Ch. Kapoutsis, S. A. Chatzichristofis, E. B. Kosmatopoulos, “DARP: Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning”, «Journal of Intelligent & Robotic Systems», Springer.

2 The multi-robot Coverage Path Planning (mCPP) Problem
Given the following set-up: Obstacles Location Initial Robots position – Starting Cells Calculate: Robots Paths  A sequential set of cells for each available robot In order to: Fully coverage the operation area  every unoccupied cell Using the minimum amount of energy

3 The single-robot Coverage Path Planning (CPP) Problem
Given the following set-up: Obstacles spreading Initial Robot position – Starting Cell Calculate: Robot Path A sequential set of cells starting from the starting cell In order to: Fully coverage the operation area  every unoccupied cell Using the minimum amount of energy

4 STC - An optimal O(n) algorithm for the single robot case
Under the assumption that any obstacle occupy at least 4 cells, the single robot CPP has a dedicated algorithm O(n) to calculate the optimal path Main Steps Group cells in packs of 4 and represent them as nodes. Also, place the corresponding adjacent connections If the 4-cell node is occupied by obstacle do not add any node or connection Calculate the Minimum Spanning Tree, that traverses all the nodes Move the robot so as to circumnavigate around the constructed MST Reference: Gabriely, Yoav, and Elon Rimon. "Spanning-tree based coverage of continuous areas by a mobile robot." Annals of Mathematics and Artificial Intelligence (2001):

5 Reduce the Original mCPP Problem utilizing STC algorithm
Utilizing the findings of STC algorithm mCPP problem can be reduced to the construction of 𝑾 𝟏 , 𝑾 𝟐 , … 𝑾 𝒏 𝒓 exclusive robot regions. After the calculation of these exclusive regions the STC algorithm 𝒏 𝒓 instances of the STC algorithm could be deployed – in a completely distributed manner – to calculate the exact robots’ paths inside the 𝑾 i sets. However, the construction of 𝑾 i sets for every problem configuration (Obstacles – Initial robots formation) is not trivial!

6 mCPP problem – Attributes of any optimal path selection (Definition 3 in paper)
A selection { 𝑾 𝒊 , 𝑾 𝒊 ,…, 𝑾 𝒏 𝒓 } compose an optimal solution iff 𝑾 𝒊 ∩ 𝑾 𝒋 = ∅, ∀ 𝒊,𝒋 ∈𝟏, …, 𝒏 𝒓 , 𝒊≠𝒋 The intersection between two different robots paths must be zero. It goes without saying that each set cannot have duplicate elements of the same cell. 𝑾 𝟏 ∪ 𝑾 𝟐 ∪ … 𝑾 𝒏 𝒓 =𝑳, The union of all 𝑾 𝒊 sets must contain every unblocked cell of the area to be covered (𝑳) 𝑾 𝟏 ≈ 𝑾 𝟐 ≈ … 𝑾 𝒏 𝒓 Balanced load in each robot’s set path 𝑾 𝒊 is spatially connected ∀ 𝒊∈𝟏, …, 𝒏 𝒓 , The cells inside each robot’s set 𝑾 𝒊 should be compact, having a spatial connectivity 𝒙 𝒊 (𝒕𝟎) = [ 𝒙 𝒊 𝟎 ; 𝒚 𝒊 𝟎 ] ∈ 𝑾 𝒊 The final condition refines that the initial position of each robot `i(t0) must be contained on its own set 𝑾 𝒊

7 Divide Areas based on Robots initial Positions (DARP) Flowchart
Main Idea of DARP algorithm: Each robot provides a reachability measure (Evaluation Matrix) for every unoccupied cell, a simple mechanism assigns in each cell the robot with the smallest reachability value. At each iteration change the “Evaluation Matrix” of each robot so as to meet the attributes of the optimal solution (Definition 1). Initially the reachability measures E for each robot are their in-between Euclidean distance. Iterate the following until you reach the optimality attributes (Definition 3).: Assign a robot for each unoccupied cell based on A x,y = 𝑎𝑟𝑔𝑚𝑖 𝑛 𝑟 ( 𝐸 𝑟 (𝑥,𝑦)) For each 𝑟 robot: If the robot has been assigned to multiple, unconnected regions Create appropriately CM matrix so as to give more priority on cells around the main robot’s sub-region (The one where the robot actual lies in) Else CM  all ones e= [#𝑈𝑛𝑜𝑐𝑐𝑢𝑝𝑖𝑒𝑑 𝐶𝑒𝑙𝑙𝑠] 𝑛 𝑟 −[# 𝐴 𝑥,𝑦 ==𝑟 ] Find the residual from the fair share. Create a matrix T which has the appropriate rescale factor based on 𝑒 𝐸 𝑟 =𝐶𝑀⊙𝑇⊙ 𝐸 𝑟 Update the evaluation matrix, using the previously calculated matrices.

8 An indicative instance of DARP in action
Severe initial robots’ placement A sample execution is illustrated in this figure, where the terrain is constituted of 42× 42 cells and the number of robots is nr = 5. The initial robots’ positions were squeezed inside a sub-region of the whole operation area, at the left bottom space of the grid, with dimension 10×10 cells.

9 Divide Areas based on Robots initial Positions (DARP) Computational Complexity Analysis
The evidences of this representation indicate that DARP’s complexity is cubic with respect to the input of the problem (nr × n), as the approximation on the complexity curve is strictly bounded under the nr^3 × n2 curve, at least until the maximum simulated parameters nr = 20 and n = 5000.

10 Outline of the Proposed Approach (DARP+STC)
Initial Robots and Obstacles Placement Divide area into 𝒏 𝒓 exclusive sub-areas, utilizing DARP Calculate 𝒏 𝒓 MST inside each exclusive robot’s sub-area Circumnavigate each robot around the corresponding MST

11 Software Video demonstration and standalone application (.jar) are available


Download ppt "Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning"

Similar presentations


Ads by Google