Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GoPiGo2で遊んでみた
Slide 2
Slide 2 text
Who am i 森 和之 @mainyaa 株式会社トップゲート ボドゲ好き猫エンジニア
Slide 3
Slide 3 text
GoPiGo2
Slide 4
Slide 4 text
GoPiGo2とは ● RaspberryPIを積んだロボットカー ● Dexter Industries社製 ○ LEGOマインドストームのキットを作ってる ● Kickstarter発
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
GoPiGo2の良い所 ● 20分で作れる ● センサーがキットになっていて、カスタマイズ出来る ● 電子工作が初めてでも作れるぐらい簡単 ● LEGOみたいにセンサーを組み合わせられる
Slide 7
Slide 7 text
GoPiGo2の良い所2 ● ソースコードがオープンソースで公開されている(GPL) ● ライブラリが豊富 ○ C、C#、Java、NodeJS、Python、Scratch ● https://github.com/DexterInd/GoPiGo/ ● プログラマブルなロボットカー
Slide 8
Slide 8 text
購入ガイド ● RaspberryPIすでに持っている人 ○ BaseKit+何かのセンサーで十分 ○ $99 ● これからRaspberryPIを始める人 ○ StarterKitがおすすめ ○ $299
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
GoPiGo2の良い所3 ● Exampleが豊富 ○ https://github.com/DexterInd/GoPiGo/tree/master/Software/Python/Ex amples ● PS3コントローラーで操作できる(要bluetooth) ● 超音波センサーで2m先まで物体があるか検知できる ● エンコーダーホイールがあるため、cm単位でモーターを制 御できる
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
エンコーダー ホイール タイヤと同じ軸に取り付ける タイヤがどれだけ回転したのかを パルスで受け取る Photo: ROBOTC http://www.robotc.net/wikiarchive/Tutorials/Arduino_Projects/Mobile_Robotics/BoeBot/What_is_an_Encoder
Slide 14
Slide 14 text
エンコーダーホイール ● エンコーダーの穴は合計64個なので、360 / 64で、5 deg / pulse ● ホイールの半径は3.25cm ● DER (Degree Per Ratio)がわかれば、タイヤをn cm進むのに必要なパルス数 が求められる
Slide 15
Slide 15 text
エンコーダーホイール ● 例:90度右を向く def right_deg(degree): pulse= int(degree / 5) # 5 degree/pulse enc_tgt(0, 1, pulse) right()
Slide 16
Slide 16 text
どこでもRaspberryPI開発したい
Slide 17
Slide 17 text
どこでもRaspberryPI開発したい ● 家に置いてあるRaspberryPIをノマドしつつ開発する ○ wifiを自動再接続するようにする ○ SSH Tunnelを使う ○ wifiは11acを使う ●
Slide 18
Slide 18 text
どこでもRaspberryPI開発したい ● wifiを自動再接続するようにする ○ $ sudo apt-get install wicd ○ $ wicd-curses
Slide 19
Slide 19 text
どこでもRaspberryPI開発したい ● SSH Tunnelを使う ○ MacもRPIも異なるプライベートネットワークで、グローバルIPがない ○ GCPやAWS上にSSH Tunnel用の中継サーバーを建てちゃう ○ 世界中どこからでもRPIにSSH接続できる
Slide 20
Slide 20 text
Google Cloud Platform RPI(母艦) Macbook 中継サーバー private network private network
Slide 21
Slide 21 text
どこでもRaspberryPI開発したい - SSH Tunnelを使う ● $ sudo apt-get install autossh ● $ git clone https://github.com/mainyaa/RaspberryPi-Mothership ● $ cd ssh-tunnel-example ● $ vim usr/bin/ssh_tunnel ○ [ssh_tunnel]をglobalIPに書き換え
Slide 22
Slide 22 text
どこでもRaspberryPI開発したい - SSH Tunnelを使う ● sudo apt-get install -y autossh ● git clone https://github.com/mainyaa/RaspberryPi-Mothership.git ● sudo cp ./RaspberryPi-Mothership/init.d/ssh_tunnel /etc/init.d/ ● sudo cp ./RaspberryPi-Mothership/sbin/ssh_tunnel /usr/sbin/ ● sudo insserv ssh_tunnel ● sudo reboot ○ これで、RPIが常に中継サーバーにSSH接続している 状態になった
Slide 23
Slide 23 text
どこでもRaspberryPI開発したい - SSH Tunnelを使う ● RPIに接続する ○ ssh -o 'ProxyCommand ssh ssh-tunnel nc %h %p' -p 20022 pi@localhost
Slide 24
Slide 24 text
Google Cloud Platform RPI(母艦) Macbook 中継サーバー private network private network Port20022 Port22
Slide 25
Slide 25 text
どこでもRaspberryPI開発したい ● RaspberryPiがどんなネットワークにいようと、raspiのIPアドレスを調べることな くssh接続できるようにする ○ http://qiita.com/mainyaa/items/f10d15a7d2cdddd7dfbf
Slide 26
Slide 26 text
どこでもRaspberryPI開発したい ● wifiは11acを使う ○ これは間に合いませんでした>< ○ ドライバのビルドのためにカーネルヘッダーを用意したり、ドライバのソース にパッチを当てたり、大変なのに認識してくれない>< ○ 成功している人いますか?
Slide 27
Slide 27 text
GoPiGo2で脳○メーカー作ってみた
Slide 28
Slide 28 text
GoPiGo2で脳○メーカー作ってみた ● Cloud Vision APIすごいよ ● # LABEL_DETECTION カテゴリの検出 ● # LANDMARK_DETECTION 観光名所などの場所名 ● # LOGO_DETECTION ロゴの検出 ● # TEXT_DETECTION OCR、文字の検出 ● # SAFE_SEARCH_DETECTION 画像が有害な内容を含んでいるかを検出 ● # IMAGE_PROPERTIES 画像に関する色データを検出 ● # FACE_DETECTION 顔検出 ●
Slide 29
Slide 29 text
GoPiGo2で脳○メーカー作ってみた ● Cloud Vision APIすごいよ ○ 顔検出ができる ■ 顔の座標特定 ■ 笑顔、怒り、悲しみ、驚きを判定
Slide 30
Slide 30 text
GoPiGo2で脳○メーカー作ってみた ● Cloud Vision APIすごいよ ○ 物体検出ができる ○ カメラに写っている物体を識別 ■ gadget, cat, human, room, floor, clothing, book
Slide 31
Slide 31 text
GoPiGo2で脳○メーカー作ってみた ● Cloud Vision APIすごいよ ○ 課金はリクエスト1,000回=1unitで換算 ○ 月1unitまで無料 ○ 以降、月1unitごとに$5 ■ https://cloud.google.com/vision/docs/pricing
Slide 32
Slide 32 text
GoPiGo2で脳○メーカー作ってみた ● Cloud Vision APIの凄さを伝えるべくRasPi botとビデオを作った話 ○ http://qiita.com/kazunori279/items/768c7fdf96cdf45a9d16 ● kazunoriさんに作成とOSS化の許可を得て、フルスクラッチでvBot君を 作った ● OSSで公開予定
Slide 33
Slide 33 text
GoPiGo2で脳○メーカー作ってみた ● 僕のvBot君の機能 ○ 顔を検知できなかったら認識できた物体をしゃべるよ ○ 笑顔を認識すると寄ってくるよ ○ 笑顔から笑顔度を判定して◯内メーカー風に画像を出し てくれるよ
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
デモ
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
Thanks