Pepper Android SDK


Pepper の開発環境として、Choregraphe の他に、Python や Java も用意されています。
開発環境には、プラットホームの違いにより Windows 版、Mac 版、Linux 版 が用意されています。
以前に、Java SDK の Mac 版での確認 を行っています。
さらに、Java SDK には Android 版も用意されています。
公開前のものを入手したので、試してみました。

アプリの作成
最初のアプリとして、Pepperに「こんにちは」としゃべらせます。
Android Studio を使って Android アプリ を作成します。
Android Studio でビルドして、Android 端末に転送します。
ソースコードは、Github で公開しました。

アプリの実行
下記の画面が表示されます。
IPアドレスを指定して、「Connect」をクリックすると、Pepper に接続されます。
「Say」をクリックすると、Pepper が「こんにちは」としゃべります。
IPアドレスの確認方法は、Pepper に ssh で接続する をご覧ください。
20150901_pepper_say_sample

アプリを作成するときの留意点
(1) ライブラリの保存場所を指定する。
Pepper SDK の Jar ファイルには、ダイナミック・ライブラリが含まれています。

(2) Thread から NAOqi API を実行する
Android では、 UI スレッドから通信スレッド (NAQqi API) は実行できない、という制約があります。

(3) IPアドレスから Session を取得する。

(4) パーミッションを設定する。
NAOqi API は WiFi 通信を行います。
AndroidManifest.xml

補足
(1) Android 開発環境
Android Studio 1.0 以上と Android API 22 以上 を使ってください。
Eclipse 4.2 と Android API 17 の組み合わせでは、下記のエラーが出来ました。

(2) Java SDK との違い
Session を取得する方法が異なります。
Java のときは、Application#session を使用します。

なお、Android にて Application#session を使用すると、下記のエラーで落ちました。

(3) 実行環境
Choregraphe のバーチャルロボットは、同じPC内のIPソケットからは接続できますが、PC外からは接続できません。
Choregraphe や Java は、バーチャルロボット に接続することができます。
Android エミュレータや Android の実機からは、接続できません。