250 likes | 371 Views
Building Surveillance Graphs for GRAPH-CLEAR. Andreas Kolling & Stefano Carpin UC Merced Presented by Pras Velagapudi. Problem: Pursuit-evasion. Spatial (typically 2D) world Assumptions about intruders: Know where robots are Can move unboundedly Objective :
E N D
Building Surveillance Graphs forGRAPH-CLEAR Andreas Kolling & Stefano Carpin UC Merced Presented by PrasVelagapudi FRC Nav. Reading Group - Nov. 2, 2009
Problem: Pursuit-evasion • Spatial (typically 2D) world • Assumptions about intruders: • Know where robots are • Can move unboundedly • Objective: • Find a sequence of actions that detects all intruders using the least number of robots FRC Nav. Reading Group - Nov. 2, 2009
GRAPH-CLEAR • Formalized subclass of pursuit evasion • Environment is weighted graph • Two actions • Blocking • Robot sits on edge, intruder can’t pass • Sweeping • Robot searches vertex, determines if intruder is present FRC Nav. Reading Group - Nov. 2, 2009
GRAPH-CLEAR In order to sweep, all edges must be blocked FRC Nav. Reading Group - Nov. 2, 2009
Surveillance Graph • Blocking edges • Edges are blocked when their corresponding areas are completely segmented by sensor coverage • Sweeping vertices • Any local clearing strategy for region corresponding to vertex • Simple bounding box sweeping used here FRC Nav. Reading Group - Nov. 2, 2009
Moving to the real world… FRC Nav. Reading Group - Nov. 2, 2009
Moving to the real world… Step 1: Surveillance Graph Step 2: ??? Step 3: Profit! GRAPH- CLEAR Solver FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph Start with generalized Voronoi graph FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph Find local clearance minima • Minima requirements: • 1 nearby point is farther from Voronoi edge • No nearby points are closer to Voronoi edge FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph Find local clearance minima clearance minima FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph Partition along minima to create initial SG FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph Compute edge weights e w(e) = 2 FRC Nav. Reading Group - Nov. 2, 2009
Step 2: Improving the graph • Auto-generated graph can be inefficient • e.g. GVG + aliasing = extra vertices • So, do some optimization! FRC Nav. Reading Group - Nov. 2, 2009
Step 2: Improving the graph • Collapse leaf nodes • Collapse chains FRC Nav. Reading Group - Nov. 2, 2009
Step 2: Improving the graph FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving • Start with weighted surveillance graph • Edges = narrow corridors between regions • Vertices = wide and open regions • Weights = # of robots to sweep/block area • Vertices = {Contaminated, Clear} • Edges = {Contaminated, Clear, Blocked} FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving Shove robots in doors until you have a tree graph Efficient solution for tree graphs • NP-complete, however, efficient for trees: FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving • Tree solution overview: • Compute bidirectional labels for each edge (Labels represent the cost of clearing the subtree on the other side of the edge, if the source node is already cleared) • Find lowest cost label • Start clearing tree from that label FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving • Leaf node: • Internal node: FRC Nav. Reading Group - Nov. 2, 2009
Step 3: GRAPH-CLEAR solving • Actually, there is an optimal O(n2) algorithm • Compute cuts on the graph for cleared vertices • Subdivide the problem into that of solving the clearing problem for each subtree FRC Nav. Reading Group - Nov. 2, 2009
Results • UC Merced FRC Nav. Reading Group - Nov. 2, 2009
Results • Radish (sdr_site_b) FRC Nav. Reading Group - Nov. 2, 2009
Results map coverage w/ non-MST robots sensing range map coverage # cycles # initial verts # robot (initial) cost of cycles # robots (final) # final verts FRC Nav. Reading Group - Nov. 2, 2009
Conclusion • GRAPH-CLEAR is applicable to real-world problems • Can construct efficient surveillance graphs using simple methods • Future work • Probabilistic variants • Local optimizations in search patterns FRC Nav. Reading Group - Nov. 2, 2009