Lecture 6 – Cell Decompositions Uluç...
Transcript of Lecture 6 – Cell Decompositions Uluç...
![Page 1: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/1.jpg)
CS548 - Robot Motion Control and Planning 1
Robot Motion Control and Planninghttp://www.cs.bilkent.edu.tr/~saranli/courses/cs548
Uluç Saranlıhttp://www.cs.bilkent.edu.tr/~saranli
Lecture 6 – Cell Decompositions
![Page 2: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/2.jpg)
CS548 - Robot Motion Control and Planning 2
Exact Cell vs Approximate Cell
• Cell: A simple region
![Page 3: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/3.jpg)
CS548 - Robot Motion Control and Planning 3
Adjacency Graph
• Nodes correspond to cells
• Edges connect nodes of adjacent cells– Two cells are adjacent if they share a common boundary
• Path Planning in two steps:– Planner determines cells that contain the start and goal
– Planner searches for a path within adjacency graph
![Page 4: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/4.jpg)
CS548 - Robot Motion Control and Planning 4
Types of Decompositions
• Trapezoidal Decomposition
• Morse Cell Decomposition
– Boustrophedon decomposition
– Morse decomposition definition
– Sensor-based coverage
– Examples of Morse decomposition
• Visibility-based Decomposition
![Page 5: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/5.jpg)
CS548 - Robot Motion Control and Planning 5
Trapezoidal Decomposition
![Page 6: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/6.jpg)
CS548 - Robot Motion Control and Planning 6
Trapezoidal Decomposition
![Page 7: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/7.jpg)
CS548 - Robot Motion Control and Planning 7
Trapezoidal Decomposition
![Page 8: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/8.jpg)
CS548 - Robot Motion Control and Planning 8
Trapezoidal Decomposition
![Page 9: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/9.jpg)
CS548 - Robot Motion Control and Planning 9
Trapezoidal Decomposition
![Page 10: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/10.jpg)
CS548 - Robot Motion Control and Planning 10
Trapezoidal Decomposition
![Page 11: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/11.jpg)
CS548 - Robot Motion Control and Planning 11
Trapezoidal Decomposition Path
![Page 12: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/12.jpg)
CS548 - Robot Motion Control and Planning 12
Implementation
• Input is vertices and edges
– Sort n vertices O(n logn)
– Determine vertical extensions
– For each vertex, intersect vertical line with each edge –
O(n) time
– Total O(n2) time
![Page 13: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/13.jpg)
CS548 - Robot Motion Control and Planning 13
Sweep line approach
• Sweep a line through the space stopping at vertices which are often called events
• Maintain a list L of the current edges the slice intersects
• Determining the intersection of slice with L requires O(n) time but with an efficient data structure like a balanced tree, perhaps O(log n)
• Really, determine between which two edges the vertex or event lies. These edges are eLOWER and eUPPER
• So, really maintaining L takes O(n log n) – log n for insertions, n for vertices
![Page 14: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/14.jpg)
CS548 - Robot Motion Control and Planning 14
Events
![Page 15: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/15.jpg)
CS548 - Robot Motion Control and Planning 15
Example
![Page 16: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/16.jpg)
CS548 - Robot Motion Control and Planning 16
Example
![Page 17: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/17.jpg)
CS548 - Robot Motion Control and Planning 17
Example
![Page 18: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/18.jpg)
CS548 - Robot Motion Control and Planning 18
Example
![Page 19: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/19.jpg)
CS548 - Robot Motion Control and Planning 19
Coverage
• Planner determines an exhaustive walk through the adjacency graph
• Planner computes explicit robot motions within each cell
• Problems
1. Polygonal representation
2. Quantization
3. Position uncertainty
4. Full information
5. What else?
![Page 20: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/20.jpg)
CS548 - Robot Motion Control and Planning 20
Boustrophedon Decomposition
![Page 21: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/21.jpg)
CS548 - Robot Motion Control and Planning 21
Complete Coverage
![Page 22: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/22.jpg)
CS548 - Robot Motion Control and Planning 22
Morse Decomposition in Terms of Critical Pts.
![Page 23: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/23.jpg)
CS548 - Robot Motion Control and Planning 23
Morse Decomposition: Connectivity
![Page 24: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/24.jpg)
CS548 - Robot Motion Control and Planning 24
Morse Decomposition: Connectivity
![Page 25: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/25.jpg)
CS548 - Robot Motion Control and Planning 25
Morse Decomposition: Connectivity
![Page 26: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/26.jpg)
CS548 - Robot Motion Control and Planning 26
Morse Decomposition: Connectivity
![Page 27: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/27.jpg)
CS548 - Robot Motion Control and Planning 27
Morse Decomposition: Connectivity
![Page 28: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/28.jpg)
CS548 - Robot Motion Control and Planning 28
Morse Decomposition: Coverage
![Page 29: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/29.jpg)
CS548 - Robot Motion Control and Planning 29
Morse Decomposition: Topology
![Page 30: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/30.jpg)
CS548 - Robot Motion Control and Planning 30
Incremental construction
• While covering the space, look for critical points
![Page 31: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/31.jpg)
CS548 - Robot Motion Control and Planning 31
Algorithm
• Cover a cell until the closing critical point is detected
• If the closing critical point has “uncleaned” cells associated with it, chose one and cover, repeat
• If the closing critical point has no uncleaned cells,– search reeb graph for a critical point with an uncleaned
cell
– Plan a path (on average shorter than bug2) to critical point
– Cover cell, repeat
• Else coverage is complete
![Page 32: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/32.jpg)
CS548 - Robot Motion Control and Planning 32
Detect Critical Points
![Page 33: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/33.jpg)
CS548 - Robot Motion Control and Planning 33
Encountering Critical Points: Problem
![Page 34: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/34.jpg)
CS548 - Robot Motion Control and Planning 34
Cycle Algorithm
![Page 35: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/35.jpg)
CS548 - Robot Motion Control and Planning 35
Sensor-based Complete Coverage
• Goal: Complete coverage of an unknown environment
![Page 36: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/36.jpg)
CS548 - Robot Motion Control and Planning 36
Morse Decomposition h(x,y) = x
![Page 37: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/37.jpg)
CS548 - Robot Motion Control and Planning 37
Morse Decomposition h(x,y) = x2 + y2
![Page 38: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/38.jpg)
CS548 - Robot Motion Control and Planning 38
Morse Decomposition h(x,y) = |x| + |y|
![Page 39: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/39.jpg)
CS548 - Robot Motion Control and Planning 39
Morse Decomposition h(x,y) = tan(y/x)
![Page 40: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/40.jpg)
CS548 - Robot Motion Control and Planning 40
Brushfire Decomposition
![Page 41: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/41.jpg)
CS548 - Robot Motion Control and Planning 41
Brushfire Decomposition h(x,y) = D(x,y)
![Page 42: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/42.jpg)
CS548 - Robot Motion Control and Planning 42
Brushfire Decomposition: Coverage Path
![Page 43: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/43.jpg)
CS548 - Robot Motion Control and Planning 43
Wavefront Decomposition
![Page 44: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/44.jpg)
CS548 - Robot Motion Control and Planning 44
Notation
• A slice is a codimension one manifold (Qλ)
• Slices are parameterized by λ
– varying λ sweeps a slice through the space
• The portion of the slice in the free configuration
space (Qfree) is Qfreeλ
– Qfreeλ = Qλ ∩ Qfree
![Page 45: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/45.jpg)
CS548 - Robot Motion Control and Planning 45
Slice Definition
• Slice can be defined in terms of the preimage of the
projection operator
h: Q → � (Canny π1: Q → �)
• Vertical slice are defined by
Qλ = h−1(λ), with h(x,y) = x for the plane
• Increasing λ sweeps the slice to the right through
the plane
![Page 46: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/46.jpg)
CS548 - Robot Motion Control and Planning 46
The Pursuer-Evader Problem
• Problem definition
– How do you plan the motion of a pursuer(s) in a polygonal environment so that it will eventually “see” an unpredictable evader?
• Assumptions
– Polygonal environment, freespace denoted F
– If the evader is within line of sight of the pursuer, it has been “captured”
– Evaders can move arbitrarily fast
– Pursuers have unlimited vision range
![Page 47: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/47.jpg)
CS548 - Robot Motion Control and Planning 47
Terminology and Definitions
• γi(t) position of ith pursuer at time t
• V(q) set of points in F visible from q in F
• Contaminated: region of F that might contain the evader
• Cleared: region that is not contaminated.
• Recontaminated: A region that was contaminated, then cleared, and then
contaminated
• Solution strategy: A strategy γ for any given evader path if there is at some time a
point where the pursuer sees the evader.
![Page 48: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/48.jpg)
CS548 - Robot Motion Control and Planning 48
Information State and Space
• Let q in F be the current pursuer position, let S in F be the set of all contaminated points in F, then η = (q, S) is an
information state. In other words, it is a set of data that
uniquely describes state of the environment at a given point. Is η = (q, S) a function of time?
• The set of all possible information states is the information space.
![Page 49: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/49.jpg)
CS548 - Robot Motion Control and Planning 49
Information State
• How do we use the information state in our search for the evader?
• At a point q, the edges of the visibility polygon V(q) alternate between being on the boundary of F and the interior of F. We will call the edges of V(q) that enter the free space gap edges.
• We can assign each gap edge a binary value– if the edge borders a contaminated region, it
is assigned a “1”, and “0” for all other edges.
• For each point q, we can assign a binary vector B(q) that contains all the gap edge labels
• The pair (q, B(q)) then uniquely describes the information state, for example (q, {010})
![Page 50: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/50.jpg)
CS548 - Robot Motion Control and Planning 50
Conservative Regions
![Page 51: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/51.jpg)
CS548 - Robot Motion Control and Planning 51
Constructing Conservative Regions
![Page 52: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/52.jpg)
CS548 - Robot Motion Control and Planning 52
Examples of Conservative Regions
![Page 53: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/53.jpg)
CS548 - Robot Motion Control and Planning 53
Conservative Regions to Graphs
![Page 54: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/54.jpg)
CS548 - Robot Motion Control and Planning 54
Directed Information Graph
• Given a graph G, we can derive the information graph GI that includes the labels for the gap edges. For each node in G, we include a set of vertices in GI, one for each possible gap edge label.
• For example, for a given point and region q in D, there are two gap edges in B(q). But we include all possible combinations of B(q) in GI: {00, 01, 10, 11}. Thus we can identify a vertex in GI with the pair (q, B(q))
![Page 55: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/55.jpg)
CS548 - Robot Motion Control and Planning 55
Gap Edge Transitions
• What happens to the gap edges when we move from region to region? There
are four cases:
1. A gap edge disappears: Don’t worry about it, the area has been cleared
2. A gap edge appears: Assign it a “0” (clear) label
3. Two or more gap edges merge into one: If any of the original edges had a “1”
(contaminated) , then the new edge will be a “1”
4. One gap edge splits into two: Assign new edges the same value as the old edge
![Page 56: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/56.jpg)
CS548 - Robot Motion Control and Planning 56
Graph search and solution
• The final step is to simply apply any graph searching algorithm to the information graph GI and update the vector B(q) for each region.
• Any node on GI of the form (q, B(q)) such that B(q) = “00…0” (all gap edges are 0) or a node with no gap edges is a goal node.
• This algorithm is complete in the case of a single pursuer.
![Page 57: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/57.jpg)
CS548 - Robot Motion Control and Planning 57
Worst case bounds
![Page 58: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/58.jpg)
CS548 - Robot Motion Control and Planning 58
Intuition on Bounds for H(F)
![Page 59: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/59.jpg)
CS548 - Robot Motion Control and Planning 59
Recontamination
![Page 60: Lecture 6 – Cell Decompositions Uluç Saranlıuser.ceng.metu.edu.tr/~saranli/courses/ceng786/lectures/Lecture6-C… · – Boustrophedon decomposition – Morse decomposition definition](https://reader033.fdocuments.net/reader033/viewer/2022052615/607fffb1a0b25f2de536e8f5/html5/thumbnails/60.jpg)
CS548 - Robot Motion Control and Planning 60
Conclusions / Questions
• The algorithm presented is complete for a single pursuer
• Any graph search algorithm will provide a solution once a
information graph is extracted from the conservative region decomposition.
• Tight bounds exist for the number of pursuers necessary for
a given free space.
• A complete and correct algorithm does not exist yet for
H(F)>1
Based on the paper “A Visibility-Based Pursuit-Evasion Problem”, Guibas, Latombe,
LaValle, Lin, Motwani
Animations are on the web at: http://robotics.stanford.edu/groups/mobots/pe.html