Building Surveillance Graphs for GRAPH-CLEAR Andreas Kolling & Stefano Carpin UC Merced Presented by Pras Velagapudi FRC Nav. Reading Group - Nov. 2, 2009
Feb 23, 2016
FRC Nav. Reading Group - Nov. 2, 2009
Building Surveillance Graphs forGRAPH-CLEAR
Andreas Kolling & Stefano CarpinUC Merced
Presented by Pras Velagapudi
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-CLEARIn 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
GRAPH-CLEARSolver
Step 2:???
Step 3:Profit!
FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance GraphStart with generalized Voronoi graph
FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graph
Minima requirements:
•1 nearby point is farther from Voronoi edge
•No nearby points are closer to Voronoi edge
Find local clearance minima
FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance Graphclearanceminima
Find local clearance minima
FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance GraphPartition along minima to create initial SG
FRC Nav. Reading Group - Nov. 2, 2009
Step 1: Surveillance GraphCompute edge weights
w(e) = 2
e
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:1. 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)
2. Find lowest cost label3. 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
sens
ing r
ange
# ini
tial v
erts
# fina
l ver
ts# r
obot
(ini
tial)
# rob
ots (
final)
# cyc
lesco
st of
cycle
sm
ap co
vera
gem
ap co
vera
ge w
/ non
-MST
ro
bots
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