Planning to find an unpredictable evader
The goal is to develop a planner uses visibility to search for a find
an "evader" that moves arbitrarily fast among polygonal obstacles.
The input is: i) a polygonal description of the environment; ii) an
initial position of a point robot (a.k.a. the "pursuer"). The output
is a continuous collision-free path that explores the environment in a
way that guarantees that the evader will eventually be seen by the
pursuer, regardless of the evader's efforts.
The project is organized into 4 steps:
- Generate a roadmap based on edge visibility:
Write a program decomposes a polygonal environment into convex
cells that maintain constant edge visibility (i.e., the set of
edges that are visible from from any point in the interior of the
cell remain unchanged). Form a roadmap
by connecting cell centers of adjacent cells using line segments.
The decomposition is described in the paper below.
- Generate a visibility polygon:
From any point, (x,y), in the environment, the set of all
points visible to (x,y) form a polygon, called the
visibility polygon. Write a program that computes the
visibility polygon for any point (hint: perform a radial sweep).
- Generate and search an information-state graph:
Write a program that generates a graph from the edge-visibility
roadmap that maintains the correct information states
(identifying which portions of the environment have been
"cleared" and which remain "contaminated"). Use dynamic
programming to search the resulting graph for a solution.
- Coordinate multiple pursuers:
Many environments cannot be successfully searched by a single
pursuer. Extend the planner from the previous step by allowing
a pursuer to search part of the environment and remain fixed,
while another pursuer searches the remaining portion of the
environment.
Related paper:
A Visibility-Based
Pursuit-Evasion Problem by Leonidas J. Guibas,
Jean-Claude Latombe, Steven M. LaValle, David Lin and
Rajeev Motwani.
[Postscript version]