Any-Angle Search Case Study: Theta* slides by Alex Nash - - PowerPoint PPT Presentation

any angle search
SMART_READER_LITE
LIVE PREVIEW

Any-Angle Search Case Study: Theta* slides by Alex Nash - - PowerPoint PPT Presentation

Any-Angle Search Case Study: Theta* slides by Alex Nash anash@usc.edu / alexwnash@gmail.com with contributions by Sven Koenig skoenig@usc.edu Table of Contents o Introduction o Analysis of Path Lengths o Any-Angle Search Methods o Known 2D


slide-1
SLIDE 1

Any-Angle Search

Case Study: Theta*

slides by Alex Nash anash@usc.edu / alexwnash@gmail.com with contributions by Sven Koenig skoenig@usc.edu

slide-2
SLIDE 2

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-3
SLIDE 3

Introduction

[from JPL] Warcraft II

slide-4
SLIDE 4

Introduction

Warcraft II

slide-5
SLIDE 5

Introduction

Warcraft II

slide-6
SLIDE 6

Introduction

Warcraft II

slide-7
SLIDE 7

Introduction

Warcraft II

slide-8
SLIDE 8

Introduction

Warcraft II

slide-9
SLIDE 9

Introduction

[Paul Tozour]

slide-10
SLIDE 10

Introduction

  • Edge-constrained search methods (such as A*)

– Efficient – Simple – Generic – Long and unrealistic looking paths

slide-11
SLIDE 11

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-12
SLIDE 12

Analysis of Path Lengths

  • How much longer can the paths found by traditional

edge-constrained search methods (= the shortest paths formed by grid edges) be than the shortest paths in the environment (= the shortest “any-angle” paths = the shortest paths)?

slide-13
SLIDE 13

Analysis of Path Lengths

  • Blocked cells do not matter
slide-14
SLIDE 14

Analysis of Path Lengths

  • Blocked cells do not matter
slide-15
SLIDE 15

Analysis of Path Lengths

  • Blocked cells do not matter
slide-16
SLIDE 16

Analysis of Path Lengths

  • Blocked cells do not matter
slide-17
SLIDE 17

Analysis of Path Lengths

  • Part 1: Show that the shortest path formed by grid

edges can traverse only grid cells traversed by the shortest path (= blocked cells do not matter)

  • Part 2: Determine the worst-case ratio of the length of

the shortest path formed by grid edges and the shortest path

– Optimization problem with Lagrange multipliers – L(x1,…,xn,l) = f(x1,…,xn) + l(g(x1,…,xn)-c) – Minimize f(x1,…,xn) subject to g(x1,…,xn) = c – f(x1,…,xn) = length of the shortest path – g(x1,…,xn) = length of the shortest grid path

slide-18
SLIDE 18

Analysis of Path Lengths

Dimension Regular Grid Neighbors % Longer Than Shortest Path 2D triangular grid 3-neighbor 6-neighbor square grid 4-neighbor 8-neighbor ≈ 8 hexagonal grid 6-neighbor 12-neighbor 3D cubic grid 6-neighbor 26-neighbor

slide-19
SLIDE 19

Analysis of Path Lengths

  • Only three types of regular (equilateral and

equiangular) polygons can be used to tessellate 2D environments

– Triangles – Squares – Hexagons

slide-20
SLIDE 20

Analysis of Path Lengths

3-Neighbor Triangular Grid 4-Neighbor Square Grid 6-Neighbor Hexagonal Grid Red Arrows 6-Neighbor Triangular Grid 8-Neighbor Square Grid 12-Neighbor Hexagonal Grid Red and Green Arrows Civilization V

slide-21
SLIDE 21

Analysis of Path Lengths

  • Only one type of regular polyhedron can be used to

tessellate 3D environments

– Cubes

slide-22
SLIDE 22

Analysis of Path Lengths

6-Neighbor Cubic Grid Red Arrows 26-Neighbor Cubic Grid Red and Green Arrows

slide-23
SLIDE 23

