65
× bot Nomura Akihito

Mugbot bot

Embed Size (px)

Citation preview

Page 1: Mugbot bot

× botNomura Akihito

Page 2: Mugbot bot

NCT Tech Conference 2016

Mugbot とは

Page 3: Mugbot bot

NCT Tech Conference 2016

・ OSS のソーシャルロボット・東京都市大学 小池情報デザイン研究室にて製作・ Raspberry pi 、 Aruduino というマイコンボードを使用・市販の安価な材料で作ることができる

Mugbot

* Mugbot のコンセプト ⇨ http://www.mugbot.com/about-mugbot/

Page 4: Mugbot bot

NCT Tech Conference 2016

なにができるの?

Page 5: Mugbot bot

NCT Tech Conference 2016

ブラウザで入力 ・スピーカーから発話・目と口の LED を点滅・首のモータが稼働

Page 6: Mugbot bot

NCT Tech Conference 2016

作りかた

Page 7: Mugbot bot

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 アダプター

基本的にネット通販で購入

Page 8: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 9: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 10: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 11: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 12: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 13: Mugbot bot

NCT Tech Conference 2016

組み立て

Page 14: Mugbot bot

NCT Tech Conference 2016

ソフトのインストール

https://github.com/mugbot/  

Raspberry pi : html,js,rubyArduino : c++

Page 15: Mugbot bot

NCT Tech Conference 2016

完成!

Page 16: Mugbot bot

NCT Tech Conference 2016

と思いきや・・

Page 17: Mugbot bot

NCT Tech Conference 2016

■ 詳細説明レンジマグ 1個100円ショップのキャンドウで販売していましたが、現在は販売されていません。有限会社ゴセプラ製。クリアカラーは生産中止、国内で販売はしていませんがメーカーは輸出用に赤、青、緑色のレンジマグを生産していて、各色まとまった数ならメーカーから直接購入できます。はやく、再びネットや 100 円ショップで個人で1個から購入できるようになることを切に望みます。

(((( ;゚ Д ゚ )))))))

Page 18: Mugbot bot

NCT Tech Conference 2016

何か代わりになりそうなものないかな・・

Page 19: Mugbot bot

NCT Tech Conference 2016

IKEA で買ったこれ使ってみよう

Page 20: Mugbot bot

NCT Tech Conference 2016

