10月7日(水)にアトリエ秋葉原で開催された「html5jロボット部 第5回勉強会」に行ってきました。
今回は「WebSocket で Pepper を動かす、写真を撮る」がテーマの勉強会。
勉強会の紹介はこちらです。
第5回 html5jロボット部 勉強会 〜 WebSocket で Pepper を動かす、写真を撮る
https://html5jrobot.doorkeeper.jp/events/31643「ロボットをスマートフォンで制御する、というアイデアは多くの方が思いつくものでしょう。このアイデアを実現する方法の1つとして、Pepper とスマートフォンをWebSocketでつないだ「Pepper Remote」を説明します。」
会場はおなじみのアルデバラン・アトリエ秋葉原。一部ではPepper開発の聖地と呼ばれています。
Pepper App Challenge 2015 Winterに向けて、いろいろなアイデアソン・ハッカソンが続きます。コンテスト応募締め切りまで、(10月7日時点で)残り24日です。
参加登録は、アトリエ秋葉原のDoorkeeperから受け付けています。
アルデバラン・アトリエ秋葉原 with SoftBank | Doorkeeper
https://pepper.doorkeeper.jp/
勉強会の講師は、OYOKO PROJECT やまうちひろみつさん。
前回のPepper App Challengeでは、WebSocket で Pepper を動かすロボアプリ「Pepper Remote」でファイナリストとなりました。
さぁ、pepper!出撃だ!!「Pepper remote」 | robot start review
http://review.robotstart.co.jp/archives/103
今日はこのPepper Remoteを本人自ら説明を行う形で勉強会が進行します。
最初に、html5jロボット部 部長のegozillaさんからロボット部の説明が。
「ロボット x Web」で何ができるか、どんな未来が作れるかをみんなで学び、考えていく html5j の分化コミュニティがhtml5jロボット部です。
HTML5j ロボット部
https://www.facebook.com/html5j.robot
アトリエ秋葉原の運営スタッフである、横田さんよりPepper App Challenge 2015 Winter(以下、pac2015w)の説明です。
今回のpac2015wに応募を考えている方から、pepperとスマホを連携させたアプリを作りたいという声を多く耳にしている。そこで、そういうアプリを作り前回ファイナリストとなったやまうちさんによる今回の勉強会が企画されたそうです。
今日、pepperとスマホの接続についていろいろと学んでいただいて、是非pac2015wに応募してもらいたい。
「Pepper App Challenge 2015 Winter」&「Pepper Innovation Challenge 2015」
http://www.softbank.jp/robot/special/app-challenge/
本日の講師、やまうちさんによる技術的解説がスタートです。
Pepper Remoteの実演です。
Choregrapheからアプリを起動させるとpepperのタブレットにスマホ連携用のQRコードとトークンコードが表示されます。
QRコードかトークンコードをスマホ画面に入力すると、pepperとスマホが接続されます。
接続完了後のスマホ画面です。pepperから見えているものがスマホからも見ることができ、pepperの上下左右移動や回転の操作ができます。
スマホから文字入力してpepperを喋らせたり、Pepperから写真を撮ることができます。
内部処理についてです。サーバーサイトではPepperがToken付きのQRを表示し、スマホが接続要求をしています。
Choregraphe側での内部処理です。
実際のChoregraphe画面で見てみましょう。
pythonでWebSocketクライアントが実装されたライブラリを読み込み、WebSocketボックスを作成します。
pepperでは外部ライブラリを読み込めるのですが、若干の癖があります。
実装されたpythonコードを元にやまうちさんから癖の部分を解説です。
現状、確認の限りでは、Choregrapheの再起動をかけないとディレクトリ内の変更が反映されないそうです。
更に、読み込んだライブラリを編集した場合、ファイル名をリネームしないと、反映しない場合があります。
WebSocketボックスの作成です。コネクションは1つのボックスで実装します。処理は別ボックスで。処理が完了するたび、WSボックスに返してあげる必要があります。
Pepper RemoteはリアルタイムWebなので、node.jsで書いたそうです。
アクションの全体図です。
サーバーは単純にWebSocketを右から左へ流しているだけです。サーバー上で発行されるWebSocketのクライアントIDをMySQLへ保存し、どのpepperとどのスマホが接続されたかを確認しています。
MySQLのテーブル構成です。
リモコン操作部のcodeです。
説明は以上で終了です。
pepper側のコードがgithubとロボットライブラリーに上がってますので、参加者はそれを元に実際に実装を試してみます。
pepper_remote_demoの詳細 | robot library
https://robo-lib.com/repositories/summary/1
不明点は直接やまうちさんへ質問して、直接教えてもらうことができました。
今日の勉強会は以上で終了です。
egozillaさんから次回勉強会の告知です。
次回は「Pepper×COCOROBO RX-V200連携R2Rアプリワークショップ」が行われます。
シャープ製のお掃除ロボット「COCOROBO RX-V200」とPepperを連携させたR2R(Robot to Robot)のアプリを作るというものです。
シャープ:RX-V200 | ロボット家電COCOROBO
http://www.sharp.co.jp/cocorobo/products/rxv200.html
興味ある方は、是非ご参加下さい(参加登録はこちらから)。
参加者のみなさま、講師のやまうちさん、スタッフのみなさま、今日はお疲れさまでした。
ABOUT THE AUTHOR /
北構 武憲本業はコミュニケーションロボットやVUI(Voice User Interface)デバイスに関するコンサルティング。主にハッカソン・アイデアソンやロボットが導入された現場への取材を行います。コミュニケーションロボットやVUIデバイスなどがどのように社会に浸透していくかに注目しています。