Analysis of Path Lengths

Dimension Regular Grid Neighbors % Longer Than Shortest Path 2D triangular grid 3-neighbor ≈ 100 6-neighbor ≈ 15 square grid 4-neighbor ≈ 41 8-neighbor ≈ 8 hexagonal grid 6-neighbor ≈ 15 12-neighbor ≈ 4 3D cubic grid 6-neighbor ≈ 73 26-neighbor ≈ 13

slide-24
SLIDE 24

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-25
SLIDE 25

Any-Angle Search

  • Two conflicting criteria

Path Length Computation Time A* on visibility graphs A* grid graphs

figure is notional

A* on grid graphs

Known 2D Environments

slide-26
SLIDE 26

A* on Grid Graphs

Goal Start

Known 2D Environments

slide-27
SLIDE 27

A* on Grid Graphs

  • A* [Hart et al. (1968)] on grid graphs
  • A* assigns two values to every vertex s

– g(s): the length of the shortest path from the start vertex to s found so far – parent(s): the parent pointer used to extract the path after termination – Following the parents from s to the start vertex results in a path of length g(s)

Goal Start

A B C 1 2 3 4 5

Known 2D Environments

slide-28
SLIDE 28

A* on Grid Graphs

  • A* on grid graphs

Goal Start

Arrows point to the parent of a vertex Vertex currently being expanded

A B C 1 2 3 4 5

Parent pointer

Known 2D Environments

slide-29
SLIDE 29

A* on Grid Graphs

  • A* on grid graphs

Goal Start

Arrows point to the parent of a vertex Vertex currently being expanded

A B C 1 2 3 4 5

Parent pointer

Known 2D Environments

slide-30
SLIDE 30

A* on Grid Graphs

  • A* on grid graphs

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Known 2D Environments

slide-31
SLIDE 31

A* on Grid Graphs

  • A* on grid graphs

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

from now on, we will show only the cells Known 2D Environments

slide-32
SLIDE 32

A* on Grid Graphs

  • A* on grid graphs
  • Long and unrealistic looking path
  • Fast

Goal Start

Known 2D Environments

slide-33
SLIDE 33

A* on Visibility Graphs

Path Length Computation Time A* on visibility graphs A* grid graphs

figure is notional

A* on grid graphs

Known 2D Environments

slide-34
SLIDE 34

A* on Visibility Graphs

  • A* on Visibility Graphs [Lozano-Perez et al. (1979)]
  • Shortest path
  • Slow due to many edges and line-of-sight checks

Goal Start

Known 2D Environments

slide-35
SLIDE 35

Any-Angle Search

Path Length Computation Time A* on visibility graphs A* on grid graphs Any-Angle Find-Path Algorithms

any-angle search methods

figure is notional Known 2D Environments

slide-36
SLIDE 36

Any-Angle Search

  • Any-angle search methods

– Perform an A* search – Propagate information along grid edges (= small computation time) – Do not constrain the paths to be formed by grid edges (= short paths)

Known 2D Environments

slide-37
SLIDE 37

Any-Angle Search

  • Evaluation in

known 2D environments, known 3D environments, and unknown 2D environments

– Property 1 (Efficiency) Good tradeoff between computation times and path lengths – Property 2 (Simplicity) Simple to understand and implement – Property 3 (Generality) Works on every graph embedded in 2D or 3D Euclidean space (= Euclidean graph), that is, all discretization techniques

Known 2D Environments

slide-38
SLIDE 38

Any-Angle Search

  • Different discretization techniques

Start Goal

Regular Grids Dawn of War 1 and 2 Civilization V Company of Heroes [Champandard (2010)] Navigation Meshes Halo 2 Counter-Strike: Source and Metroid Prime [Tozour (2008)] Circle Based Waypoint Graphs MechWarrior 4: Vengeance Known 2D Environments

slide-39
SLIDE 39

A* with Post Smoothing

figure is notional

