A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot...

37
B

Transcript of A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot...

Page 1: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

A Hybrid Algorithm for Coverage Path Planning

With Imperfect Sensors

Michael Morin1 Irène Abi-Zeid2 Yvan Petillot3

Claude-Guy Quimper1

1Department of Computer Science and Software Engineering2Department of Operations and Decision Systems, Université Laval, Québec, Qc, Canada

3Ocean Systems Laboratory, Heriot-Watt University, Edinburgh, Scotland, UK

[email protected]

November 6, 2013

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 1 / 28

Page 2: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

IntroductionContext

Context [Reed et al., 2003]

Underwater minesweeping operationsTo plan the path of an AUV1

REMUSplatform [Nicholson and Healey, 2008, Fang and Anstee, 2010]

Swim long distancesConstant speed and altitudeInfrequent turnsVery little capacity to sense and avoid obstacles

Sensors

Sidescan sonar�Gap �ller� forward looking sonar

1Autonomous Underwater VehicleM. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 2 / 28

Page 3: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

IntroductionGeneral formalism

The coverage path planning (CPP) problem [Choset, 2001]2

Plan an agent's path to guarantee complete coverage of theenvironment [Mannadiar and Rekleitis, 2010]Perfect sensors

Objectives (in order of priority)

Minimize the traveled distance, and the number of turns

O�-line and sensor-based approaches

We assume an o�-line path planning problem on grids of square cells.

2More applications may be found in the work of [Williams, 2010,Stack and Smith, 2003, Fang and Anstee, 2010, Oksanen and Visala, 2009,Galceran and Carreras, 2012, De Carvalho et al., 1997].

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 3 / 28

Page 4: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

IntroductionSpeci�c formalism

The CPP with imperfect extended detection (CPPIED)problem [Drabovich, 2008]

Imperfect sensors: (conditional) detection probability [Gage, 1995]Minimal required coverage instead of complete coverageExtended detection range

Objectives (in order of priority)

Minimize the traveled distance, and number of turns

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 4 / 28

Page 5: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemSeabed types

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f complex

sand ripples

�at

The di�erent seabed type of a cell in�uences the sensor's performance.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 5 / 28

Page 6: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemSensors scans

1 scan

2 scans

3 scans

4 scans

Scans with a rangeof r = 3 cells; darkercells have a higherscan frequency.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 6 / 28

Page 7: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemMinimal required coverage

De�nition

A feasible path achieves the minimal required coverage in each cell ofmatrix D.

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f

.5

.5

.5

.5

.5

.5

.5

.5

.7

.7

.5

.5

.5

.7

.8

.8

.7

.5

.5

.7

.8

.8

.7

.5

.5

.5

.7

.7

.5

.5

.5

.5

.5

.5

.5

.5

Minimal required coverage on a seabed grid

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 7 / 28

Page 8: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemConditional detection probability (imperfect sensor)

De�nition

The conditional detection probability of a scan in a given cell is a functionof

the seabed type, and

the distance (and the maximal lateral range r).

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 8 / 28

Page 9: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemConditional detection probability

.99

.99

.80

.80

.99

.99

.99

.99

.80

.80

.99

.99

complex

sand ripples

�at

Scans with a range of r = 1cell on an heterogeneousseabed with

The seabed type in�uences the sensor's performance.

pscan =

pscan(1, c)pscan(1, r)pscan(1, f)

=

0.70.80.99

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 9 / 28

Page 10: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemConditional detection probability

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

.9 .6 .3.9.6.3

Scans with a range of r = 3cells on a homogeneous of�at seabed

The distance between the robot's position and the scanned cell in�uencesthe sensor's performance.

pscan =[pscan(1, f) pscan(2, f) pscan(3, f)

]=[0.9 0.6 0.3

]M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 10 / 28

Page 11: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemCoverage

De�nition

Let C be the current coverage matrix.a

aThe initial coverage is null.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 11 / 28

Page 12: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

De�nition

C′ is the updated coverage matrix after one or more scans, i.e., C′ij is the

(bayesian) updated coverage in cell (i , j) after a scan in (i , j):

