480 likes | 743 Views
Visibility-based Motion Planning. Lecture slides for COMP 790-058 presented by Georgi Tsankov. Topics. Art gallery problem Sensor placement Map generation Finding a target (pursuit-evasion) Following a target. Topics. Art gallery problem Sensor placement Map generation
E N D
Visibility-based Motion Planning Lecture slides for COMP 790-058 presented by Georgi Tsankov
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Art gallery problem • Question: how many cameras do we need to guard a polygonal art-gallery ? • NP-hard • Bounds: O(n/3), examples http://www.cs.wustl.edu/~pless/506/l6.html
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Sensor PlacementDefinition • Art gallery + more visibility constraints [1]: • Free path • Range constraint (min, max) • Incidence constraint
Sensor PlacementAlgorithm • Also NP-hard, so a good and fast approximation is needed. • Random Sampling: • Sample M random points and decompose the boundary in R1,… RN – intervals visible by different sets of points. • Optimal set cover problem – also NP-hard, but efficient approximations exist.
Extension: generating inspection routes. [7] Cost of camera vs. cost of movement Definition: Compute the shortest path for a single camera to inspect the whole boundary. Optimal solution for simple polygons: O(N4) NP-hard when there are holes! Sensor PlacementInspection Routes
Sensor PlacementInspection Routes • Approximate algorithm: • Repeat until the boundary is covered • Choose an unguarded point Pi on the boundary and build its visibility region V(Pi) • Sample K points inside V(Pi) and pick the one with the best gain. • Connect the points: TSP with triangle inequality - a 2-approximate algorithm. • Extension to 3D • Very hard to compute visibility polyhedron! • Simplifications
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Map GenerationDefinitions • Goal: Build a map of unknown environment. [9] • On-line version of the Sensor Placement problem • Partial map, disconnected. • Problem: Given a partial map, where should we go next (NBV) ?
Map GenerationNext Best View • How do we compute the next position? • Set of candidates on the free boundary • value = -motion cost + visibility gain
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Finding a Target (pursuit-evasion)Definitions • Problem: Given: [3] • A known 2D polygonal environment with obstacles • A target robot with unrestricted speed and unknown initial position plan the movement of a pursuer, so that it eventually sees the target. • Applications: • Surveillance • Search and rescue operation • Search for other autonomous robots
Finding a Target (pursuit-evasion) Definitions • Contaminated/Clear regions • Information state: (q, S), the goal is (q, {})
Finding a Target (pursuit-evasion) Definitions • Visibility region: V(q), gap edges, solid edges. • B(q) = (0,1,0,…) - binary vector describing the information state.
Finding a Target (pursuit-evasion) Definitions • Discretize the space • Conservative regions • All points inside see the same edges. (the information state stays the same) • How do we build them?
Finding a Target (pursuit-evasion) Conservative regions • Constructing the conservative regions • Put lines whenever a new obstacle edge enters/leaves the visibility region. • Extend all edges • Extend pairs of vertices
Finding a Target (pursuit-evasion) Information graph • Once we have the regions, build a graph G, and information graph GI:
Finding a Target (pursuit-evasion) Information graph • How do we compute the edges ? • A gap edge disappears – ok • A gap edge appears – make it clear (0) q1->q2 – a gap edge disappears q2->q1 – a gap edge appears
Finding a Target (pursuit-evasion) Information graph • Computing the gap transitions (cont’d): • Gap edges merging - OR them • One gap edge splits – assign the same value q3->q4 – two gap edges merge q4->q3 – a gap edge splits
Finding a Target (pursuit-evasion) Traversing the graph • Just find a path to some goal node (00..0) • This is a complete algorithm for one pursuer! • Assumes unrestricted visibility.
Finding a Target (pursuit-evasion) Multiple pursuers • What if one pursuer can’t make the job? • How many pursuer do we need: H(F) ? • Depends on the geometry of F. • Upper bound O(sqrt(H) + log(N)) • H(F) can not be computed exactly.
Finding a Target (pursuit-evasion) Bounded target velocity • Evader with bounded velocity [2] • The contaminated regions are more restricted
Finding a Target (pursuit-evasion) Summary • For 2D: • Complete algorithm for 1 pursuer (with ideal visibility). • Bounds for number of pursuers, strategy for multiple observers. • For 3D: • How to compute visibility polyhedron ? • Are gap transitions the same as in 2D ? • Demos - http://robotics.stanford.edu/groups/mobots/pe.html
Topics • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Following a TargetApplications • Applications: • Camera movement in VE • Surveillance • Monitoring (automated) processes • Medicine • Military needs • Relation to Game theory (the target actively tries to escape visibility)
Following a TargetDefinitions • Visibility constraints: free space, range, incidence • Visibility sweeping line – the line passing through the target and a reflex vertex. [1]
Following a TargetTypes of problems • Critical vs. Average tracking • Critical: Must never lose the target (can’t find it later). The goal is to maximize the escape time. • Average: OK to lose it (probability to re-acquire it at some time). The goal is to maximize the average visibility in some time interval.
Following a TargetTypes of problems • Predictable vs. Unpredictable target motion. [4]
Following a TargetKnown target motion • Algorithm for predictable motion: • For each time step t, determine V(t) – set of points seeing the target. • The pursuer should be in V(t) for all t. • Restrict V(t) to points, reachable from V(t-1) in one time step • Do this for all t. • Complete algorithm, but exponential on dimensions. • The space must be discretized.
Following a TargetUnpredictable target • Unpredictable target motion • No complete algorithm, need approximation • The time horizon is reduced. (one time step). • Average vs. Critical tracking
Following a TargetUnpredictable target – average tracking • Maximizing the probability of visibility in the future (one) time steps. • Random motions for the target are considered (heading, velocity) for the time step • Disc with uniform density • Random next positions for the observer are sampled and intersected with the disc. • Choose the best one – maximizes visibility in the next time step.
Following a TargetUnpredictable target – critical tracking • Maximizing the escape time • Shortest distance to escape (SDE) • Select next position, which maximizes SDE
Following a TargetOther problems • Other kinds of problems: • Unknown environment [5] • Stealth tracking [8] • Multiple observers / targets [6]
Following a TargetUnknown environment • Unknown environment – have only local map • Build Escape Path Tree (EPT)
Assign “Escape Risk” to each free edge. Local coordinate system: n: towards the occluding vertex t: orthogonal, increases SDE Compute the gradient which minimizes the risk Following a TargetUnknown environment
Following a TargetUnknown environment • The direction for the observer is the average gradient over all escape paths • Benefits of the tree (EPT)
Following a TargetStealth tracking • Stealth tracking • The observer tries to stay outside of the target’s visibility region. • Lookout region. • Escape risk.
Following a TargetMultiple observers / targets • Multiple observers / targets • Most of the algorithms can be reused. • In [6] the algorithm is exponential on the number of observers. • Choosing a metric: worst vs. average risk.
Following a TargetSummary • What we have: • Complete algorithm for predictable target. • Good approximations for unpredictable target. • Algorithm for multiple observers/targets is not efficient enough, and is centralized. • Future work: • 3D environments • Improved algorithm for multiple observers.
Topics covered • Art gallery problem • Sensor placement • Map generation • Finding a target (pursuit-evasion) • Following a target
Acknowledgments • Pictures were taken from: • www.cs.cmu.edu/~motionplanning/lecture/Chap6-CellDecomp_howie.pdf • Lectures from Latombe’s course: http://robotics.stanford.edu/~latombe/cs326/2004/schedule.htm • The papers on the next page.
References • Motion Planning: Recent Developments. - Gonzalez Banos, D. Hsu, Latombe (pp. 19-32). • Visibility-Based Pursuit-Evasion with Bounded Speed. - B. Tovar, S. LaValle. • Finding an Unpredictable Target in a Workspace with Obstacles. - S. LaValle, D. Lin, L. Guibas, Latombe, R. Motwani. • Motion Strategies for Maintaining Visibility of a Moving Target. - S. LaValle, H. Gonzalez-Banos, C. Becker, Latombe. • Real-time Combinatorial Tracking of a Target Moving Unpredictably Among Obstacles. - H. Gonzalez-Banos, D. Hsu, Latombe. • A Sampling-Based Motion Planning Approach to Maintain Visibility of Unpredictable Targets. - R. Murietta-Cid, B. Tovar, S. Hutchinson. • Randomized Planning for Short Inspection Paths. - T. Danner, L. E. Kavraki. • Stealth Tracking of an Unpredictable Target among Obstacles. - T. Bandyopadhyay, Y. Li, M. H. Ang, D. Hsu. • Navigation Strategies for Exploring Indoor Environments. – H. Gonzalez-Banos, Latombe • Visibility-Based Pursuit-Evasion in Three-Dimensional Environments. – S. Lazebnik