Path Length Computation Time A* on visibility graphs A* on grid graphs Any-Angle Find-Path Algorithms A* with Post Smoothing Field D*

any-angle search methods

Known 2D Environments

slide-40
SLIDE 40

A* with Post Smoothing

  • A* with Post Smoothing [Thorpe (1984), Botea et al.

(2004), Millington (2009)]

Goal Start

A B C 1 2 3 4 5

Known 2D Environments

slide-41
SLIDE 41

A* with Post Smoothing

  • A* with Post Smoothing [Thorpe (1984), Botea et al.

(2004), Millington (2009)]

Goal Start

A B C 1 2 3 4 5

Known 2D Environments

slide-42
SLIDE 42

A* with Post Smoothing

  • A* with Post Smoothing

Goal Start

A B C 1 2 3 4 5

Known 2D Environments

slide-43
SLIDE 43

A* with Post Smoothing

  • A* with Post Smoothing

Goal Start

A B C 1 2 3 4 5

Known 2D Environments

slide-44
SLIDE 44

A* with Post Smoothing

  • A* with Post Smoothing

Goal Start

Known 2D Environments

slide-45
SLIDE 45

A* with Post Smoothing

  • A* with Post Smoothing
  • Postprocessing often leaves path topology unchanged
  • Better to interleave the search and the optimization

Known 2D Environments

slide-46
SLIDE 46

Field D*

Path Length Computation Time A* on visibility graphs A* on grid graphs Any-Angle Find-Path Algorithms A* with Post Smoothing Field D*

any-angle search methods

figure is notional

Theta*

Known 2D Environments

slide-47
SLIDE 47

Field D*

  • Field D* (a version of D* Lite) [Ferguson and Stentz,

2005]

Start Goal

Known 2D Environments

slide-48
SLIDE 48

Field D*

  • Field D* (a version of D* Lite)

Start

Known 2D Environments

slide-49
SLIDE 49

Field D*

  • Field D* (a version of D* Lite)

Start

Known 2D Environments

slide-50
SLIDE 50

Field D*

  • Field D* (a version of D* Lite)

Start

Known 2D Environments

slide-51
SLIDE 51

Field D*

  • Field D* (a version of D* Lite)

Start

Known 2D Environments

slide-52
SLIDE 52

Field D*

  • Field D* (a version of D* Lite)
  • Field D* can easily take traversal costs into account
  • Field D* is restricted to square grids
  • Sophisticated path extraction is necessary
  • Paths have lots of small heading changes in open space

(but could be optimized further)

Field D* path Shortest path Known 2D Environments

Start Goal

slide-53
SLIDE 53

Theta*

Path Length Computation Time A* on visibility graphs A* on grid graphs Any-Angle Find-Path Algorithms A* with Post Smoothing Field D* Theta*

figure is notional

any-angle search methods

Known 2D Environments

slide-54
SLIDE 54

Theta*

  • A*

– The parent of a vertex has to be its neighbor in the graph. – When expanding vertex s and generating its neighbor s’, A* considers

  • Making s the parent of s’ (Path 1)
  • Theta*

– The parent of a vertex does not need to be its neighbor – When expanding vertex s and generating its neighbor s’, Theta* considers

  • Making s the parent of s’ (Path 1)
  • Making the parent of s the parent of s’ (Path 2)
  • Note: Path 2 is no longer than Path 1 iff it is unblocked.

The line-of-sight check can be performed with fast line-drawing algorithms from computer graphics.

Known 2D Environments s’ s parent of s

slide-55
SLIDE 55

Theta*

  • Theta* [Nash, Daniel, Koenig and Felner, 2007]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Known 2D Environments

slide-56
SLIDE 56

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-57
SLIDE 57

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-58
SLIDE 58

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-59
SLIDE 59

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-60
SLIDE 60

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-61
SLIDE 61

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-62
SLIDE 62

Theta*

  • Theta*

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-63
SLIDE 63

Theta*

  • Theta*

Start Goal

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 2D Environments

slide-64
SLIDE 64

