![Page 1: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/1.jpg)
Randomized Planning for Short Inspection Paths
Tim Danner Lydia E. Kavraki
Department of Computer Science
Rice University
![Page 2: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/2.jpg)
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
![Page 3: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/3.jpg)
IntroductionProblem Definition
• Robot with vision capabilities
• Workspace W
• Path p
• Boundary dW W
dW
p
![Page 4: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/4.jpg)
IntroductionProblem Definition
• Find a short p from which every point on dW is visible
W
dW
p
![Page 5: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/5.jpg)
IntroductionUses
• Autonomous inspection of spacecraft exterior
• Flying camera building inspection
• Virtual reality architecture walkthrough
![Page 6: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/6.jpg)
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
![Page 7: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/7.jpg)
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
![Page 8: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/8.jpg)
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
![Page 9: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/9.jpg)
Angle of Incidence
![Page 10: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/10.jpg)
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”
![Page 11: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/11.jpg)
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
![Page 12: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/12.jpg)
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
![Page 13: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/13.jpg)
Choose a point x
![Page 14: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/14.jpg)
Construct its visibility region
![Page 15: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/15.jpg)
Apply maximum line of sight constraint
![Page 16: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/16.jpg)
Apply angle of incidence constraint
![Page 17: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/17.jpg)
Select new guards from blue outlined region
![Page 18: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/18.jpg)
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
![Page 19: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/19.jpg)
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
![Page 20: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/20.jpg)
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”
![Page 21: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/21.jpg)
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)
![Page 22: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/22.jpg)
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
![Page 23: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/23.jpg)
SPG - Guard locations are nodes
![Page 24: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/24.jpg)
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
![Page 25: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/25.jpg)
SPG - Add nodes at vertices
![Page 26: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/26.jpg)
SPG - Add edges
![Page 27: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/27.jpg)
Use MST for short path
![Page 28: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/28.jpg)
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
![Page 29: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/29.jpg)
2-D AlgorithmConnecting the Guards
![Page 30: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/30.jpg)
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
![Page 31: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/31.jpg)
2-D AlgorithmExperimental Results
• Most computing time spent creating visibility polygons
Guard GuardSelection Connection
Figure # Edges Time (s) Time (s)1 9 0.55 0.072 36 4.74 1.023 1026 729.79 328.13
Figure 1 Figure 2
Figure 3
![Page 32: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/32.jpg)
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
![Page 33: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/33.jpg)
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
![Page 34: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/34.jpg)
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
![Page 35: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/35.jpg)
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
![Page 36: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/36.jpg)
3-D AlgorithmSelecting the Guards
Front
Back
![Page 37: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/37.jpg)
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
![Page 38: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/38.jpg)
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
![Page 39: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/39.jpg)
3-D AlgorithmPreliminary Results
Two Cubes20 Seconds
Four Cubes & Three Tetrahedra143 Seconds
![Page 40: Randomized Planning for Short Inspection Paths](https://reader035.vdocuments.net/reader035/viewer/2022070404/56813c53550346895da5d5c5/html5/thumbnails/40.jpg)
Future Work
• Considering dynamics in “path goodness” criteria
• Visiting areas rather than points
• Considering non-omnidirectional cameras