Randomized Planning for Short Inspection Paths Tim Danner








































- Slides: 40

Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University

Outline • • Introduction Art Gallery and Watchman Route Problems Adding Realism 2 -D Algorithm – Selecting Guards – Connecting Guards – Results • 3 -D Algorithm – Differences – Preliminary Results • Future Work

Introduction Problem Definition • • Robot with vision capabilities Workspace W Path p Boundary d. W p W

Introduction Problem Definition • Find a short p from which every point on d. W is visible p d. W W

Introduction Uses • Autonomous inspection of spacecraft exterior • Flying camera building inspection • Virtual reality architecture walkthrough

Art Gallery Problem • Find minimal number of positions for guards to stand so that every point in a gallery is “visible” to at least one guard • “Visible” is defined as the line of sight between the guard and the point lies entirely in W

Watchman Route Problem • For workspace W, find the shortest path p in W such that every point on the boundary d. W can be seen by a point on path p

Adding Realism • “Straight-line” visibility is not very realistic for real sensors • Length of line of sight must have a maximum • Angle of incidence of line of sight must have a maximum – 60 degrees is a typical value • System is adaptable for different sensors • 2 -D vs 3 -D

Angle of Incidence

2 -D Algorithm • Sensing with real sensors is time consuming • Two parts to the algorithm: – Solve “art gallery problem” to find locations for sensing locations - “guards” – Connect the guards with a short path, the “watchman route”

2 -D Algorithm Selecting the Guards • True minimal set of guards is an NP-hard problem • Randomized planner is used in this case • Uses Gonzalez-Banos and Latombe’s randomized, incremental algorithm

2 -D Algorithm Selecting the Guards • Main structure is a loop • At each iteration, a point x on the border d. W of W that is not yet guarded is chosen randomly • Construct region which can see x (same as region which x can see) • Apply two range constraints: limited length line of sight and angle of incidence

Choose a point x

Construct its visibility region

Apply maximum line of sight constraint

Apply angle of incidence constraint

Select new guards from blue outlined region

2 -D Algorithm Selecting the Guards • Sample region k times, evaluating each point as a possible new guard • Sample which can cover the largest portion of the new length of border is chosen as the new guard and guarded border is updated • Loop repeats until the entire border is guarded

2 -D Algorithm Selecting the Guards • One problematic case is sharp interior angles • A “disproportionately large” number of guards may be needed and hard to place • Incremental loop can be terminated

2 -D Algorithm Connecting the Guards • Basically, find an order to connect guards out of a possible n! orders • Connect guards using a graph algorithm • In this manner, the problem becomes a “traveling salesman problem”

2 -D Algorithm Connecting the Guards • Actually use an approximation to the TSP – preorder walk of a Minimum Spanning Tree • Applies in cases where the triangle inequality holds, which is the case for graphs in R 2 and R 3 (which our graph of guards is) • Path length is bounded by 2 X actual TSP for complete graphs • If workspace is connected, then the graph is complete (for an inspection path to exist, the space must be connected)

2 -D Algorithm Connecting the Guards • Shortest Paths Graph (SPG) – One node for each guard – One edge for each pair of guards – Weight is assigned to each edge (i, j) that is equal to the shortest collision-free path from point i to j – May be straight line or more complex

SPG - Guard locations are nodes

2 -D Algorithm Connecting the Guards • Shortest path between two points is done by constructing and searching another graph, the workspace-guard roadmap • Workspace-guard roadmap has one node for each vertex on d. W and one node for each guard • Has an edge between a pair of nodes i and j if and only if it is collision-free

SPG - Add nodes at vertices

SPG - Add edges

Use MST for short path

2 -D Algorithm Connecting the Guards • Complete graph has n 2 edges, but we can use a shortcut • Only connect close points, by dividing workspace into rectangular grid • About 10 nodes per cell • Connection is made with a moving 3 X 3 window

2 -D Algorithm Connecting the Guards

2 -D Algorithm Note • The default is to inspect the interior • To inspect an exterior, surround entire workspace with a rectangle and mark it guarded W W

2 -D Algorithm Experimental Results Figure 1 Figure 2 Figure 3 • Most computing time spent creating visibility polygons

3 -D Algorithm • Necessary for real workspaces • Algorithm is very similar • Difficulty – computing visibility polyhedrons in 3 -D instead of visibility polygons in 2 -D

3 -D Algorithm Selecting the Guards • Visual constraints remain simple • Two steps will require visibility volumes – Determining a sampling region – Determining what surfaces a sampled point can see • However, explicitly computing visibility polyhedron can be avoided

3 -D Algorithm Selecting the Guards • Determining sampling region utilizes constraint sphere and cone – Compute the intersection of these – Randomly sample this region and test if point is valid • Both of these are much easier than computing a visibility polyhedron

3 -D Algorithm Selecting the Guards • Once points are sampled, need to: – Determine what surfaces can be seen by them – Subtract already guarded surfaces • Use a front to back checking method, clipping each additional surface with the previous ones

3 -D Algorithm Selecting the Guards Back Front

3 -D Algorithm Selecting the Guards • Complications – Need a way of defining order – Resolving circular problems – Selecting adequate data structure • Binary Space Partitioning Tree for defining front to back order

3 -D Algorithm Connecting the Guards • No analog to creating the optimal shortest paths as in 2 -D • Shortest path is most likely not around vertices • Instead of augmenting guard roadmap with workspace vertices, random planner is used

3 -D Algorithm Preliminary Results Two Cubes 20 Seconds Four Cubes & Three Tetrahedra 143 Seconds

Future Work • Considering dynamics in “path goodness” criteria • Visiting areas rather than points • Considering non-omnidirectional cameras