Theta*

  • Theta*

Start Goal

Known 2D Environments

slide-65
SLIDE 65

Path Length

  • Theta* is not guaranteed to find shortest paths since

the parent of a vertex can only be a neighbor of the vertex or the parent of a neighbor

  • The length of the path is still within 0.2% of optimal

Known 2D Environments

Theta* path Shortest path

slide-66
SLIDE 66

Path Lengths

Field D* A* with Post Smoothing Theta*

  • Goal vertices to which a shortest path was found

from the center vertex

Known 2D Environments

slide-67
SLIDE 67

Path Length

A* on grid graphs Theta*

Known 2D Environments We allow paths to pass through diagonally touching blocked cells here but this an be changed easily in the code

slide-68
SLIDE 68

Experimental Setups

  • For A* on grid graphs, we use the octile heuristics as

h-values. For A* on visibility graphs, A* with Post Smoothing (= helps smoothing), Field D*, Theta* and Lazy Theta*, we use the straight-line distances as h- values.

  • For A* on grid graphs, A* on visibility graphs, A* with

Post Smoothing and Field D*, we break ties among vertices with the same f-values in favor of vertices with smaller g-values. For Theta* and Lazy Theta*, we break ties among vertices with the same f-values in favor of vertices with smaller g-values.

Known 2D Environments

slide-69
SLIDE 69

Experimental Setups

  • We place the start vertex in the bottom left corner,

the goal vertex randomly into the rightmost column

  • f cells, and a one unit border of unblocked grid cells

around the grid to ensure a path exists.

  • Other experimental setups have been used as well,

which is important since the setup used here constrains the search space to the left and bottom, [Yap (2011), personal communication]. One could, for example, use randomly selected start and goal vertices on game maps with some randomly blocked cells added that simulate structures built by players [Yap et al. (2011)].

Known 2D Environments

slide-70
SLIDE 70

Efficiency

  • 100 x 100 grids with 20% randomly blocked cells

A* on grid graphs A* with Post Smoothing Field D* A* on visibility graphs Theta* computation time path length / path length of shortest path Known 2D Environments the computation times and their relationship depend on implementation details (such as how the priority queue and line-of-sight checks are implemented)

slide-71
SLIDE 71

Simplicity

A* Theta* Known 2D Environments

slide-72
SLIDE 72

Simplicity

  • A class project on any-angle search with Theta* was

developed as part of the “Computer Games in the Classroom” initiative, see idm-lab.org/gameai

  • Used at

– University of Nevada, Reno – University of Southern California

  • Online tutorial

– AiGameDev.com

Known 2D Environments

slide-73
SLIDE 73

Any-Angle Search

Property 1: Efficiency Any-Angle Search Method Property 2: Simplicity Property 3: Generality (Any Euclidean Graph) A* with Post Smoothing Yes Yes Field D* No No Theta* Yes Yes

A* on grid graphs A* with Post Smoothing Field D* A* on visibility graphs Theta* computation time path length / path length of shortest path

Known 2D Environments

slide-74
SLIDE 74

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-75
SLIDE 75

A* on Grid Graphs

  • Paths get longer and more unrealistic looking

Dimension Regular Grid Neighbors % Longer Than Shortest Path 2D triangular grid 3-neighbor ≈ 100 6-neighbor ≈ 15 square grid 4-neighbor ≈ 41 8-neighbor ≈ 8 hexagonal grid 6-neighbor ≈ 15 12-neighbor ≈ 4 3D cubic grid 6-neighbor ≈ 73 26-neighbor ≈ 13

Known 3D Environments

slide-76
SLIDE 76

A* on Grid Graphs

  • Paths get longer and more unrealistic looking

Known 3D Environments

slide-77
SLIDE 77

A* on Visibility Graphs

  • Paths are no longer optimal

Start Goal

Known 3D Environments

slide-78
SLIDE 78

Field D*

  • There is a 3D version of Field D* [Carsten, Ferguson

and Stentz (2006)], which is more complex than the 2D version, specific to cubic grids, and cannot solve the optimization in closed form

