Upload
akihitonomura
View
558
Download
3
Embed Size (px)
Citation preview
× botNomura Akihito
NCT Tech Conference 2016
Mugbot とは
NCT Tech Conference 2016
・ OSS のソーシャルロボット・東京都市大学 小池情報デザイン研究室にて製作・ Raspberry pi 、 Aruduino というマイコンボードを使用・市販の安価な材料で作ることができる
Mugbot
* Mugbot のコンセプト ⇨ http://www.mugbot.com/about-mugbot/
NCT Tech Conference 2016
なにができるの?
NCT Tech Conference 2016
ブラウザで入力 ・スピーカーから発話・目と口の LED を点滅・首のモータが稼働
NCT Tech Conference 2016
作りかた
NCT Tech Conference 2016
まず、材料を購入・レンジマグ ゴセプラ製 1個・なるほどパック 乾物ケース 1個・タミヤ ユニバーサルプレート L (210mm×160mm) 1枚・タミヤ ユニバーサル金具 4本セット 1個・サーボモータ Miniservo RB90 2個・プラ板 0.2mm か 0.3mm 厚 1枚 ( 直径 126mm の正円を取れるもの)・白色 砲弾型 超高輝度 10mm LED 2個・白色自己点滅 5mm LED 3個・LED光拡散キャップ(5mm) 白 3個・抵抗 タクマン RD25 330Ω カーボン抵抗 1/4w 300Ω±5% 5個・小型ブレッドボード 1個・長いジャンプワイア オス - オス 11 本・長いジャンプワイア オス - メス 14 本・固いジャンプワイア ・ M3 ネジ 10mm 15 本 ( タミヤ ユニバーサルプレート L に 18 個付属 )・ M3 ネジ 15mm 12 本( 20mm でも可)(ネジは頭の部分が鍋形のものを使用してください。皿形は使用できません。)・ M3 フランジナット 27 個( M3 は直径 3mm の意)・スピーカー(電源供給式が望ましい) 1個・ micro USB 通信ケーブル 1本(充電専用のものは使用不可なので注意すること)・ Raspberry Pi2 ModelB もしくは Model B+ 1個・ Arduino Leonard 1個・ micro SDHC カード 4GB 以上 Class10 推奨 ( SD カード変換アダプターが必要)
image を使用する場合は4 GB 以上、 NOOBS を使用する場合は8 GB 以上・ 2A 以上の USB-AC アダプター
基本的にネット通販で購入
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
組み立て
NCT Tech Conference 2016
ソフトのインストール
https://github.com/mugbot/
Raspberry pi : html,js,rubyArduino : c++
NCT Tech Conference 2016
完成!
NCT Tech Conference 2016
と思いきや・・
NCT Tech Conference 2016
■ 詳細説明レンジマグ 1個100円ショップのキャンドウで販売していましたが、現在は販売されていません。有限会社ゴセプラ製。クリアカラーは生産中止、国内で販売はしていませんがメーカーは輸出用に赤、青、緑色のレンジマグを生産していて、各色まとまった数ならメーカーから直接購入できます。はやく、再びネットや 100 円ショップで個人で1個から購入できるようになることを切に望みます。
(((( ;゚ Д ゚ )))))))
NCT Tech Conference 2016
何か代わりになりそうなものないかな・・
NCT Tech Conference 2016
IKEA で買ったこれ使ってみよう
NCT Tech Conference 2016
なんか変 ( ; ´Д ` )
NCT Tech Conference 2016
どうしようかな・・
NCT Tech Conference 2016
「 Maker Faire Tokyo にMugbot が出展」
NCT Tech Conference 2016
NCT Tech Conference 2016
NCT Tech Conference 2016
今度こそ、完成!
NCT Tech Conference 2016
ちなみに
NCT Tech Conference 2016
安心してください「スイッチサイエンスからマグボットの部品販売開始!!」
NCT Tech Conference 2016
bot化
NCT Tech Conference 2016
なにをやったか?
NCT Tech Conference 2016
Mugbot の構成HTML
JavaScript
mugbot-serverruby
Arduino・ LED・ Servo motor
Open Jtalk
Raspberry pi
#msg #msg
@-
msg.wav
serial port
websocket
NCT Tech Conference 2016
Mugbot の構成HTML
JavaScript
mugbot-serverruby
Arduino・ LED・ Servo motor
Open Jtalk
Raspberry pi
#msg #msg
@-
msg.wav
serial port
websocket
つまり、「クチ」しかない*「メ」のようなものはあるが、機能はしていない
NCT Tech Conference 2016
ミミがほしー
NCT Tech Conference 2016
HTMLJavaScript
mugbot-serverruby
Arduino・ LED・ Servo motor
Open Jtalk
Raspberry pi
#msg
#msg
@-
msg.wav
serial port
websocket
Julius#text
「ミミ」つくった
#text
NCT Tech Conference 2016
Julius とは
・ OSS の高性能音声認識エンジン・京都大学、名古屋工業大学により研究開発・数万語の文章発生の認識を行う・統計言語モデルである単語 N-gram を用いた認識を行う・発音辞書、言語モデル、音響モデルの組み替え可能http://julius.osdn.jp/index.php
NCT Tech Conference 2016
ジンカクがほしー
NCT Tech Conference 2016
hubot を利用
NCT Tech Conference 2016
hubot とは
・チャット bot の開発フレームワーク・ GitHub 社が開発し MIT ライセンスで公開・ Adapter を切り替えることで様々なチャットツール と連携https://hubot.github.com/
NCT Tech Conference 2016
AWS
hubot
express (node.js FlameWork)・ web server・ routing
robot
scriptsadap
tar
「ジンカク」つくった
NCT Tech Conference 2016
ノウミソがほしー
NCT Tech Conference 2016
Reudy( 人工無脳 ) を利用
NCT Tech Conference 2016
Reudy とは
・ Ruby で作られた人工無脳・東京工業大学 ロボット技術研究会・会話を学習する・あたかも人間の言葉を理解したかのように振舞って 発話する(実際は理解していない)http://magazine.rubyist.net/?0035-Reudy
Reudy1.9
NCT Tech Conference 2016
Reudy はログ型の人工無脳
人工無脳にも色々なタイプがある
Rails ってどう?[過去ログ ]
・・・Ruby ってどう?Ruby サイコー!・・・
”Ruby” → ”Rails”
Rails サイコー!
発話例)
NCT Tech Conference 2016
AWS
Reudy
「ノウミソ」つくった
stdio_reudy.rb
log
mecab・ wiki_dict・ hatena_dict
NCT Tech Conference 2016
ジンカク + ノウミソ
hubot から Reudy をモジュールモードで起動
NCT Tech Conference 2016
全体像
slack
http://[AWS]/mugbot/hear
NCT Tech Conference 2016
ミミ
ジンカク ノウミソ
クチ
NCT Tech Conference 2016
//mugbot からの request を待ち受け robot.router.post "/mugbot/hear", (req, res) -> str = JSON.stringify(req.body) hearing = JSON.parse(str).word console.log hearing
dirpath = ‘/home/ec2-user/Reudy19'
// モジュールモードで Reudy を起動 cmd = "bash -c 'echo #{hearing} | ( cd \"#{dirpath}\"; sudo ruby -W0 stdio_reudy.rb -m -n \"mugmug\" )’"
//Reudy からの結果を返す child_process.exec cmd, (error, stdout, stderr) -> if stdout.length > 0 console.log 'mugbot< '+stdout+'' res.send(stdout)
reudy.coffee
NCT Tech Conference 2016
#reudy(server)へ接続 Net::HTTP.version_1_2 url = URI.parse(‘http://[AWS]’)
#word を reudy(server)へ POST query_hash = {"word" => "#{word}"} post_data = URI.encode_www_form(query_hash)
Net::HTTP.start(url.host, 8080) {|http| response = http.post('/mugbot/hear',post_data) msg = response.body puts msg # t を Arduino に送って口の点滅開始、発話させ、 n を送って点滅終了 sp.putc "t" system(`~/bin/jsay.sh #{msg}`) sp.putc "n" }
mug_rdy.rb
NCT Tech Conference 2016
さらにちょっと工夫
NCT Tech Conference 2016
ログに名言を入れてみた
NCT Tech Conference 2016
実演
NCT Tech Conference 2016
おまけ
NCT Tech Conference 2016
天気
NCT Tech Conference 2016
Web API
Weather Hacks
http json天気
「明日の天気は〜、最高気温は〜、最低気温は〜」
NCT Tech Conference 2016
ラジオ
NCT Tech Conference 2016
Web API
http streamingラジオ
NCT Tech Conference 2016
Withings
NCT Tech Conference 2016
Withings
Withings Activite Pop
smart watch
アクティビティトラッキング スイミングトラッキング サイレントアラーム睡眠トラッキング 充電不要 Bluetooth 4.0
NCT Tech Conference 2016
Web API
https/ jsonOAuth歩数
睡眠時間
「今日の歩数は〜」「睡眠時間は〜」
NCT Tech Conference 2016
R2R
NCT Tech Conference 2016
Pepper API
Qimessagingjavascript
pepper
NCT Tech Conference 2016
さいごに
NCT Tech Conference 2016
R2R2N
NCT Tech Conference 2016
END
NCT Tech Conference 2016
*参考にさせて頂いたサイト・ http://www.mugbot.com/・ http://qiita.com/Ets/items/4a0466843c8d98d74295・ http://qiita.com/hkusu/items/3e3695450f8a4f9389b3・ http://ota42y.com/blog/2014/08/29/hubot-post-server/・ http://start-now.link/100/archives/2334・ http://hyottokoaloha.hatenablog.com/entry/2015/07/03/131305・ http://karaage.hatenadiary.jp/entry/2015/08/24/073000・ http://qiita.com/ysk_1031/items/bca3f6defbce100d6d78・ and more