Presentation 2

341 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
341
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentation 2

  1. 1. Ben Gardiner, Travis Cooper, Matthew Haveard, Waseem Ahmad Snakes and Turtles ROS, Python, and MILP
  2. 2. Outline <ul><li>Introduction
  3. 3. Snakes: Python's Usefulness
  4. 4. Turtles: Adventures in ROS
  5. 5. MILP: The Algorithm that ties it together
  6. 6. Results
  7. 7. Conclusion </li></ul>
  8. 8. Python Intro <ul><li>Object Oriented and Functional
  9. 9. Readability
  10. 10. Function and variable use
  11. 11. List Comprehension </li></ul>
  12. 12. English – Do ya speak it? <ul><li>The syntax is simple </li><ul><li>x = “snakes!” is a string y=3 is an integer
  13. 13. print (x*y) is snakes!snakes!snakes! </li></ul><li>Whitespace used for code blocks </li><ul><li>Block 1 Start </li><ul><ul><li>nested block two start
  14. 14. nested block two end </li></ul></ul><li>Block 1 End </li></ul><li>Simplicity speeds up coding time </li></ul>
  15. 15. Top 3 reasons to love Python's lists <ul>1) They are dynamic </ul><ul><li>No need to declare or update their length
  16. 16. Lists are mutable
  17. 17. Lists can contain other lists </li></ul>
  18. 18. <ul>2) List Comprehension can be nested </ul><ul>>>> mat = [ </ul>... [1, 2, 3], ... [4, 5, 6], ... [7, 8, 9], ... ] print([[row[i] for row in mat] for i in [0, 1, 2]]) [[1, 4, 7], [2, 5, 8], [3, 6, 9]] Top 3 reasons to love Python's lists
  19. 19. <ul>3) Matrices are really easy </ul>>>> words = 'The quick brown fox jumps over the lazy dog'.split() >>> print words ['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog'] >>> >>> stuff = [[w.upper(), w.lower(), len(w)] for w in words] >>> for i in stuff: ... print i ... ['THE', 'the', 3] ['QUICK', 'quick', 5] ['BROWN', 'brown', 5] ['FOX', 'fox', 3] ['JUMPS', 'jumps', 5] ['OVER', 'over', 4] ['THE', 'the', 3] ['LAZY', 'lazy', 4] ['DOG', 'dog', 3] Top 3 reasons to love Python's lists
  20. 20. Functions and Variables <ul><li>Declare variables without having to state type
  21. 21. Assign a function to a variable
  22. 22. Ability to pass functions as arguments </li></ul>
  23. 23. Turtles, the ROS framework <ul>Nodes: <li>X-Bee/Simulator
  24. 24. Coordinator
  25. 25. Control Menu
  26. 26. Collision Avoidance </li></ul><ul>Topics: <li>Telemetry Updates
  27. 27. Command Updates Services
  28. 28. Plane Creation
  29. 29. Load Waypoints
  30. 30. Collision Avoidance </li></ul>
  31. 31. Collision Avoidance Node <ul><li>From telemetry update topic: </li><ul><li>Plane ID, location, destination, bearing and speed </li></ul><li>Request GoToWaypoint service from coordinator </li><ul><li>Provide: Plane ID, new waypoint, priority of new waypoint </li></ul></ul>
  32. 32. The Main Event Mixed Integer Linear Programming
  33. 33. The Elusive A and B
  34. 34. What A and B do UAV State Vector Force Vector
  35. 35. How A Works Position and Velocity
  36. 36. How B Works Acceleration and Time
  37. 37. Minimum Speed
  38. 38. Time Trajectory
  39. 39. Time Minimize
  40. 40. Time Minimize
  41. 41. Vehicle Avoidance
  42. 42. Maximum Speed/Force
  43. 43. Visiting Waypoints in Order
  44. 44. Results Without Minimum Speed
  45. 45. Results With Minimum Speed
  46. 46. Results Unordered Waypoints
  47. 47. Results Ordered Waypoints
  48. 48. Results Scenario 1, Setup
  49. 49. Results Scenario 1, Path dt = 4, Nt = 20
  50. 50. Results Scenario 2, Setup
  51. 51. Results Scenario 2, Path dt = 4, Nt = 13, Comptime = 2.19s
  52. 52. Results Scenario 3, Setup
  53. 53. Results Scenario 3, Path dt = 4, Nt = 22, Comptime = 20.0s (limit)
  54. 54. Results Scenario 3, Path dt = 4, Nt = 22, Comptime = 10.0s (limit)
  55. 55. Results Scenario 3, Path dt = 8, Nt = 15, Comptime = 3.02s (limit)
  56. 56. Results Scenario 4, Setup
  57. 57. Results Scenario 4, Path dt = 4, Nt = 22, Comptime = 3.88s
  58. 58. Results Restricted Waypoints
  59. 59. Results Unrestricted Waypoints
  60. 60. Results Obstacle Avoidance
  61. 61. Conclusions Scenario 1, Path dt = 4, Nt = 20, Comptime = 0.13s

×