comp1001 computer hardware and softwareyiannisr/774/2014/lectures/08-coverage.pdf•boustrophedon...
Post on 05-Nov-2020
3 Views
Preview:
TRANSCRIPT
Ioannis Rekleitis
Coverage
Coverage
• A task performed quite often in everyday life:
– Cleaning
– Painting
– Plowing/Sowing
– Tile setting
– etc.
CSCE 774: Robotic Systems 2
Motivation
Humanitarian Demining
3CSCE 774: Robotic Systems
MotivationLawn Mowing
4CSCE 774: Robotic Systems
MotivationVacuum Cleaning
5CSCE 774: Robotic Systems
Robotic Coverage
• More than 5 million Roombas sold!
• Automated Car Painting
6CSCE 774: Robotic Systems
Roomba Costumes
CSCE 774: Robotic Systems 7From: http://www.myroombud.com/
Coverage
• First Distinction– Deterministic
– Random
• Second Distinction– Complete
– No Guarantee
• Third Distinction– Known Environment
– Unknown Environment
Demining
Vacuum Cleaning
8CSCE 774: Robotic Systems
Non-Deterministic Coverage
• Complete Random Walk
• Ant Robotics
– Leave trail
– Bias the behavior towards or away from the trails
S. Koenig Ant Robotics, terrain coverage
Ant Robotics: I. Wagner, IBM & Technion
Andrew Russell, Monash University, Australia
9CSCE 774: Robotic Systems
Deterministic Coverage
• Complete Algorithm
• Guarantees Complete Coverage
10CSCE 774: Robotic Systems
Cell-Decomposition Methods
Two families of methods:
Exact cell decompositionThe free space F is represented by a collection of non-overlapping cells whose union is exactly FExamples: trapezoidal and cylindrical decompositions
11CSCE 774: Robotic Systems
Ioannis Rekleitis
The way of the Ox!
Single Robot Coverage
• Deterministic algorithm
• Guarantee of completeness
• Sensor based
• Unknown Environment
•Seed spreader algorithm: Lumelsky et al, “Dynamic path planning in sensor-based terrain acquisition”, IEEE Transactions on Robotics and Automation, August 1990. •Boustrophedon algorithm: Choset and Pignon, “Coverage path planning: The boustrophedon cellular decomposition”, International Conference on Field and Service Robotics,1997.
13CSCE 774: Robotic Systems
Single Robot Coverage
Direction of CoverageReeb graph
Vertices: Critical Points
Edges: CellsCellular Decomposition
Cell 0
Critical Point
14CSCE 774: Robotic Systems
Critical Points• There are four types of critical points:
– Forward Concave critical point
– Reverse Concave critical point
– Reverse Convex critical point
– Forward Convex critical point
Direction of Coverage15CSCE 774: Robotic Systems
Optimal Coverage
• Find an order for traversing the Reeb graph such that the robot would not go through a cell more times than necessary
Solution
• Use the Chinese Postman Problem
16CSCE 774: Robotic Systems
Chinese Postman Problem
• The Chinese postman problem (CPP), is to find ashortest closed path that visits every edge of a(connected) undirected graph. When the graphhas an Eulerian circuit (a closed walk thatcovers every edge once), that circuit is anoptimal solution.
CSCE 774: Robotic Systems 17
See: J. Edmonds and E.L. Johnson, Matching Euler tours and the Chinese postman problem, Math. Program. (1973).
Offline Analysis Algorithm
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
CSCE 774: Robotic Systems 18
Offline Analysis Algorithm
• Input: binary map separating obstacle from free space
• Boustrophedon Cellular Decomposition (BCD)
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
: intersections = vertices
: cells = edges
CSCE 774: Robotic Systems 19
Offline Analysis Algorithm (cont.)
• Chinese Postman Problem
– Eulerian circuit, i.e. single traversal through all cells (edges)
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
CSCE 774: Robotic Systems 20
Per-Cell Coverage Planner
• Seed Spreader: piecewise linear sweep lines
• Footprint width
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
CSCE 774: Robotic Systems 21
• Static alignment methods
• Alignment with average wind heading (pre-flight)
Coverage Direction Alignment
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
Default Obstacle Boundaries Free Space Distribution
CSCE 774: Robotic Systems 22
• Turning strategies
Non-Holonomic Robot Controller
Online Trajectory ControlOffline Analysis
Cellular Decomp.
Chinese Postman Problem
Direction Alignment(Optional)
Per-CellPlanner
Non-Holonomic Controller
Greedy WaypointController
Curlicue Controller
CSCE 774: Robotic Systems 23
Chinese Postman Problem
• The solution of the CPP guarantees that no edge isdoubled more than once
• That means some cells have to be traversed twice
• Cells that have to be traversed/covered are divided inhalf
CSCE 774: Robotic Systems 24
Double Coverage of a Single Cell
• By dividing the cell diagonally we control the beginningand end of the coverage
CSCE 774: Robotic Systems 25
Double Coverage of a Single Cell
• By dividing the cell diagonally we control the beginningand end of the coverage
CSCE 774: Robotic Systems 26
Optimal Coverage Algorithm
• Given a known environment:
– Calculate the Boustrophedon decomposition
– Construct the Reeb graph
– Use the Reeb graph as input to the Chinese Postman Problem (CPP)
– Use the solution of the CPP to find a minimum cost cycle traversing every edge of the Reeb graph
– For every doubled edge divide the corresponding cell in half
– Traverse the Reeb graph by covering each cell in order
27CSCE 774: Robotic Systems
Traversal order of the Reeb graph
28CSCE 774: Robotic Systems
Example
CSCE 774: Robotic Systems 29
Example: Boustrophedon Decomposition
CSCE 774: Robotic Systems 30
Example: Reeb Graph
CSCE 774: Robotic Systems 31
Example: CPP solution
CSCE 774: Robotic Systems 32
Example
CSCE 774: Robotic Systems 33
Example
CSCE 774: Robotic Systems 34
Example
CSCE 774: Robotic Systems 35
Example
CSCE 774: Robotic Systems 36
Example
CSCE 774: Robotic Systems 37
Example
CSCE 774: Robotic Systems 38
Example
CSCE 774: Robotic Systems 39
Example
CSCE 774: Robotic Systems 40
Example
CSCE 774: Robotic Systems 41
Example
CSCE 774: Robotic Systems 42
Example
CSCE 774: Robotic Systems 43
Example 2
CSCE 774: Robotic Systems 44
Example 2 Boustrophedon Decomp.
CSCE 774: Robotic Systems 45
Example 2
CSCE 774: Robotic Systems 46
Example 2
CSCE 774: Robotic Systems 47
Example 2
CSCE 774: Robotic Systems 48
Example 2
CSCE 774: Robotic Systems 49
Example 2
CSCE 774: Robotic Systems 50
Example 2
CSCE 774: Robotic Systems 51
Example 2
CSCE 774: Robotic Systems 52
Example 2
CSCE 774: Robotic Systems 53
Example 2
CSCE 774: Robotic Systems 54
Example 2
CSCE 774: Robotic Systems 55
Example 2
CSCE 774: Robotic Systems 56
Example 2
CSCE 774: Robotic Systems 57
Example 2
CSCE 774: Robotic Systems 58
Example 2
CSCE 774: Robotic Systems 59
Example 2
CSCE 774: Robotic Systems 60
Example 2
CSCE 774: Robotic Systems 61
Example 2
CSCE 774: Robotic Systems 62
Example 2
CSCE 774: Robotic Systems 63
Example 2
CSCE 774: Robotic Systems 64
Example 2
CSCE 774: Robotic Systems 65
Example 2
CSCE 774: Robotic Systems 66
UAV-Optimal Coverage
CSCE 774: Robotic Systems 67
UAV-Optimal Coverage
CSCE 774: Robotic Systems 68
•UAVs non-holonomic constraints require special trajectory planning
•120 Km of flight during coverage
Image Mosaic
CSCE 774: Robotic Systems 69
Multi-UAV
CSCE 774: Robotic Systems 70
Video at ICRA 2011
CSCE 774: Robotic Systems 71
Coverage of Known Worlds
From: X. Zheng and S. Koenig. Robot Coverage of Terrain with Non-Uniform Traversability. In Proc. of the IEEE Int. Conf. on Intelligent Robots and Systems (IROS), pg. 3757-3764, 2007
72CSCE 774: Robotic Systems
Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells
Cell decomposition for Path Planning
73CSCE 774: Robotic Systems
Trapezoidal decomposition
74CSCE 774: Robotic Systems
start
end
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 75
Exact cell decompositionRunning time?
sweepline algorithm
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 76
start
end
Exact cell decompositionRunning time?
O( N log(N) )
Path?
sweepline algorithm
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 77
start
end
Exact cell decompositionRunning time?
O( N log(N) )
Path?
via centroidssweepline algorithm
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 78
start
end
centroids
Exact cell decompositionRunning time?
O( N log(N) )
Path?
via centroidssweepline algorithm+ edge midpoints
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 79
start
end
centroids+ midpoints
Exact cell decompositionRunning time?
O( N log(N) )
Path?
via centroidssweepline algorithm+ edge midpoints+ graph search
Why?
why else?
Spatial decompositions
• Dividing free space into pieces and using those...
CSCE 774: Robotic Systems 80
start
end
centroids+ midpoints
there may be more detail in the world than the task needs to worry about...
Trapezoidal decomposition is exact and
complete, but not optimal -- even
among convex subdivisions.
Optimality
• Obtaining the minimum number of convex cells is NP-complete.
15 cells 9 cells
81CSCE 774: Robotic Systems
Cell-Decomposition Methods
Two families of methods:
Exact cell decomposition
Approximate cell decompositionF is represented by a collection of non-overlapping cells whose union is contained in FExamples: quadtree, octree, 2n-tree
82CSCE 774: Robotic Systems
recursively subdivides each mixed obstacle/free
(sub)region into four quarters...Quadtree:
further decomposing...
• Approximate cell decomposition
83CSCE 774: Robotic Systems
recursively subdivides each mixed obstacle/free
(sub)region into four quarters...Quadtree:
further decomposing...
• Approximate cell decomposition
84CSCE 774: Robotic Systems
recursively subdivides each mixed obstacle/free
(sub)region into four quarters...Quadtree:
further decomposing...
• Approximate cell decomposition
85CSCE 774: Robotic Systems
Again, use a graph-search algorithm to find
a path from the start to goal
Quadtree
is this a complete path-planning algorithm?
i.e., does it find a path when one exists ?
further decomposing...
• Approximate cell decomposition
86CSCE 774: Robotic Systems
Octree Decomposition
CSCE 774: Robotic Systems 87
top related