Friday Seminar: A* Search for Collision Avoidance
description
Transcript of Friday Seminar: A* Search for Collision Avoidance
A* Search for UAV Collision Avoidance
Thomas Crescenzi, Tyler Young,and Andrew Kaizer
A* Overview
A* Easy:
A* Overview
A* with Planes (Obstacles):
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)
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.
Simplifying the Search
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.
Simplifying the Search
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?
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
Straight Lines?
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
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
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
Resulting Map
Dynamic Obstacles, Static Maps
A* Analysis
• Two sets: 20x20 Grid and 46x42• Heuristics
– Modified Manhattan/Walking Distance– Chebyshev Distance (Minkowski: L∞)
– Euclidean Distance
• Terminology– Stalls– Stalls avoided
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
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
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…
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
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
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?
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
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
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)
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
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
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…