Pepperと一緒にプレゼンなどをするとき、迅速設置&撤収し、他の人にできるだけ迷惑かけないためのアプリ作成のコツを書いてみました。
プレゼン中にPepperデモを行うときや、忘年会シーズンにPepperと一緒に宴会芸などやる際はぜひ参考にしてみてください。
#背景
本記事は以下のような状況を想定しています。
- 発表の冒頭にPepperに喋らせたり、人間の発表者とコントをする
- 自然な掛け合いをしたいので、Choregrapheは使わない。もしくは運営上自分のPCは発表時に使えない
- LT会のように、発表者入れ替え時間に余裕のないアジェンダで、他はPepperと関係ない発表だらけ。自分の番だけPepperの設置・撤収で時間をとる等の迷惑をかけられない
Pepperデモが中心の発表会では、発表者交代時のPepper設置&撤収でかかる手間や時間を、最初から運営側が想定してくれていたり、聴衆もPepperの準備が整うまで、気長に待ってくれるというケースが多いと思います。
しかし、発表者の中で自分だけがPepperと一緒に登壇するときには、発表者が迅速に対応しないと他の発表者の迷惑になることもありえます。運搬に時間がかかったり、いきなり大声で「ねぇねぇ、なにしてるのぉー?」なんて叫んだり。。。
筆者はこんな方法で対応してみました。
#手順
◎アプリに入れておく処理
・アプリの冒頭にRestの処理を入れておく
・タッチセンサーでWake Upする処理を入れておく(筆者は手の甲センサーにしました)
・音声認識待ち状態の「ぴょこっ」という音を消す
◎発表前に待機場所から登壇場所へ移動するとき
待機場所や会場の外にいるうちに、アプリを再生(Choregrapheのロボットアプリケーション、もしくはタブレットから再生)
↓
PepperがRestの体勢になる
↓
発表場所までPepperを押して持っていく
↓
発表場所に着いたらタッチで起こす。
↓
アプリの本処理開始
◎発表後
すぐに、胸のボタンを二度押しして、Restにして運んでその場を去る
↓
元の待機場所に戻ったら、Choregrapheからつないで音量を下げる
#アプリに入れる処理詳細
RestとWake Upの処理
Choregrapheボックスとして用意されているRestボックスとWakeUpボックスを入れるだけです。以下のようにボックスをつなぎました。
アプリ開始直後にPepperをRestの体勢にしてから運搬し、Pepperの右手の甲をタッチして起き上がらせる(WakeUp)ことができます。
音声認識時のあの音を消す
音声認識をトリガーにして、次のアクションを起こすように設計している場合、音声入力待ち状態のまま放置しておくと、発表者の声を聞き取るたびに何らかのキーワードとして認識し、「ぴょこっ」と音を出してしまうことがあります。プレゼンという状況でなくても、喋っている最中に邪魔になる事もあると思いますので、Pythonボックスで以下の処理を入れておきます。
try:
self.asr = ALProxy("ALSpeechRecognition")
except Exception as e:
self.asr = None
self.logger.error(e)
self.memory = ALProxy("ALMemory")
if self.asr:
self.asr.setAudioExpression(False)
self.onStopped()
もし、音声認識待ちの際に目が青く光る事も不要であれば、"if self.asr:"の中に"self.asr.setVisualExpression(False)"を追加して下さい。
サンプル
以下に置きました。
https://github.com/yukanm/pepperdemotips
まとめ
本記事では、Pepperと一緒にプレゼンなどをするとき、迅速設置&撤収し、他の人にできるだけ迷惑かけないためのアプリ作成のコツを紹介しました。紹介した方法以外にも工夫の仕方はあると思いますが、一例として参考にして頂ければ幸いです。