presentation 2

Download Presentation 2

If you can't read please download the document

Upload: matthew-haveard

Post on 26-May-2015

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 1. Ben Gardiner, Travis Cooper,Matthew Haveard, Waseem Ahmad Snakes and TurtlesROS, Python, and MILP

2. Outline

  • Introduction

3. Snakes: Python's Usefulness 4. Turtles: Adventures in ROS 5. MILP: The Algorithm that ties it together 6. Results 7. Conclusion 8. Python Intro

  • Object Oriented and Functional

9. Readability 10. Function and variable use 11. List Comprehension 12. English Do ya speak it?

  • The syntax is simple
  • x = snakes! is a stringy=3 is an integer

13. print (x*y) is snakes!snakes!snakes! Whitespace used for code blocks

  • Block 1 Start
    • nested block two start
  • 14. nested block two end

Block 1 End Simplicity speeds up coding time 15. Top 3 reasons to love Python's lists

  • 1) They are dynamic
  • No need to declare or update their length

16. Lists are mutable 17. Lists can contain other lists 18.

  • 2) List Comprehension can be nested
  • >>> mat = [

...[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.

  • 3) Matrices are really easy

>>> 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. Functions and Variables

  • Declare variables without having to state type

21. Assign a function to a variable 22. Ability to pass functions as arguments 23. Turtles, the ROS framework

  • Nodes:
  • X-Bee/Simulator

24. Coordinator 25. Control Menu 26. Collision Avoidance

  • Topics:
  • Telemetry Updates

27. Command Updates Services 28. Plane Creation 29. Load Waypoints 30. Collision Avoidance 31. Collision Avoidance Node

  • From telemetry update topic:
  • Plane ID, location, destination, bearing and speed

Request GoToWaypoint service from coordinator

  • Provide: Plane ID, new waypoint, priority of new waypoint

32. The Main Event Mixed Integer Linear Programming 33. The Elusive A and B 34. What A and B do UAV StateVector ForceVector 35. How A Works Position and Velocity 36. How B Works Acceleration and Time 37. Minimum Speed 38. Time Trajectory 39. Time Minimize 40. Time Minimize 41. Vehicle Avoidance 42. Maximum Speed/Force 43. Visiting Waypoints in Order 44. Results Without Minimum Speed 45. Results With Minimum Speed 46. Results Unordered Waypoints 47. Results Ordered Waypoints 48. Results Scenario 1, Setup 49. Results Scenario 1, Pathdt = 4, Nt = 20 50. Results Scenario 2, Setup 51. Results Scenario 2, Path dt = 4, Nt = 13, Comptime = 2.19s 52. Results Scenario 3, Setup 53. Results Scenario 3, Path dt = 4, Nt = 22, Comptime = 20.0s (limit) 54. Results Scenario 3, Path dt = 4, Nt = 22, Comptime = 10.0s (limit) 55. Results Scenario 3, Path dt = 8, Nt = 15, Comptime = 3.02s (limit) 56. Results Scenario 4, Setup 57. Results Scenario 4, Path dt = 4, Nt = 22, Comptime = 3.88s 58. Results Restricted Waypoints 59. Results Unrestricted Waypoints 60. Results Obstacle Avoidance 61. Conclusions Scenario 1, Path dt = 4, Nt = 20, Comptime = 0.13s