Friday Seminar: A* Search for Collision Avoidance


Published on

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.

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Friday Seminar: A* Search for Collision Avoidance

  1. 1. A* Search for UAV Collision Avoidance<br />Thomas Crescenzi, Tyler Young,<br />and Andrew Kaizer<br />
  2. 2. A* Overview<br />A* Easy:<br />
  3. 3. A* Overview<br />A* with Planes (Obstacles):<br />
  4. 4. Everything You Always Wanted to Know About Sparse A* <br />(*But Were Afraid to Ask)<br />Searching for a best path is NP-complete<br />At worst, exponential time complexity<br />A good heuristic, though, can reduce this to polynomial time<br />
  5. 5. Simplifying the Search <br />Can add the following constraints:<br />Minimum route leg length<br />Maximum turning angle<br />Total route distance<br />Fixed heading on approach to target<br />. . . to speed up search without losing optimality.<br />
  6. 6. Simplifying the Search <br />
  7. 7. Simplifying the Search <br />Can add the following constraints:<br />Maximum queue depth<br />Weighted estimates<br />. . . to speed up search, at the risk of getting a (slightly?) sub-optimal solution.<br />
  8. 8. Simplifying the Search <br />
  9. 9. Predicting Planes<br /><ul><li>Assumptions:
  10. 10. Planes will stay moving in a line to their goal
  11. 11. Planes exist in a world of grids
  12. 12. Planes can turn on a dime, instantaneously
  13. 13. Obviously those are some big assumptions, so how to address them?</li></li></ul><li>Planes Will Move in a Line<br /><ul><li>Surprisingly enough the planes, with our A* algorithm, will tend to move in lines.
  14. 14. As such, this is actually not much of an issue</li></li></ul><li>Straight Lines?<br />
  15. 15. Planes Exist in a World of Grids<br /><ul><li>Sadly, the Earth is curved
  16. 16. Resolution of the grid means loss of precision
  17. 17. To account for this, a sort of “probability field” is generated around the plane</li></li></ul><li>Planes Can Turn on a Dime<br /><ul><li>As of now, we don't even know what the turning radius is
  18. 18. This will be restricted in the later editions of plane prediction </li></li></ul><li>7 Easy Steps to Plane Prediction<br />Find a straight line to the goal<br />Find the angle to the goal<br />Find the closest “straight line” to that angle<br />Find the offset to that line<br />Place offset in the square following the line<br />Place remainder in the next closest square<br />Branch back to step 1<br />
  19. 19. Resulting Map<br />
  20. 20. Dynamic Obstacles, Static Maps<br />
  21. 21.
  22. 22. A* Analysis<br />Two sets: 20x20 Grid and 46x42<br />Heuristics<br />Modified Manhattan/Walking Distance<br />Chebyshev Distance (Minkowski: L∞)<br />Euclidean Distance<br />Terminology<br />Stalls<br />Stalls avoided<br />
  23. 23. 20 x 20 Stalls<br />
  24. 24. 46 x 42 Stalls<br />
  25. 25. Stalls: What Do We Know?<br />Stalls are predictable by:<br />NUM_OF_PLANES<br />SPACE_OF_GRID<br />The probability of a stall increases dramatically as we add planes into a smaller area…<br />
  26. 26. 20 x 20 Stalls Avoided<br />
  27. 27. 46 x 42 Stalls Avoided<br />
  28. 28. Stall Avoidance: What do we know?<br />Stall avoidance is predictable by:<br />NUM_OF_PLANES<br />SPACE_OF_GRID<br />Stall avoidance is a precursor to collision avoidance—avoiding a potential stall means you also avoid a potential collision<br />Counter-intuitive: Euclidean needed to avoid the least stalls; is it the best heuristic?<br />
  29. 29. 20x20 Optimality Difference<br />
  30. 30. 46x42 Optimality Difference<br />
  31. 31. Optimality Difference: WDWK?<br />Euclidean problems<br />More planes = Less optimal under basic heuristics<br />Goal: Create a heuristic that will be closer to the optimal line (0 difference)<br />
  32. 32. 20x20 Way Points per Plane<br />
  33. 33. 46x42 Way Points per Plane<br />
  34. 34. WP/P: What do we know?<br />Each plane added beyond the “safe” number starts to decrease our waypoint realization<br />Implies that a very basic heuristic that only avoids collisions immediately is prone to certain problems…<br />