comp1001 computer hardware and softwareyiannisr/774/2014/lectures/08-coverage.pdf•boustrophedon...

Post on 05-Nov-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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