Pepperを使って人前で発表したいときなど、あらかじめアプリをインストールしておいて、Choregrapheで接続しなくても再生できると便利ですよね。そんなときに使えそうなTipsです。
前提
このTipsはどちらかというとデベロッパーモデルの2.0.5のPepper向けです。2.3.xのPepperではインストールしたアプリはタブレットのアプリ一覧に表示されるので、このTipsを使わなくてもアプリ起動が可能です。
概要
Interactiveアクティビティの作成の内容をベースにトリガー条件を調整することで、意図的にアプリを再生できるようにします。
アプリ起動Tips
上記のサンプルでは、Zone2に人が5秒以上いた場合というトリガー条件になっています。これでは人が多くいる現場で意図的にアプリを始めたいときなどに不都合です。
これを例えば「右手を1秒以上タッチしたらアプリを再生する」に置き換えることができます。
トリガー条件を以下のように書き換えます。
('HandRightBackTouched' == 1) ~ 1
これでインストールしておけば、Pepperを起動したあとChoregraphe接続しなくても、タッチでアプリを再生することができると思います。簡単ですね。
補足事項1
このTipsでは、Interactiveアクティビティによってアプリを再生させるため、他のInteractiveアクティビティを実行しているときは反応しません。
他のInteractiveアクティビティ(デベロッパーモデルのデフォルトには人が前に立つと始まる「対話(run_dialog)」アプリが入っていると思います)に干渉されたくない場合は、あらかじめ削除しておきましょう。
※対話アプリは削除すると、トリガーセンテンスという、キーワードからのアプリ起動ができなくなります
※デフォルトのアプリは削除しても設定画面から再インストールできるはず、です。
補足事項2
Interactiveアクティビティからアプリを起動する場合、起動するまでにローディングレスポンスという場つなぎの言葉をPepperがしゃべります。狙いに合わせてここも工夫するといいと思います。
補足事項3
Interactiveアクティビティによるアプリ再生は、Choregrapheのように遠隔でアプリ終了ができないため、必ずアプリの中で、終了までたどり着けるようにした方がよいと思います。
補足事項4
オートノマスライフの状態からそのままアプリに遷移するので、BasicAwarenessを切る処理など、適宜アプリ側に入れる必要が有ります。
補足事項5
ローディングレスポンスが発生しないSolitaryアクティビティでは基本的にLaunch trigger conditionsに記載されているイベントしか使えないようで、Solitaryアクティビティのトリガー条件にタッチイベントなどを入れてインストールするとエラーが出ると思います。ただ、アプリ内に仕込んだRaiseイベントを監視して、Solitaryアクティビティを発生させるという手法で、他のイベントを条件にすることも可能なようです(調査中)。
まとめ
Interactiveアクティビティのトリガー条件をカスタマイズして、発表とかを乗り切ろう!