Building Surveillance Graphs for GRAPH-CLEAR Andreas Kolling & Stefano Carpin UC Merced Presented by Pras Velagapudi FRC Nav. Reading Group - Nov. 2, 2009.

Slides:



Advertisements
Similar presentations
Advanced Topics in Algorithms and Data Structures
Advertisements

Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Graphs By JJ Shepherd. Introduction Graphs are simply trees with looser restrictions – You can have cycles Historically hard to deal with in computers.
September 26, 2012Introduction to Artificial Intelligence Lecture 7: Search in State Spaces I 1 After our “Haskell in a Nutshell” excursion, let us move.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Overlay of Two Subdivisions
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
NUS CS5247 A Visibility-Based Pursuit-Evasion Problem Leonidas J.Guibas, Jean-Claude Latombe, Steven M. LaValle, David Lin, Rajeev Motwani. Computer Science.
Visibility-Based Pursuit-Evasion in a Polygonal Environment L.J. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, and R. Motwani Finding an Unpredictable Target.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Buron Florian CS223b Target finding Visibility-Based Pursuit-Evasion in a Polygonal Environment. L.J. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, and R.
- 1 - Intentional Mobility in Wireless Sensor Networks Deployment, Dispatch, and Applications Dr. You-Chiun Wang ( 王友群 ) Department of Computer Science,
Presented by David Stavens. Autonomous Inspection Compute a path such that every point on the boundary of the workspace can be inspected from some point.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
1 Worst and Best-Case Coverage in Sensor Networks Seapahn Meguerdichian, Farinaz Koushanfar, Miodrag Potkonjak, Mani Srivastava IEEE TRANSACTIONS ON MOBILE.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Pursuit Evasion as presented in Megiddo et al. 1988: „The complexity of searching a graph“ Sebastian Blohm.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Mark Waitser Computational Geometry Seminar December Iterated Snap Rounding.
Graph Algorithms: Shortest Path We are given a weighted, directed graph G = (V, E), with weight function w: E R mapping.
System Partitioning Kris Kuchcinski
CS294-6 Reconfigurable Computing Day 16 October 15, 1998 Retiming.
Voronoi Diagrams.
Finding an Unpredictable Target in a Workspace with Obstacles LaValle, Lin, Guibas, Latombe, and Motwani, 1997 CS326 Presentation by David Black-Schaffer.
Two Discrete Optimization Problems Problem #2: The Minimum Cost Spanning Tree Problem.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
1 Section 9.2 Tree Applications. 2 Binary Search Trees Goal is implementation of an efficient searching algorithm Binary Search Tree: –binary tree in.
Distance Approximating Trees in Graphs
Data Structures and Algorithms Graphs Minimum Spanning Tree PLSD210.
Artificial Intelligence Lecture 9. Outline Search in State Space State Space Graphs Decision Trees Backtracking in Decision Trees.
Planning with Non-Deterministic Uncertainty. Recap Uncertainty is inherent in systems that act in the real world Last lecture: reacting to unmodeled disturbances.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
University of Amsterdam Search, Navigate, and Actuate - Qualitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Qualitative Navigation.
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Domain-Dependent View of Multiple Robots Path Planning Pavel Surynek Charles University, Prague Czech Republic.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way.
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
Coverage Problems in Wireless Ad-hoc Sensor Networks Seapahn Meguerdichian 1 Farinaz Koushanfar 2 Miodrag Potkonjak 1 Mani Srivastava 2 University of California,
Strongly Connected Components for Directed Graphs Kelley Louie Credits: graphs by /demo/graphwin/graphwin.
1) Find and label the degree of each vertex in the graph.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Coverage and Deployment 1. Coverage Problems Coverage: is a measure of the Quality of Service (QoS) of a sensor network How well can the network observe.
LOOKING FOR THE OVERLAP SOLVING SYSTEMS OF INEQUALITIES.
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Example robot cleared region robot’s visibility region hiding region 2
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
Algorithms and networks
Graphs Chapter 13.
Boustrophedon Cell Decomposition
Algorithms and networks
4-4 Graph Theory Trees.
Haskell Tips You can turn any function that takes two inputs into an infix operator: mod 7 3 is the same as 7 `mod` 3 takeWhile returns all initial.
Discrete Math 2 Shortest Path Using Matrix
Graph Algorithms: Shortest Path
Overlay of Two Subdivisions
Presentation transcript:

Building Surveillance Graphs for GRAPH-CLEAR Andreas Kolling & Stefano Carpin UC 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-CLEAR FRC Nav. Reading Group - Nov. 2, 2009 In order to sweep, all edges must be blocked

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… FRC Nav. Reading Group - Nov. 2, 2009 Step 1: Surveillance Graph GRAPH- CLEAR Solver Step 2: ??? Step 3: Profit!

Step 1: Surveillance Graph FRC Nav. Reading Group - Nov. 2, 2009 Start with generalized Voronoi graph

Step 1: Surveillance Graph FRC Nav. Reading Group - Nov. 2, 2009 Minima requirements: 1 nearby point is farther from Voronoi edge No nearby points are closer to Voronoi edge Find local clearance minima

Step 1: Surveillance Graph FRC Nav. Reading Group - Nov. 2, 2009 clearance minima Find local clearance minima

Step 1: Surveillance Graph FRC Nav. Reading Group - Nov. 2, 2009 Partition along minima to create initial SG

Step 1: Surveillance Graph FRC Nav. Reading Group - Nov. 2, 2009 Compute edge weights w(e) = 2 e

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 FRC Nav. Reading Group - Nov. 2, 2009 NP-complete, however, efficient for trees:

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 label 3.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(n 2 ) 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 FRC Nav. Reading Group - Nov. 2, 2009 sensing range# initial verts # final verts # robot (initial) # robots (final) # cycles cost of cycles map coverage w/ non-MST robots

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