Friday Seminar: A* Search for Collision Avoidance

30
A* Search for UAV Collision Avoidance Thomas Crescenzi, Tyler Young, and Andrew Kaizer

description

In the ever-expanding world of unmanned flight, smaller, less expensive UAVs are being used for everything from search and rescue to military operations. In such situations, the working airspace can become crowded and pose a danger to the UAVs themselves. To prevent collisions, the A* search algorithm can be used to dynamically plan paths. We will discuss the A* algorithm, its previous uses in path planning, and how it is being used for dynamic collision avoidance.

Transcript of Friday Seminar: A* Search for Collision Avoidance

Page 1: Friday Seminar: A* Search for Collision Avoidance

A* Search for UAV Collision Avoidance

Thomas Crescenzi, Tyler Young,and Andrew Kaizer

Page 2: Friday Seminar: A* Search for Collision Avoidance

A* Overview

A* Easy:

Page 3: Friday Seminar: A* Search for Collision Avoidance

A* Overview

A* with Planes (Obstacles):

Page 4: Friday Seminar: A* Search for Collision Avoidance

Everything You Always Wanted to Know About Sparse A*

• Searching for a best path is NP-complete

• At worst, exponential time complexity

• A good heuristic, though, can reduce this to polynomial time

(*But Were Afraid to Ask)

Page 5: Friday Seminar: A* Search for Collision Avoidance

Simplifying the Search

• Can add the following constraints:– Minimum route leg length– Maximum turning angle– Total route distance– Fixed heading on approach to target

. . . to speed up search without losing optimality.

Page 6: Friday Seminar: A* Search for Collision Avoidance

Simplifying the Search

Page 7: Friday Seminar: A* Search for Collision Avoidance

Simplifying the Search

• Can add the following constraints:– Maximum queue depth– Weighted estimates

. . . to speed up search, at the risk of getting a (slightly?) sub-optimal solution.

Page 8: Friday Seminar: A* Search for Collision Avoidance

Simplifying the Search

Page 9: Friday Seminar: A* Search for Collision Avoidance

Predicting Planes

Assumptions: Planes will stay moving in a line to

their goal Planes exist in a world of grids Planes can turn on a dime,

instantaneously Obviously those are some big

assumptions, so how to address them?

Page 10: Friday Seminar: A* Search for Collision Avoidance

Planes Will Move in a Line

Surprisingly enough the planes, with our A* algorithm, will tend to move in lines.

As such, this is actually not much of an issue

Page 11: Friday Seminar: A* Search for Collision Avoidance

Straight Lines?

Page 12: Friday Seminar: A* Search for Collision Avoidance

Planes Exist in a World of Grids

Sadly, the Earth is curved Resolution of the grid means

loss of precision To account for this, a sort of

“probability field” is generated around the plane

Page 13: Friday Seminar: A* Search for Collision Avoidance

Planes Can Turn on a Dime

As of now, we don't even know what the turning radius is

This will be restricted in the later editions of plane prediction

Page 14: Friday Seminar: A* Search for Collision Avoidance

7 Easy Steps to Plane Prediction

1. Find a straight line to the goal2. Find the angle to the goal3. Find the closest “straight line” to that

angle4. Find the offset to that line5. Place offset in the square following the

line6. Place remainder in the next closest square7. Branch back to step 1

Page 15: Friday Seminar: A* Search for Collision Avoidance

Resulting Map

Page 16: Friday Seminar: A* Search for Collision Avoidance

Dynamic Obstacles, Static Maps

Page 17: Friday Seminar: A* Search for Collision Avoidance
Page 18: Friday Seminar: A* Search for Collision Avoidance

A* Analysis

• Two sets: 20x20 Grid and 46x42• Heuristics

– Modified Manhattan/Walking Distance– Chebyshev Distance (Minkowski: L∞)

– Euclidean Distance

• Terminology– Stalls– Stalls avoided

Page 19: Friday Seminar: A* Search for Collision Avoidance

20 x 20 Stalls

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

5

10

15

20

25

30

20x20 Stalls in 31 Runs

Euclidean stalls ModMan stalls Chebyshev stalls

Page 20: Friday Seminar: A* Search for Collision Avoidance

46 x 42 Stalls

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

1.2

46x42 Stalls in 31 Runs

Euclidean stalls ModMan stalls Chebyshev stalls

Page 21: Friday Seminar: A* Search for Collision Avoidance

Stalls: What Do We Know?

• Stalls are predictable by:–NUM_OF_PLANES–SPACE_OF_GRID

• The probability of a stall increases dramatically as we add planes into a smaller area…

Page 22: Friday Seminar: A* Search for Collision Avoidance

20 x 20 Stalls Avoided

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

5000

10000

15000

20000

25000

30000

35000

40000

45000

20x20 Stalls Avoided in 31 Runs

Euclidean avoided ModMan avoided Chebyshev avoided

Page 23: Friday Seminar: A* Search for Collision Avoidance

46 x 42 Stalls Avoided

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

2000

4000

6000

8000

10000

12000

14000

46x42 Stalls Avoided in 31 Runs

Euclidean avoided ModMan avoided Chebyshev avoided

Page 24: Friday Seminar: A* Search for Collision Avoidance

Stall Avoidance: What do we know?

• Stall avoidance is predictable by:– NUM_OF_PLANES– SPACE_OF_GRID

• Stall avoidance is a precursor to collision avoidance—avoiding a potential stall means you also avoid a potential collision

• Counter-intuitive: Euclidean needed to avoid the least stalls; is it the best heuristic?

Page 25: Friday Seminar: A* Search for Collision Avoidance

20x20 Optimality Difference

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

2000

4000

6000

8000

10000

12000

20x20 Optimality Difference

Euclidean differ ModMan differ Chebyshev differ

Page 26: Friday Seminar: A* Search for Collision Avoidance

46x42 Optimality Difference

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

500

1000

1500

2000

2500

3000

3500

4000

46x42 Optimality Difference

Euclidean differ ModMan differ Chebyshev differ

Page 27: Friday Seminar: A* Search for Collision Avoidance

Optimality Difference: WDWK?

• Euclidean problems• More planes = Less optimal

under basic heuristics• Goal: Create a heuristic that

will be closer to the optimal line (0 difference)

Page 28: Friday Seminar: A* Search for Collision Avoidance

20x20 Way Points per Plane

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15150

160

170

180

190

200

210

220

230

240

250

20x20 Waypoints per Plane

EWPP MMWPP CWPP Optimal

Page 29: Friday Seminar: A* Search for Collision Avoidance

46x42 Way Points per Plane

1 2 3 4 5 6 7 8 9 10 11 12 13 14 1580

82

84

86

88

90

92

94

96

98

100

46x42 Waypoints Per Plane

EWPP MMWPP CWPP Optimal

Page 30: Friday Seminar: A* Search for Collision Avoidance

WP/P: What do we know?

• Each plane added beyond the “safe” number starts to decrease our waypoint realization

• Implies that a very basic heuristic that only avoids collisions immediately is prone to certain problems…