Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Making a Drone by Python using RaspberryPi and Google VoiceKit

894 views

Published on

I will introduce the technique that I used to make a drone using RaspberryPi and Google VoiceKit by Python. The VoiceKit looks like making a smart speaker in combination with a RaspberryPy, but it can move up to 4 motors and servos with a simple Python code, too. And I’ll do a flying demonstration.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Making a Drone by Python using RaspberryPi and Google VoiceKit

  1. 1. Make a Drone using RaspberryPi and Google VoiceKit by Python @ selina787b 18 Sep 2018 /O ta-ku Sangyo P laza P IO #pyconjp #pyconjp_2
  2. 2. Talk Description ✢ Self-introduction ✢ About Drone &P urpose ✢ Whatyou cando with Drone ✢ Description of R aspberryP i and G oogle VoiceKit ✢ How to made it ✢ P ython code &Impression ✢ Flying demonstration Let's start! 2
  3. 3. 1. Self-introduction 自己紹介です。よろしくお願いします!
  4. 4. Hello! IamLinaKATAYO SE (Selina) I'm longing to fly inthe sky,because of majoring in aerospace studies. Inthefuture Iwould like to flythesky with myown aircraft. Imade moegi Inc. 空を飛ぶことに憧れ、航空宇宙学を専攻。 将来は自分の作った航空機で空を飛びたいと思っている。(株)moegi代表 4 @ selina787 b
  5. 5. 2.1 About Drone すでに知っている方も多いですが、念のため。
  6. 6. About Drone ✢ 人を乗せずに遠隔操作や自律制御によって飛行する 航空機のこと。 ✢ Drones are aircraft that fly by remote control or autonomous control without having a crew member on board. To fly, permission /approval by the Ministryof Land, Infrastructure and Transportisnecessary. 飛行させるためには国土交通省の許可・承認が必要です。 6
  7. 7. About Drone ✢ 注意すること(日本国内, 機体200g以上) ✢ To fly adrone, If youmust check J apan rule. 7
  8. 8. About Drone ✢ 国土交通省の許可・承認があれば以下のことが可能。 ✢ Whenyou got a permission /approval, youcan do those. 8
  9. 9. 2.2 Purpose すでに知っている方も多いですが、念のため。
  10. 10. Purpose ✢ Iwant tohack aselling drone. ✢ ドローンをハックしたい。 10 1
  11. 11. Purpose ✢ Iwant tomake dronesthat areaseasy andsafe aschildrencan make. ✢ ドローンを簡単に飛ばせる仕組みを作りたい。 11 2
  12. 12. Purpose ✢ Iam developing aplatformthatelementary and junior highschoolstudentscancasuallycreate whilestudying programming and electronic work.Itiseducational and not afull-blowndrone development. ✢ 小中学生向け、プログラミング&電子工作の勉強のために。 ✢ 気軽に作成できるプラットフォームを開発。 ✢ 前回の発表では、ブラシレスモーターを回す仕組みに焦点を 当てたが、今回は以下に簡単にモーターを4つ回しプログラム で動かすかに焦点を当てた。 (別途進めている。)本格的なドローンはArduinoなどのマイコンを併用予定 12 3
  13. 13. 3. What you can do with Drone ドローンでできること。
  14. 14. What you can do with Drone ✢ 空撮(映画、ドラマ、CMなど)、捜索、配達など ✢ Skypicture &movie (movies, dramas, CMetc.), search,delivery etc. 14
  15. 15. 4. Description of RaspberryPi and Google VoiceKit ラズベリーパイとボイスキットについての説明
  16. 16. RaspberryPi The R aspberry P i is atinyand affordable computerthatyou can usetolearn programming through fun, practicalprojects. Description of RaspberryPi and Google VoiceKit Voice Kit Board attachedtoR aspberry P i There areVer1 andVer2, that isnow Version 2is sold. 16
  17. 17. Description of RaspberryPi and Google VoiceKit Voice Kit Board attachedto R aspberry P i "G oogle AIY Voice Kit" which was releasedlastyearfrom the"G oogle AIY P roject" sothatcutting edgetechnology AI canbe usedeasilyand familiarlyin "Makers"enjoying making things It ispossible tomove motors andservos aswell asvoice-only behavior. 17
  18. 18. Description of RaspberryPi and Google VoiceKit Voice Kit It is also possible to make intelligent smart speakers like Google Home or Amazon Echo! Google HomeやAmazon Echoのような インテリジェントなスマートスピーカーを作ることも可能! 18
  19. 19. Description of RaspberryPi and Google VoiceKit Voice Kit つまり、声で動かすことも可能! 19
  20. 20. Description of RaspberryPi and Google VoiceKit Voice Kit It can also move the servo! サーボを動かすことも可能! 20
  21. 21. Description of RaspberryPi and Google VoiceKit Voice Kit It can also move the motor! モーターを動かすことも可能! 21
  22. 22. Description of RaspberryPi and Google VoiceKit Voice Kit That is ... It seems to make everything move! つまり、なんでも動かせそう! 22
  23. 23. Description of RaspberryPi and Google VoiceKit E asy Somebeginner feelsthatelectronic work is difficult, but It haveallof Voice Kit. Python It useP ython code. so P ython userwill feeleasy. not E xpensive It isabout $12 in US, R aspberry P i is$35. soit isnot expensive. 23 Why use it? ボイスキットは必要 なものが揃っていま す。必要な所をは んだ付けするくらい。 ラズベリーパイを使 うのでPythonで動 かせます。しかも少 ないコードで。 ボイスキットは約3000 円、ラズベリーパイは約 5000円で売っています。 (日本)
  24. 24. 5. How to made it それをどうやって組み込むか。
  25. 25. Description of RaspberryPi and Google VoiceKit Voice Kit & RaspberryPi connect bySolder はんだで線をつなげていく。 25
  26. 26. Python code & Impressions 26 Before talk
  27. 27. Python code & Impressions 27 Before talk
  28. 28. 6. Python code & Impressions Pythonコードとまとめ。
  29. 29. Python code & Impressions from gpiozero import PWMOutputDevice from time import sleep pwm = PWMOutputDevice(4) pwm = PWMOutputDevice(17) pwm = PWMOutputDevice(27) pwm = PWMOutputDevice(22) 29 1 2 3 4 ↑ Rotor Number GPIO Number
  30. 30. Python code 30 #上昇&前進 #gpiozeroライブラリから PWMOutputDeviceをインポートします。 from gpiozero import PWMOutputDevice from time import sleep # モーターは左上を1とし半時計周りに,2,3,4とする。 # 1をGPIO04,2をGPIO17,3をGPIO27,4をGPIO22とする。 pwm = PWMOutputDevice(4) pwm2 = PWMOutputDevice(17) pwm3 = PWMOutputDevice(27) pwm4 = PWMOutputDevice(22) #pwm.valueを0.3(30%)で反時計周りに回す。その後、全力で上昇その後前進。 while True: pwm.value = 0.5 sleep(0.3) pwm2.value = 0.5 sleep(0.3) pwm3.value = 0.5 sleep(0.3) pwm4.value = 0.5 sleep(0.5) pwm.on() pwm2.on() pwm3.on() pwm4.on() sleep(2.0) # 前進 pwm.value = 0.7 pwm4.value = 0.7 sleep(3.0) # 前進ストップ(反力) pwm.value = 1.0 pwm4.value = 1.0 pwm2.value = 0.8 pwm3.value = 0.8 sleep(1.2) #ホバリング pwm.on() pwm2.on() pwm3.on() pwm4.on() sleep(2.0) pwm.value = 0.3 pwm2.value = 0.3 pwm3.value = 0.3 pwm4.value = 0.3 sleep(1.0) pwm.off() pwm2.off() pwm3.off() pwm4.off() sleep(3.0) #上昇前進ストップ&下降を繰り返 す。 Lift off & move to forward
  31. 31. Python code 31 #上昇 #gpiozeroライブラリから PWMOutputDeviceをインポートします。 from gpiozero import PWMOutputDevice from time import sleep # モーターは左上を1とし半時計周りに,2,3,4とする。 # 1をGPIO04,2をGPIO17,3をGPIO27,4をGPIO22とする。 pwm = PWMOutputDevice(4) pwm2 = PWMOutputDevice(17) pwm3 = PWMOutputDevice(27) pwm4 = PWMOutputDevice(22) #pwm.valueを0.3(30%)で反時計周りに回す。その後、全力で上昇 while True: pwm.value = 0.5 sleep(0.3) pwm2.value = 0.5 sleep(0.3) pwm3.value = 0.5 sleep(0.3) pwm4.value = 0.5 sleep(0.5) pwm.on() pwm2.on() pwm3.on() pwm4.on() sleep(3.0) pwm.value = 0.7 pwm2.value = 0.7 pwm3.value = 0.7 pwm4.value = 0.7 sleep(1.0) pwm.value = 0.3 pwm2.value = 0.3 pwm3.value = 0.3 pwm4.value = 0.3 sleep(1.0) pwm.off() pwm2.off() pwm3.off() pwm4.off() sleep(3.0) #上昇下降を繰り返す。 Lift off & hovering
  32. 32. Python code 32 Voise Command example import aiy.audio import aiy.cloudspeech import aiy.voicehat from gpiozero import PWMOutputDevice def main(): recognizer = aiy.cloudspeech.get_recognizer() recognizer.expept_phraze('on') recognizer.exsept_phraze('off') button = aiy.voicehat.get_button() aiy.audio.get_recognizer().start() pwm = PWMOutputDevice(4) while True: print('Press the button and speak') button.wait_for_press() print('Listening...') text = recognizer.recognize() if text is None: print('Sorry, I did not hear you.') else: print('You said "', text, '"') if 'on' in text: print('Turning motor on') pwm.off() elif 'off' in text: print('Turning motor off') pwm.off() if __name__ == '__main__': main()
  33. 33. Python code & Impressions https://aiyprojects.withgoogle.co m/voice-v1/#makers-guide-3- custom-voice-user-interface VoiceコントロールはGoogle Cloud に 接続する必要がある。(一部有料) 33
  34. 34. Python code & Impressions ✢ 電流が足らない問題。(悩む) ✢ Drones are aircraft that fly by remote control or autonomous control without having a crew member on board. To fly, permission /approval by the Ministryof Land, Infrastructure and Transportisnecessary. 今回の制作に関して、実験はうまく行っていたが、モーターを同時に回すための電流ゅ が足らないことが発覚、途中、リレーを使用する回路に切り替えたが、それでも不十 分。現在はその電流問題を何とか解決したいと考えている。 34
  35. 35. 7. Flying demonstration フライトデモンストレーション
  36. 36. Let'sseethedemonstlation. 36
  37. 37. Thanks! Anyquestions? Y ou canfind me at “LinaKATAYOSE” @ selina787b lina.katayose@ gmail.com 37 http://se-lina.hatenablog.com/

×