How I built an autonomous drone using open-source software

How I built an autonomous drone using open-source software

As a boy flying line-control RC planes in my front yard, I would spend hours spinning in a dizzying circle perfecting the art of line-control flight. Eventually, I graduated to gas and battery powered, wireless RC aircraft. Fast-forward to adulthood… and an interest in software and mutli-rotor quadcopters. I built many (dozens actually) RC controlled quadcopters… but autonomy kept calling. For a drone to fly autonomously… sensors, processing power, and communication chips must be on-board. While that may not seem like much, it actually requires a considerably powerful flight controller and associated sensors. In this presentation, the necessary steps required to build an autonomous drone using custom and open-source software will be discussed. All of the failures and the eventual success will be demonstrated.

A2c74ea2f22838640d40c64daa3fa524?s=128

DJ Daugherty

January 09, 2016
Tweet

Transcript

  1. how I built an autonomous drone using open-source software

  2. dj daugherty dj@pillartechnology.com @ddaugher

  3. None
  4. hiring.yeah!

  5. None
  6. name: comment:

  7. drones? why

  8. drones? why I’m a kid trapped in an adult’s body!

  9. drones? why I’m a kid trapped in an adult’s body!

    It irritates my wife
  10. drones? why I’m a kid trapped in an adult’s body!

    It irritates my wife It’s my job.
  11. drones? why I’m a kid trapped in an adult’s body!

    It irritates my wife It’s my job.
  12. None
  13. None
  14. GPS Data

  15. None
  16. 12 MPH… boring !

  17. None
  18. - ReSTful API

  19. - ReSTful API - streaming API

  20. - ReSTful API - streaming API - real-time GPS

  21. None
  22. much faster!

  23. None
  24. None
  25. None
  26. disclosure! I will not be talking about SpaceX

  27. drone! who owns one?

  28. None
  29. FAA registration or at least my thoughts.

  30. None
  31. None
  32. None
  33. None
  34. so… how did I get here? #codemashdrone

  35. your own byod drone build multi-rotor copter, that is. 2015

  36. autonomous? what does it mean to be

  37. 365 days later

  38. story

  39. how I built an autonomous drone using open-source software

  40. As a boy flying line-control RC planes in my front

    yard, I would spend hours spinning in a dizzying circle perfecting the art of line-control flight. Eventually, I graduated to gas and battery powered, wireless RC aircraft. Fast-forward to adulthood… and an interest in software and mutli-rotor quadcopters. I built many (dozens actually) RC controlled quadcopters… but autonomy kept calling. For a drone to fly autonomously… sensors, processing power, and communication chips must be on-board. While that may not seem like much, it actually requires a considerably powerful flight controller and associated sensors. In this presentation, the necessary steps required to build an autonomous drone using custom and open-source software will be discussed. All of the failures and the eventual success will be demonstrated.
  41. As a boy flying line-control RC planes in my front

    yard, I would spend hours spinning in a dizzying circle perfecting the art of line-control flight. Eventually, I graduated to gas and battery powered, wireless RC aircraft. Fast-forward to adulthood… and an interest in software and mutli-rotor quadcopters. I built many (dozens actually) RC controlled quadcopters… but autonomy kept calling. For a drone to fly autonomously… sensors, processing power, and communication chips must be on-board. While that may not seem like much, it actually requires a considerably powerful flight controller and associated sensors. In this presentation, the necessary steps required to build an autonomous drone using custom and open-source software will be discussed. All of the failures and the eventual success will be demonstrated.
  42. None
  43. None
  44. As a boy flying line-control RC planes in my front

    yard, I would spend hours spinning in a dizzying circle perfecting the art of line-control flight. Eventually, I graduated to gas and battery powered, wireless RC aircraft. Fast-forward to adulthood… and an interest in software and mutli-rotor quadcopters. I built many (dozens actually) RC controlled quadcopters… but autonomy kept calling. For a drone to fly autonomously… sensors, processing power, and communication chips must be on-board. While that may not seem like much, it actually requires a considerably powerful flight controller and associated sensors. In this presentation, the necessary steps required to build an autonomous drone using custom and open-source software will be discussed. All of the failures and the eventual success will be demonstrated.
  45. None
  46. None
  47. As a boy flying line-control RC planes in my front

    yard, I would spend hours spinning in a dizzying circle perfecting the art of line-control flight. Eventually, I graduated to gas and battery powered, wireless RC aircraft. Fast-forward to adulthood… and an interest in software and mutli-rotor quadcopters. I built many (dozens actually) RC controlled quadcopters… but autonomy kept calling. For a drone to fly autonomously… sensors, processing power, and communication chips must be on-board. While that may not seem like much, it actually requires a considerably powerful flight controller and associated sensors. In this presentation, the necessary steps required to build an autonomous drone using custom and open-source software will be discussed. All of the failures and the eventual success will be demonstrated.
  48. None
  49. None
  50. anatomy of an drone.

  51. autonomous? what does it mean to be

  52. None
  53. None
  54. None
  55. None
  56. None
  57. autonomy levels of

  58. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  59. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  60. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  61. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  62. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  63. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  64. the human flyer is in complete control of all functions

    level 0 one function is automated level 1 more than one function is automated at the same time level 2 flying functions sufficiently automated - engage in other activities level 3 self-flying - no human pilot required level 4
  65. research my

  66. sdk

  67. None
  68. None
  69. None
  70. None
  71. 3-axis Gyroscope 3-axis Accelerometer magnetometer

  72. None
  73. None
  74. github. target rich !

  75. None
  76. None
  77. None
  78. landed. where i

  79. 3-axis Gyroscope 3-axis Accelerometer pressure sensor/altimeter magnetometer gps

  80. None
  81. None
  82. finds some interesting

  83. None
  84. None
  85. None
  86. Swiss Federal Institute of Technology (ETH) in Zurich Cirque du

    Soleil
  87. None
  88. math

  89. None
  90. None
  91. None
  92. None
  93. None
  94. direct and inverse solutions of geodesics on the ellipsoid with

    application of nested equations http://ddaugher.github.io/oss/groovy_vincenty.html
  95. None
  96. invited. you’re

  97. None
  98. None
  99. None
  100. changes. and… the story

  101. None
  102. None
  103. None
  104. None
  105. None
  106. None
  107. None
  108. None
  109. None
  110. None
  111. None
  112. None
  113. None
  114. None
  115. None
  116. None
  117. None
  118. None
  119. None
  120. None
  121. anatomy of an autonomous drone.

  122. None
  123. None
  124. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  125. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  126. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  127. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  128. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  129. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  130. auto-level auto-altitude auto-takeoff and auto-landing loiter return to launch waypoints

    programming while in flight
  131. None
  132. None
  133. None
  134. None
  135. None
  136. notes and… the

  137. http://djdaugherty.com

  138. None
  139. None
  140. None
  141. None
  142. back to the farm

  143. None
  144. None
  145. None
  146. None
  147. None
  148. None
  149. None
  150. None
  151. None
  152. thanks. dj daugherty dj@pillartechnology.com @ddaugher http://djdaugherty.com