Upcoming SlideShare
×

# Presentation 2

341 views

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
341
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
3
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
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
26. 26. Collision Avoidance </li></ul><ul>Topics: <li>Telemetry Updates
28. 28. Plane Creation
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