なんか変 ( ; ´Д ` )

Page 21: Mugbot bot

NCT Tech Conference 2016

どうしようかな・・

Page 22: Mugbot bot

NCT Tech Conference 2016

「 Maker Faire Tokyo にMugbot が出展」

Page 23: Mugbot bot

NCT Tech Conference 2016

Page 24: Mugbot bot

NCT Tech Conference 2016

Page 25: Mugbot bot

NCT Tech Conference 2016

今度こそ、完成!

Page 26: Mugbot bot

NCT Tech Conference 2016

ちなみに

Page 27: Mugbot bot

NCT Tech Conference 2016

安心してください「スイッチサイエンスからマグボットの部品販売開始!!」

Page 28: Mugbot bot

NCT Tech Conference 2016

bot化

Page 29: Mugbot bot

NCT Tech Conference 2016

なにをやったか?

Page 30: Mugbot bot

NCT Tech Conference 2016

Mugbot の構成HTML

JavaScript

mugbot-serverruby

Arduino・ LED・ Servo motor

Open Jtalk

Raspberry pi

#msg #msg

@-

msg.wav

serial port

websocket

Page 31: Mugbot bot

NCT Tech Conference 2016

Mugbot の構成HTML

JavaScript

mugbot-serverruby

Arduino・ LED・ Servo motor

Open Jtalk

Raspberry pi

#msg #msg

@-

msg.wav

serial port

websocket

つまり、「クチ」しかない*「メ」のようなものはあるが、機能はしていない

Page 32: Mugbot bot

NCT Tech Conference 2016

ミミがほしー

Page 33: Mugbot bot

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

Page 34: Mugbot bot

NCT Tech Conference 2016

Julius とは

・ OSS の高性能音声認識エンジン・京都大学、名古屋工業大学により研究開発・数万語の文章発生の認識を行う・統計言語モデルである単語 N-gram を用いた認識を行う・発音辞書、言語モデル、音響モデルの組み替え可能http://julius.osdn.jp/index.php

Page 35: Mugbot bot

NCT Tech Conference 2016

ジンカクがほしー

Page 36: Mugbot bot

NCT Tech Conference 2016

hubot を利用

Page 37: Mugbot bot

NCT Tech Conference 2016

hubot とは

・チャット bot の開発フレームワーク・ GitHub 社が開発し MIT ライセンスで公開・ Adapter を切り替えることで様々なチャットツール と連携https://hubot.github.com/

Page 38: Mugbot bot

NCT Tech Conference 2016

AWS

hubot

express (node.js FlameWork)・ web server・ routing

robot

scriptsadap

tar

「ジンカク」つくった

Page 39: Mugbot bot

NCT Tech Conference 2016

ノウミソがほしー

Page 40: Mugbot bot

NCT Tech Conference 2016

Reudy( 人工無脳 ) を利用

Page 41: Mugbot bot

NCT Tech Conference 2016

Reudy とは

・ Ruby で作られた人工無脳・東京工業大学 ロボット技術研究会・会話を学習する・あたかも人間の言葉を理解したかのように振舞って 発話する(実際は理解していない)http://magazine.rubyist.net/?0035-Reudy

Reudy1.9

Page 42: Mugbot bot

NCT Tech Conference 2016

Reudy はログ型の人工無脳

人工無脳にも色々なタイプがある

Rails ってどう?[過去ログ ]

・・・Ruby ってどう?Ruby サイコー!・・・

”Ruby” → ”Rails”

Rails サイコー!

発話例)

Page 43: Mugbot bot

NCT Tech Conference 2016

AWS

Reudy

「ノウミソ」つくった

stdio_reudy.rb

log

mecab・ wiki_dict・ hatena_dict

Page 44: Mugbot bot

NCT Tech Conference 2016

ジンカク + ノウミソ

hubot から Reudy をモジュールモードで起動

Page 45: Mugbot bot

NCT Tech Conference 2016

全体像

Page 46: Mugbot bot

slack

http://[AWS]/mugbot/hear

NCT Tech Conference 2016

ミミ

ジンカク ノウミソ

クチ

Page 47: Mugbot bot

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

Page 48: Mugbot bot

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

Page 49: Mugbot bot

NCT Tech Conference 2016

さらにちょっと工夫

Page 50: Mugbot bot

NCT Tech Conference 2016

ログに名言を入れてみた

Page 51: Mugbot bot

NCT Tech Conference 2016

実演

Page 52: Mugbot bot

NCT Tech Conference 2016

おまけ

Page 53: Mugbot bot

NCT Tech Conference 2016

天気

Page 54: Mugbot bot

NCT Tech Conference 2016

Web API

Weather Hacks

http json天気

「明日の天気は〜、最高気温は〜、最低気温は〜」

Page 55: Mugbot bot

NCT Tech Conference 2016

ラジオ

Page 56: Mugbot bot

NCT Tech Conference 2016

Web API

http streamingラジオ

Page 57: Mugbot bot

NCT Tech Conference 2016

Withings

Page 58: Mugbot bot

NCT Tech Conference 2016

Withings

Withings Activite Pop

smart watch

アクティビティトラッキング スイミングトラッキング サイレントアラーム睡眠トラッキング 充電不要 Bluetooth 4.0

Page 59: Mugbot bot

NCT Tech Conference 2016

Web API

https/ jsonOAuth歩数

睡眠時間

「今日の歩数は〜」「睡眠時間は〜」

Page 60: Mugbot bot

NCT Tech Conference 2016

R2R

Page 61: Mugbot bot

NCT Tech Conference 2016

Pepper API

Qimessagingjavascript

pepper

Page 62: Mugbot bot

NCT Tech Conference 2016

さいごに

Page 63: Mugbot bot

NCT Tech Conference 2016

R2R2N

Page 64: Mugbot bot

NCT Tech Conference 2016

END

Page 65: Mugbot bot

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