PepperをスマホまたはPCのブラウザで操作する


Pepper Advent Calendar 2018 の18日目です。よろしくお願いします。

はじめに

笑ッカソン2018に参加させていただく際に、あったら便利かなと思って作成したアプリを公開します。
当日はもっとすごいアプリがあって、このアプリは使わなかったんですが、何かの機会に使っていただければ、また、何かの参考になれば幸いです。
 また、接続先のURLをQRコードとして表示してはどうかというアドバイスをいただいたので、今回の公開を機に対応しました。

注意事項

ソフトバンクロボティクス株式会社のPepperを活用し、独自開発したものです。

開発環境

MacOS Mojabe 10.14.1
Choregraphe 2.5.5.5
Pepper

ソース

ソースはこちらで公開しています。 

使い方

PC用のHTMLを編集する

 PC用のHTMLは、/html/cms/index.html になります。サンプルでいくつかボタンを定義していますので、これをもとにボタンの2つの属性(event-name,event-param)を編集してください。

アプリを実行する

 アプリを実行すると、PepperのタブレットにQRコードが表示されます。アプリの起動の仕方によって、次の2つのいずれかが入ったQRコードが生成されていると思います。このURLにPCまたは、スマートフォンのブラウザ(Chromeのみ)から接続してください。

  • http://(IPアドレス)/apps/.lastUploadedChoregrapheBehavior/cms/index.html
  • http://(IPアドレス)/apps/warak-44da1e/cms/index.html

 接続する際に、BASIC認証のボックスが表示されますので、PepperのID,パスワードを入れてください。接続に成功すると「接続しました。」とPepperが発話します。

ボタンをクリック

 HTMLが表示されたら、あとは好きなボタンをクリックするだけです。連打対策は行なっていませんので、ご注意ください。

アプリ終了

 Pepperの後ろバンパー長押しで終了します。

アプリ解説

構成はこんな感じです。

ボタンクリックを行うと、「warak/cms/Tapper/View/ButtonTouched」イベントがPepperに通知されます。

例: イベント名(say)にイベントパラメータ(こんにちは)を指定

<button type="button" event-name="say" event-param="こんにちは">発話(say)</button>

対応するPepper側では、「warak/cms/Tapper/View/ButtonTouched」の引数のイベント名(event-name)を判断し、それぞれの専用のボックスにイベントパラメータ(event-param)を渡しています。
イベント名を増やすことで、例えば moveイベントを追加して、移動させることも可能になります。

イベントについて

このサンプルで対応しているイベントは以下の通りです。拡張して遊んでみてください。

イベント名
(event-name)
イベントパラメータ
(event-param)
説明
  
say 発話文字列 指定された文字列で発話します
animatedsay 発話文字列 指定された文字列で発話します(animated)
sound "1" 音楽を再生します(サンプルでは"1"のみ)
tabletcolor "1"から"9" タブレットの色を変えます
eye "1"から"9" 目の色を変えます
motion "1"から"3" モーションを実行します
tablet "1" 特定の画像をタブレットに表示します(サンプルでは"1"のみ)
custom "1" モーションと特定の発話をしたいときなど(サンプルでは"1"のみ)

最後に

 笑ッカソン2018は、すごく新鮮で楽しかったです。みんなで同時にPepperを動かすのに、1つのアプリで連動させるのではなく、あえてみんなで同時にボタンを押して、何度もリテイクしたり、何か懐かしい感じもして、いい思い出になりました。