![Page 1: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/1.jpg)
A* Search for UAV Collision Avoidance
Thomas Crescenzi, Tyler Young,and Andrew Kaizer
![Page 2: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/2.jpg)
A* Overview
A* Easy:
![Page 3: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/3.jpg)
A* Overview
A* with Planes (Obstacles):
![Page 4: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/6.jpg)
Simplifying the Search
![Page 7: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/8.jpg)
Simplifying the Search
![Page 9: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/11.jpg)
Straight Lines?
![Page 12: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/15.jpg)
Resulting Map
![Page 16: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/16.jpg)
Dynamic Obstacles, Static Maps
![Page 17: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/17.jpg)
![Page 18: Friday Seminar: A* Search for Collision Avoidance](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/558e00f51a28ab75518b4615/html5/thumbnails/30.jpg)
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…