figures from the cited paper Known 3D Environments

slide-79
SLIDE 79

Theta*

  • Theta* applies to 3D environments without any

modifications but the number of line-of-sight checks increases since there is one line-of-sight check for each unexpanded visible neighbor (that is, potentially 26 instead of 8 neighbors)

3+7+7=17 line-of-sight checks

1 2 4 3 B C A sstart sgoal

7+15+15=37 line-of-sight checks

2 3 4 A B C 1 Upper (U) Lower (L) Sgoal Sstart

Known 3D Environments

slide-80
SLIDE 80

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

performs one line-of-sight check only for each expanded vertex rather than each generated vertex

  • Lazy Theta* works in 2D and 3D environments

Known 3D Environments

slide-81
SLIDE 81

Lazy Theta*

  • Theta*

– When expanding vertex s and generating its neighbor s’, Theta* considers

  • Making s the parent of s’ (Path 1)
  • Making the parent of s the parent of s’ (Path 2)
  • Lazy Theta*

– When expanding vertex s and generating its neighbor s’, Lazy Theta* makes the parent of s the parent of s’ (Path 2) without a line-of-sight check – When expanding vertex s’ and s’ does not have line-of- sight to its parent, then Lazy Theta* makes the best neighbor of s’ (= the one that minimizes the g-value of s’) the parent of s’ (Path 1). – [Such a neighbor exists since s is one of them.]

Known 3D Environments

slide-82
SLIDE 82

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-83
SLIDE 83

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-84
SLIDE 84

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-85
SLIDE 85

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-86
SLIDE 86

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-87
SLIDE 87

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-88
SLIDE 88

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-89
SLIDE 89

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-90
SLIDE 90

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Goal Start

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-91
SLIDE 91

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]

Start Goal

A B C 1 2 3 4 5

Arrows point to the parent of a vertex Vertex currently being expanded

Parent pointer

Path 1 Path 2

Known 3D Environments

slide-92
SLIDE 92

Lazy Theta*

  • Lazy Theta* [Nash, Koenig and Tovey (2010)]
  • Theta* performed 19 line-of-sight checks
  • Lazy Theta* performs 4 line-of-sight checks

Start Goal

Known 3D Environments

slide-93
SLIDE 93

Path Length

  • 100 x 100 x 100 grids with randomly blocked cells
  • Percentage by how much the path length of A* on grid

graphs is worse than the one of Theta* (left) and Lazy Theta* (right)

1.07 1.072 1.074 1.076 1.078 1.08 1.082 1.084 1.086 5 10 20 30 % Blocked % A* is worse Theta* Lazy Theta*

better percentage of blocked cells Known 3D Environments

slide-94
SLIDE 94

2 4 6 8 10 12 14 16 18 20 5 10 20 30 % Blocked Ratio of LOS Checks

Line-of-Sight Checks

  • 100 x 100 x 100 grids with randomly blocked cells
  • Ratio of line-of-sight checks of Theta* and line-of-sight

checks of Lazy Theta*

percentage of blocked cells better for Lazy Theta* Known 3D Environments

slide-95
SLIDE 95

Computation Time

  • 100 x 100 x 100 grids with randomly blocked cells
  • Ratio of computation time of Theta* and computation

time of Lazy Theta*

better for Lazy Theta*

1 2 3 4 5 6 7 5 10 20 30

% Blocked

Ratio of Computation Times

percentage of blocked cells Known 3D Environments

slide-96
SLIDE 96

Weighted Lazy Theta*

  • Lazy Theta* with A*: f(s) = g(s) + h(s)

Start Goal Known 3D Environments

slide-97
SLIDE 97

Weighted Lazy Theta*

  • Lazy Theta* with A*: f(s) = g(s) + e∙h(s) with e > 1
  • Reduces vertex expansions and thus line-of-sight checks
  • Both reductions reduce the computation time

Start Goal Known 3D Environments

