400 likes | 507 Views
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
E N D
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
IntroductionProblem Definition • Robot with vision capabilities • Workspace W • Path p • Boundary dW W p dW
IntroductionProblem Definition • Find a short p from which every point on dW is visible W p dW
IntroductionUses • 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 dW 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
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 AlgorithmSelecting 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 AlgorithmSelecting the Guards • Main structure is a loop • At each iteration, a point x on the border dW 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
2-D AlgorithmSelecting 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 AlgorithmSelecting 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 AlgorithmConnecting 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 AlgorithmConnecting the Guards • Actually use an approximation to the TSP – pre-order walk of a Minimum Spanning Tree • Applies in cases where the triangle inequality holds, which is the case for graphs in R2 and R3 (which our graph of guards is) • Path length is bounded by 2X 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 AlgorithmConnecting 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
2-D AlgorithmConnecting 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 dW 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
2-D AlgorithmConnecting the Guards • Complete graph has n2 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 3X3 window
2-D AlgorithmNote • 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 AlgorithmExperimental Results • Most computing time spent creating visibility polygons Figure 1 Figure 2 Figure 3
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 AlgorithmSelecting 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 AlgorithmSelecting 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 AlgorithmSelecting 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 AlgorithmSelecting the Guards Back Front
3-D AlgorithmSelecting 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 AlgorithmConnecting 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 AlgorithmPreliminary 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