C′ij := Cij + (1− Cij)× pscan(d(x ′, y ′, i , j),Oij). (1)

pscan =

pscan(1, c)pscan(1, r)pscan(1, f)

=

0.70.80.99

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f

.99

.99

.96

.91

.7

.7

.99

.99

.8

.8

.8

.8

.99

.99

.8

.8

.99

.99

.99

.99

.8

.8

.99

.99

.99

.99

.8

.8

.8

.99

≈1

≈1

.8

.8

96

≈1

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 12 / 28

Page 13: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

The following cases may occur in our bayesian update:

a mine may have already been detected in (i , j) with a probability Cij ;orit has not been detected before with a probability 1− Cij , and

it will be detected now with a conditional probabilitypscan(d(x , y , i , j),Oij ).

The updated coverage of a cell (i , j), C′ij , is de�ned as:

Previously detected︷︸︸︷Cij +︸︷︷︸

or

No mine detected yet︷ ︸︸ ︷(1− Cij) ×︸︷︷︸

and

A mine is detected now︷ ︸︸ ︷pscan(d(x ′, y ′, i , j),Oij),

where cell (x ′, y ′) is the current robot position.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 13 / 28

Page 14: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

The following cases may occur in our bayesian update:

a mine may have already been detected in (i , j) with a probability Cij ;orit has not been detected before with a probability 1− Cij , and

it will be detected now with a conditional probabilitypscan(d(x , y , i , j),Oij ).

The updated coverage of a cell (i , j), C′ij , is de�ned as:

Previously detected︷︸︸︷Cij +︸︷︷︸

or

No mine detected yet︷ ︸︸ ︷(1− Cij) ×︸︷︷︸

and

A mine is detected now︷ ︸︸ ︷pscan(d(x ′, y ′, i , j),Oij),

where cell (x ′, y ′) is the current robot position.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 13 / 28

Page 15: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

The following cases may occur in our bayesian update:

a mine may have already been detected in (i , j) with a probability Cij ;orit has not been detected before with a probability 1− Cij , and

it will be detected now with a conditional probabilitypscan(d(x , y , i , j),Oij ).

The updated coverage of a cell (i , j), C′ij , is de�ned as:

Previously detected︷︸︸︷Cij +︸︷︷︸

or

No mine detected yet︷ ︸︸ ︷(1− Cij) ×︸︷︷︸

and

A mine is detected now︷ ︸︸ ︷pscan(d(x ′, y ′, i , j),Oij),

where cell (x ′, y ′) is the current robot position.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 13 / 28

Page 16: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

The following cases may occur in our bayesian update:

a mine may have already been detected in (i , j) with a probability Cij ;orit has not been detected before with a probability 1− Cij , and

it will be detected now with a conditional probabilitypscan(d(x , y , i , j),Oij ).

The updated coverage of a cell (i , j), C′ij , is de�ned as:

Previously detected︷︸︸︷Cij +︸︷︷︸

or

No mine detected yet︷ ︸︸ ︷(1− Cij) ×︸︷︷︸

and

A mine is detected now︷ ︸︸ ︷pscan(d(x ′, y ′, i , j),Oij),

where cell (x ′, y ′) is the current robot position.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 13 / 28

Page 17: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemUpdated coverage

The following cases may occur in our bayesian update:

a mine may have already been detected in (i , j) with a probability Cij ;orit has not been detected before with a probability 1− Cij , and

it will be detected now with a conditional probabilitypscan(d(x , y , i , j),Oij ).

The updated coverage of a cell (i , j), C′ij , is de�ned as:

Previously detected︷︸︸︷Cij +︸︷︷︸

or

No mine detected yet︷ ︸︸ ︷(1− Cij) ×︸︷︷︸

and

A mine is detected now︷ ︸︸ ︷pscan(d(x ′, y ′, i , j),Oij),

where cell (x ′, y ′) is the current robot position.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 13 / 28

Page 18: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemProblem instance

De�nition

A CPPIED problem instance consists of:

a seabed type set T ;a seabed matrix O;

a required coverage matrix D;

a conditional detection function pscan; and

