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.

PHP×コミニュケーションロボット

2,235 views

Published on

PHPカンファレンス2016 セッション資料です。

Published in: Technology
  • Be the first to comment

PHP×コミニュケーションロボット

  1. 1. PHPカンファレンス2016 コミュニケーションロボット X PHP トラック6 6F 会議室C 13:00 -13:30 speaker
  2. 2. TONOSAMA-LABO ハイパーメディア・ロボットクリエイター とのさまラボ代表。ロボットアプリの開発を行うほか、自身でもロボッ トを開発。ソフトバンクロボティクスが主催する公式アプリコンテストで は2大会連続ファイナリストに選出されるなど、数々の実績を持つ。 2016年に、ヒトとロボットの音楽ユニット mirai-capsule を結成。ロボッ トスタートでは、ロボットエバンジェリストとして活動中。 http://labo.tonosamart.com 西田 寛輔
  3. 3. 自己紹介 最近は、ロボットアプリ開発や エバンジェリストとして活動しています http://labo.tonosamart.com
  4. 4. OYOYO-PROJECT Webサービス / ロボットアプリケーション開発 Pepperを始めとした、ロボットアプリケーションの開発及び、 各地において、ロボットプログラミングの技術指導等を行う。 2015年より、ロボットアプリケーション開発に参入 フルスタックWeb開発の知見を活かし「Web X Robot」 をテーマに、多様なロボットハードへのアプリケーション提供 を計画中。 やまうち ひろみつ http://oyoyo-project.com/
  5. 5. 自己紹介 アプリを作ったり、ロボットを知って もらう活動をしたりしています http://oyoyo-project.com/
  6. 6. ところで
  7. 7. しっていますか?
  8. 8. ロボットスタートは、エンジニアにやさしい! (登壇休暇などの仕組みがあります!)
  9. 9. フタリトモ ロボットスタートデ ハタライテイマス! とってもいい会社デス!
  10. 10. ※登壇した時にスライドにロゴを乗せるのが、休暇取得の条件です!
  11. 11. 何してるの?
  12. 12. たとえば
  13. 13. 日本最大級のロボット ニュースサイト
  14. 14. http://robotstart.info/ 日本最大級のロボット ニュースサイト
  15. 15. http://robotstart.info/ 日本最大級のロボット ニュースサイト
  16. 16. http://robotstart.info/ 日本最大級のロボット ニュースサイト
  17. 17. またなんかあらわれた!
  18. 18. ロボット業界トリビア
  19. 19. ロボット業界トリビア やたらと愉快な仲間たちが居る
  20. 20. ロボット業界トリビア やたらと愉快な仲間たちが居る
  21. 21. そのほかにも…
  22. 22. などを作っています。
  23. 23. ここからが本題です!
  24. 24. Internet of Things Information of Everything IoT Communication Robot コミュニケーションロボット Smart Houseスマートハウス Cognitiveコグニティブ Smart Factory 機械学習 finTech Virtual RealityVR Artificial Intelligence AI 2016 BUZZ in
  25. 25. Internet of Things Information of Everything IoT Smart Houseスマートハウス Cognitiveコグニティブ Smart Factory 機械学習 finTech Virtual RealityVR Artificial Intelligence AI BUZZ Communication Robot in 2016 コミュニケーションロボット
  26. 26. コミュニケーションロボット
  27. 27. コミュニケーションロボット開発?
  28. 28. コミュニケーションロボット開発? それ、PHPで、
  29. 29. コミュニケーションロボット開発? それ、PHPで、 できるよ!
  30. 30. コミュニケーションロボット開発? それ、PHPで、 できるよ!  ̄て マ ( ジ ( で /| っ( !? > _(
  31. 31. コミュニケーションロボットは インターネットに繋がっています。
  32. 32. ということは・・・
  33. 33. サーバーサイドで何でもできる!
  34. 34. コミュニケーションロボットは 新しい入出力デバイス!
  35. 35. ごにょごにょ ごにょごにょ SERVER PHP/MySQL コミュニケーションロボットは 新しい入出力デバイス!
  36. 36. ごにょごにょ ごにょごにょ コミュニケーションロボットは 新しい入出力デバイス! SERVER PHP/MySQL サーバーサイドで処理をすればPHPでイケる!!
  37. 37. 実装例 ロボットうけつけ
  38. 38. MOVIE
  39. 39. 受付側 オフィス側
  40. 40. 受付側 お客様がエレベーターから降りると、Pepperがお出迎え Pepperがロボホン・Slack・Philips HUEに対して、 シグナルを送信 Pepperのカメラ映像は常にリアルタイムで、オフィス側の タブレットに送信 PepperはSlack APIとつながっており、特定のSlackチャンネル にポストすると、その内容を喋ってくれる
  41. 41. オフィス側 お客様がいらっしゃるとPepperからのシグナルで、 ロボホンが来客のアナウンスを行います。 Philips HUEが、来客をお知らせする点滅を繰り返します。 各所に設置されたタブレットから来客の映像を確認できます。 社内の天井スピーカーもこのシステムに接続されており、 Slackチャンネルに書き込むとロボホン経由でアナウンス されます。
  42. 42. 実際のソース:SLACK→テキストファイル <?php $slackToken = $_POST["token"]; $slackText = $_POST["text"]; $slackUserName = $_POST["user_name"]; // TOKEN 確認 if($slackToken !== ”XXXXXXXXXXXXXXXX") { $payload = array( "text" => "TOKENが違うスタ・・・。", "link_names" => 1 ); echo json_encode($payload); exit(); } // BOTからの応答は無視 if($slackUserName == "slackbot"){ exit(); } // SLACKへの返信 if ($slackText != "") { $payload = array( "text" => "(" . $slackText . ")", "link_names" => 1 ); echo json_encode($payload); } // fileへの保存 file_put_contents("robohon.txt", time() . PHP_EOL . $slackText);
  43. 43. 実行結果 SLACKでテキストを入力すると、 PHPのプログラムが呼ばれる (outgoing-webhook) PHPのプログラムでは、オウムがえしで 同じテキストを話すとともに、テキストファ イルにデータを保存(UNIXタイムスタンプ もあわせて保存)
  44. 44. 実際のソース:テキストファイル→RoBoHoN <?php echo file_get_contents("robohon.txt");
  45. 45. 実行結果 RoBoHoNのプログラムからPHPを呼び出 す。 PHPのプログラムでは、テキストファイル に保存したデータを出力 RoBoHoNのプログラムでUNIXタイムスタ ンプを比較し、データーが更新されていた ら、テキストを音声出力する
  46. 46. ねんのため 実際は、今回のソースに簡易的なログインチェックや引数チェックなどを 加えたプログラムで運用しています。
  47. 47. ロボットスタートで稼働中 この受付システムは、 ロボットスタートで実際に 稼働しています。
  48. 48. なぜPHPをつかうのか?
  49. 49. なぜPHPをつかうのか? ぺ◯ぱーだから
  50. 50. なぜPHPをつかうのか? ぺ◯ぱーだから
  51. 51. なぜPHPをつかうのか?
  52. 52. なぜPHPをつかうのか? • WEBとの親和性が高い!
  53. 53. なぜPHPをつかうのか? • WEBとの親和性が高い! • テスト環境がローカルで作れる!
  54. 54. なぜPHPをつかうのか? • WEBとの親和性が高い! • テスト環境がローカルで作れる! • 日本語マニュアルが素敵!
  55. 55. なぜPHPをつかうのか? • WEBとの親和性が高い! • テスト環境がローカルで作れる! • 日本語マニュアルが素敵! • PHPが好きだから!
  56. 56. なぜPHP以外の言語を使わないのか?
  57. 57. ぺ◯ぱーだから なぜPHP以外の言語を使わないのか?
  58. 58. ぺ◯ぱーだから なぜPHP以外の言語を使わないのか? え、だって、他の言語つかっても、ググるじゃん。 「 file_get_contents python」とか だったらはじめからphpをだな・・・
  59. 59. なぜPHP以外の言語を使わないのか?
  60. 60. なぜPHP以外の言語を使わないのか? • 面倒なリリース作業がない
  61. 61. なぜPHP以外の言語を使わないのか? • 面倒なリリース作業がない • 開発環境のインストールが不要
  62. 62. なぜPHP以外の言語を使わないのか? • 面倒なリリース作業がない • 開発環境のインストールが不要 • PHPで出来ちゃうから
  63. 63. デメリットもある
  64. 64. デメリットもある • 変数がイケてない(型とかスコープとか) • エラー処理がイケてない • 自動テストが確立されてない • 静的エラーチェックをしてくれない
  65. 65. まとめ
  66. 66. まとめ • ロボット業界でもPHPは使われている • ロボットアプリやロボット向けサービスに もPHPの知識はいかせる
  67. 67. NEXT 次のWebの話をしよう
  68. 68. インターネットに繋がる媒体は ブラウザだけじゃない
  69. 69. つまり、ロボット開発というビックウェーブに のるしかない!

×