slide-98
SLIDE 98

Weighted Lazy Theta*

  • Theta* and Lazy Theta* often do too much work
  • It is sufficient if there is a single path along which the

parent is propagated (when considering Path 2)

Goal Start

A B C 1 2 3 4 5

Known 3D Environments

slide-99
SLIDE 99

Efficiency

  • Weighted Lazy Theta* expands 15 times fewer

vertices but finds a path that is only 0.03% longer (which depends on how shallow the local minima are)

Lazy Theta* Weighted Lazy Theta* with e =1.3 Known 3D Environments

slide-100
SLIDE 100

Efficiency

  • 100 x 100 x 100 grids with 20% randomly blocked cells

0.01 0.1 1 10 0.9 0.95 1 Path Length / Length of Shortest Grid Path Computation Time

A* A* PS Lazy Theta* Basic Theta* Lazy Theta* with w=1.2

A* on grid graphs A* with Post Smoothing Basic Theta* Lazy Theta* Weighted Lazy Theta* with e=1.2 computation time path length / path length of shortest grid path Known 3D Environments

slide-101
SLIDE 101

Simplicity

A* Theta* Lazy Theta* Known 3D Environments

slide-102
SLIDE 102

Any-Angle Search

Property 1: Efficiency Any-Angle Search Method Property 2: Simplicity Property 3: Generality (Any Euclidean Graph) A* with Post Smoothing Yes Yes 3D Field D* No No Theta* Yes Yes (Weighted) Lazy Theta* Yes Yes

0.01 0.1 1 10 0.9 0.95 1 Path Length / Length of Shortest Grid Path Computation Time A* A* PS Lazy Theta* Basic Theta* Lazy Theta* with w=1.2

A* with Post Smoothing A* on grid graphs Theta* Lazy Theta* Weighted Lazy Theta with e=1.2 computation time path length / path length of shortest grid path

Known 3D Environments

slide-103
SLIDE 103

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-104
SLIDE 104

Replanning

  • Field D* and Theta* can both use incremental search

to replan faster than from scratch (Field D* was designed with this in mind) but neither of them works for every graph embedded in 2D Euclidean space

Unknown 2D Environments

Target Target Target Target Target Target Robot

slide-105
SLIDE 105

Table of Contents

  • Introduction
  • Analysis of Path Lengths
  • Any-Angle Search Methods
  • Known 2D Environments
  • Known 3D Environments
  • Unknown 2D Environments (1 slide only)
  • Conclusion
slide-106
SLIDE 106

Theta*

not covered in this talk Phi* Incremental Path Planning Theta* Path 2 Angle Propagation Theta* O(1) Vertex Expansions Lazy Theta* Lazy Evaluation Lazy Theta*-R Shorter Paths Lazy Theta*-P Better Properties Theta*-T Traversal Costs Theta* Optimizations Branching Factors Key Points Path 3 Weighted Lazy Theta* Optimized

slide-107
SLIDE 107

Other Any-Angle Search Methods

any-angle search methods Accelerated A*

figure is notional extensive experimental comparisons have not been performed yet

  • There are any-angle search methods for several trade
  • ffs between computation time and path length
slide-108
SLIDE 108

Block A*

  • Block A*

[Yap et al. (2011)]

– partitions a square grid into blocks of equal size – uses an A* search that expands blocks rather than cells – pre-computes (edge- constrained or any-angle) paths within each block to speed up the A* search

figure from the cited paper

slide-109
SLIDE 109

Accelerated A*

  • Accelerated A*

[Sislak et al. (2009)]

– Uses an adaptive step size to determine the neighbors of a vertex – Considers more parents than Theta*, namely all expanded vertices (using a sufficiently large ellipse to prune unpromising expanded vertices)

figures from the cited paper adaptive step size ellipse

slide-110
SLIDE 110

Additional Information

  • Theta* Dissertation

– A. Nash. Any-Angle Path Planning. Dissertation. Computer Science Department, University of Southern California, 2012. (can be retrieved from idm-lab.org soon)