an initial position (i init, j init) (optional).

pscan =

pscan(1, c)pscan(1, r)pscan(1, f)

=

0.70.80.99

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f

.5

.5

.5

.5

.5

.5

.5

.5

.7

.7

.5

.5

.5

.7

.8

.8

.7

.5

.5

.7

.8

.8

.7

.5

.5

.5

.7

.7

.5

.5

.5

.5

.5

.5

.5

.5

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 14 / 28

Page 19: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemOptimal coverage path

De�nition

A lexicographically optimal path achieves the required coverage andminimizes

the length of the path (distance, robot's moves, etc.), and thena

the number of turns.

aLexicographic order suggested in [Drabovich, 2008].

pscan =

pscan(1, c)pscan(1, r)pscan(1, f)

=

0.70.80.99

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f

.5

.5

.5

.5

.5

.5

.5

.5

.7

.7

.5

.5

.5

.7

.8

.8

.7

.5

.5

.7

.8

.8

.7

.5

.5

.5

.7

.7

.5

.5

.5

.5

.5

.5

.5

.5

ff

f

r

c

c

c

f

f

r

r

r

r

f

f

r

r

f

f

f

f

r

r

f

f

f

f

r

r

r

f

f

f

r

r

r

f

.99

.99

.96

.91

.7

.7

.99

.99

.8

.8

.8

.8

.99

.99

.8

.8

.99

.99

.99

.99

.8

.8

.99

.99

.99

.99

.8

.8

.8

.99

≈1

≈1

.8

.8

96

≈1

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 15 / 28

Page 20: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The CPPIED ProblemA complex coverage path

More than 21,000 cells of a complex seabed topology

Complex seabeds and/or distant visibility often lead to a complexcoverage path...

... clever algorithms are required.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 16 / 28

Page 21: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmConcepts

De�nition

A segment is de�ned as a set of adjacent cells without any turn.

De�nition

Two segments are independent if their scans do not overlap.

Independent

segments (r = 3)

Dependent

segments (r = 3)

Overlapping

detections

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 17 / 28

Page 22: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmConcepts

The good:

Computing the optimal segment length for independent segments isdone in polynomial-time using dynamic programming.3

The bad:

Independent segments do not allow for minimal required coverage inmany instances.

The pretty:

When two detections (scans) overlap their order is not important:

C′ij := Cij + (1− Cij)× pscan(d(x ′, y ′, i , j),Oij).

3Using Kadane's algorithm [Bentley, 1984] for computing a segment's length.M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 18 / 28

Page 23: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmConcepts

The good:

Computing the optimal segment length for independent segments isdone in polynomial-time using dynamic programming.3

The bad:

Independent segments do not allow for minimal required coverage inmany instances.

The pretty:

When two detections (scans) overlap their order is not important:

C′ij := Cij + (1− Cij)× pscan(d(x ′, y ′, i , j),Oij).

3Using Kadane's algorithm [Bentley, 1984] for computing a segment's length.M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 18 / 28

Page 24: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmConcepts

The good:

Computing the optimal segment length for independent segments isdone in polynomial-time using dynamic programming.3

The bad:

Independent segments do not allow for minimal required coverage inmany instances.

The pretty:

When two detections (scans) overlap their order is not important:

C′ij := Cij + (1− Cij)× pscan(d(x ′, y ′, i , j),Oij).

3Using Kadane's algorithm [Bentley, 1984] for computing a segment's length.M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 18 / 28

Page 25: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmA CPPIED problem decomposition in two steps

DpSweeper does the following:1 It greedily constructs a partial path

made of disconnected segments inset S to guarantee that the requiredcoverage is achieved (dynamicprogramming).

2 It optimally links segments to createa path that is within the robot'sphysical constraints (TSPreduction).

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 19 / 28

Page 26: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

DpSweeper achieves required coverage

Initialize the coverage matrix C to the null matrix.

While the required coverage is not attained do:Maximize coverage gains by using horizontal and vertical independentsegment sets:

Compute H∗, an optimal set of independent horizontal segments.Compute V∗, an optimal set of independent vertical segments.Choose the set, between H∗ and V∗, that has the highest coverage.

Compute the coverage matrix C.

Suppose that the lateral range is r = 1.

1

1

2

3

3

3

1

1

2

2

2

2

1

1

2

2

1

1

1

1

2

2

1

1

1

1

2

2

2

1

1

1

2

2

2

1

Each cell contains the number of scans left whichdepends on:

the seabed types;

the required coverage matrix; and

the conditional probability of detection.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 20 / 28

Page 27: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

DpSweeper achieves required coverage

Initialize the coverage matrix C to the null matrix.

While the required coverage is not attained do:Maximize coverage gains by using horizontal and vertical independentsegment sets:

Compute H∗, an optimal set of independent horizontal segments.Compute V∗, an optimal set of independent vertical segments.Choose the set, between H∗ and V∗, that has the highest coverage.

Compute the coverage matrix C.

Suppose that the lateral range is r = 1.

1

2

2

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Each cell contains the number of scans left whichdepends on:

the seabed types;

the required coverage matrix; and

the conditional probability of detection.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 20 / 28

Page 28: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

DpSweeper achieves required coverage

Initialize the coverage matrix C to the null matrix.

While the required coverage is not attained do:Maximize coverage gains by using horizontal and vertical independentsegment sets:

Compute H∗, an optimal set of independent horizontal segments.Compute V∗, an optimal set of independent vertical segments.Choose the set, between H∗ and V∗, that has the highest coverage.

Compute the coverage matrix C.

Suppose that the lateral range is r = 1.

1

1

1

Each cell contains the number of scans left whichdepends on:

the seabed types;

the required coverage matrix; and

the conditional probability of detection.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 20 / 28

Page 29: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

DpSweeper achieves required coverage

Initialize the coverage matrix C to the null matrix.

While the required coverage is not attained do:Maximize coverage gains by using horizontal and vertical independentsegment sets:

Compute H∗, an optimal set of independent horizontal segments.Compute V∗, an optimal set of independent vertical segments.Choose the set, between H∗ and V∗, that has the highest coverage.

Compute the coverage matrix C.

Suppose that the lateral range is r = 1.

Each cell contains the number of scans left whichdepends on:

the seabed types;

the required coverage matrix; and

the conditional probability of detection.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 20 / 28

Page 30: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

The DpSweeper algorithmPart 2: Reducing to a TSP and Reconstructing the Path P

DpSweeper plans the optimal tour and reconstructs the path

Reducing to a TSP and obtaina an optimal tour:

minimize the length (our �rst criterion).

Reconstruct the path from the optimal tour.

aTo �nd the lowest cost cycle, and therefore the optimal solution path in thereduction, we chose the Concorde solver [Applegate et al., 2011]

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 21 / 28

Page 31: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

Experimentation

No Ocean bed O Required coverage Dij (∀i, j) Detection prob. pscan

1 0.9

0.6 0.65 0.620.7 0.85 0.80.99 0.99 0.99

2 0.9

0.7 0.8 0.750.99 0.99 0.990.91 0.95 0.92

3 0.9

0.8 0.8 0.80.8 0.8 0.80.91 0.91 0.91

4 0.75

0.51 0.51 0.510.8 0.8 0.80.91 0.91 0.91

5 0.75

0.51 0.51 0.510.8 0.8 0.80.99 0.99 0.99

6 0.9

0.6 0.6 0.60.8 0.8 0.80.91 0.91 0.91

7 0.85

0.6 0.6 0.60.8 0.8 0.80.91 0.91 0.91

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 22 / 28

Page 32: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

Results

Comparison of DpSweeper to HCPP [Drabovich, 2008]

HCPP† DpSweeper

Solution‡ Solution‡ TSP Time (s)

No Length Turns Length Turns nodes TSP Total

1 3777 40 3755 41 66 < 1 < 1

2 4599 60 4628 61 99 < 1 1

3 5556 82 5321 95 144 < 1 1

4 5494 77 5363 75 117 < 1 1

5 5119 114 5151 107 162 1 2

6 6689 136 5681 270 402 45 52

7 7141 137 5731 174 273 12 15

† The solving times of the HCPP method are not published.

‡ Shorter is better, ties are broken on the number of turns.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 23 / 28

Page 33: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

Conclusion

Contributions:

Coverage path planning with imperfect sensor de�nitionThe DpSweeper algorithm

DpSweeper advantages:

A high performance even on the hardest instancesA high quality path is obtained within a few secondsFlexible and without �ne-tuning

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 24 / 28

Page 34: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

References I

[Applegate et al., 2011] Applegate, D., Bixby, R., Chvatal, V., and Cook, W. (2011).Concorde TSP solver.Accessed: 2013/03/15.

[Bentley, 1984] Bentley, J. (1984).Programming pearls: algorithm design techniques.Communications of the ACM, 27(9):865�873.

[Choset, 2001] Choset, H. (2001).Coverage for robotics.Annals of Mathematics and Arti�cial Intelligence, 31(1-4):113�126.

[De Carvalho et al., 1997] De Carvalho, R. N., Vidal, H., Vieira, P., and Ribeiro, M. (1997).Complete coverage path planning and guidance for cleaning robots.In Proc. of IEEE International Symposium on Industrial Electronics (ISIE'97), volume 2,pages 677�682, Guimarães, Portugal.

[Drabovich, 2008] Drabovich, M. (2008).Automated mission trajectory planning for mine countermeasures operations.Master's thesis, Heriot Watt University, Edinburgh, Scotland, UK.

[Fang and Anstee, 2010] Fang, C. and Anstee, S. (2010).Coverage path planning for harbour seabed surveys using an autonomous underwater vehicle.In Proc. of OCEANS 2010 IEEE-Sydney, pages 1�8, Sydney, Australia.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 25 / 28

Page 35: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

References II

[Gage, 1995] Gage, D. W. (1995).Many-robot MCM search systems.In Bottoms, A., Eagle, J., and Bayless, H., editors, Proc. of Autonomous Vehicles in MineCountermeasures Symposium, Monterey, CA.

[Galceran and Carreras, 2012] Galceran, E. and Carreras, M. (2012).Coverage path planning for marine habitat mapping.In Proc. of OCEANS 2012 MTS/IEEE, pages 1�8, Hampton Roads, VA, USA.

[Mannadiar and Rekleitis, 2010] Mannadiar, R. and Rekleitis, I. (2010).Optimal coverage of a known arbitrary environment.In Proc. of IEEE International Conference on Robotics and Automation (ICRA'10), pages5525�5530, Anchorage, AK.

[Nicholson and Healey, 2008] Nicholson, J. and Healey, A. (2008).The present state of autonomous underwater vehicle (AUV) applications and technologies.Marine Technology Society Journal, 42(1):44�51.

[Oksanen and Visala, 2009] Oksanen, T. and Visala, A. (2009).Coverage path planning algorithms for agricultural �eld machines.Journal of Field Robotics, 26(8):651�668.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 26 / 28

Page 36: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

References III

[Reed et al., 2003] Reed, S., Petillot, Y., and Bell, J. (2003).An automatic approach to the detection and extraction of mine features in sidescan sonar.28(1):90�105.

[Stack and Smith, 2003] Stack, J. R. and Smith, C. M. (2003).Combining random and data-driven coverage planning for underwater mine detection.In Proc. of OCEANS 2003 MTS/IEEE, volume 5, pages 2463�2468, San Diego, CA.

[Williams, 2010] Williams, D. P. (2010).On optimal AUV track-spacing for underwater mine detection.In Proc. of IEEE International Conference on Robotics and Automation (ICRA'10), pages4755�4762, Anchorage, AK.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 27 / 28

Page 37: A Hybrid Algorithm for Coverage Path Planning With ... · where cell (x 0;y 0) is the current robot position. M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November

Acknowledgment

Thank you for yourattention.

We wish to thank P. Giguère for hisinsightful suggestions, and the OceanSystems Lab for providing us with theproblem instances.

... we can't simply ��sh� for mines.

M. Morin et al. (U.Laval, Oc.Syst.Lab.) Hybrid Algorithm for CPPIED November 6, 2013 28 / 28