slide-111
SLIDE 111

Additional Information

  • Theta* Publications

– K. Daniel, A. Nash, S. Koenig and A. Felner. Theta*: Any-Angle Path Planning on Grids. Journal of Artificial Intelligence Research, 39, 533- 579, 2010. – A. Nash, S. Koenig and C. Tovey. Lazy Theta*: Any-Angle Path Planning and Path Length Analysis in 3D. Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), 2010. – A. Nash, S. Koenig and M. Likhachev. Incremental Phi*: Incremental Any-Angle Path Planning on Grids. Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 1824-1830, 2009. – S. Koenig, K. Daniel and A. Nash. A Project on Any-Angle Path Planning for Computer Games for ‘Introduction to Artificial Intelligence’ Classes. Technical Report, Department of Computer Science. University of Southern California, Los Angeles (California), 2008. – A. Nash, K. Daniel, S. Koenig and A. Felner. Theta*: Any-Angle Path Planning on Grids. Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), 1177-1183, 2007.

slide-112
SLIDE 112

Additional Information

  • Field D* and 3D Field D* Publications

– J. Carsten, A. Rankin, D. Ferguson and A. Stentz: Global Planning on the Mars Exploration Rovers: Software Integration and Surface Testing. Journal of Field Robotics, 26, 337-357, 2009. – J. Carsten, D. Ferguson and A. Stentz. 3D Field D*: Improved Path Planning and Replanning in Three Dimensions. Proceedings of the International Conference on Intelligent Robots and Systems (IROS), 3381-3386, 2006. – D. Ferguson and A. Stentz. Using Interpolation to Improve Path Planning: The Field D* Algorithm. Journal of Field Robotics, 23(2), 79- 101, 2006. – A more general closed form linear interpolation equation that can be used on triangular meshes was introduced in L. Sapronov and A. Lacaze: Path Planning for Robotic Vehicles using Generalized Field D*. Proceedings of the SPIE, 6962, 2010.

slide-113
SLIDE 113

Additional Information

  • Block A* Publications

– P. Yap, N. Burch, R. Holte and J. Schaeffer: Block A*: Database-Driven Search with Applications in Any-Angle Path Planning. Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), 2011. – P. Yap, N. Burch, R. Holte and J. Schaeffer: Any-Angle Path Planning for Computer Games. Proceedings of the Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE), 2011.

  • Accelerated A* Publications

– D. Sislak, P. Volf and M. Pechoucek: Accelerated A* Trajectory Planning: Grid-Based Path Planning Comparison. Proceedings of the ICAPS 2009 Workshop on Planning and Plan Execution for Real-World Systems, 2009. – D. Sislak, P. Volf and M. Pechoucek: Accelerated A* Path Planning. Proceedings of the International Joint Conference on Autonomous Agents and Multiagent Systems, 2009.

slide-114
SLIDE 114

Additional Information

  • Web Pages

– http://idm-lab.org/project-o.html (lots of information, including a class project) – http://aigamedev.com/open/tutorials/theta-star-any-angle-paths/ (tutorial)

  • People

– Alex Nash (anash@usc.edu / alexwnash@gmail.com) – Sven Koenig (skoenig@usc.edu)

slide-115
SLIDE 115

Acknowledgements

  • Ideas and Technical Comments

– Kenny Daniel – Ariel Felner – Maxim Likhachev – Xiaoxun Sun – Craig Tovey – Peter Yap – William Yeoh – Xiaoming Zheng

slide-116
SLIDE 116

Acknowledgements

  • Research Support

– NSF (in part while serving at NSF) – ARO under grant number W911NF-08-1-0468 – ONR under grant number N00014-09-1-1031 – Northrop Grumman via a fellowship to Alex Nash – Nathan Sturtevant by providing game maps at movingai.com

  • The views and conclusions contained in this document are those of the authors and

should not be interpreted as representing the official policies, either expressed or implied, of the sponsoring organizations, agencies, companies or the U.S. government.