スキップしてメイン コンテンツに移動

Pepper SDK入門(3) はじめてのロボアプリ開発②

Androidプロジェクトの作成及びロボアプリの初期設定を行った前回に引き続き、Pepperのエミュレータと実機でアプリを実行するために必要な手順を確認していきます。

1.Pepperのエミュレータ 

まずは、Pepperのエミュレータで動作確認するための方法についてです。

<手順>

  1. エミュレータボタンをクリックしてください。すると、ロボットエミュレータが表示されます。
  2. プロジェクトにおける実行の構成でappが選択されているかを確認し、 選択されていない場合はそれを選択してください。
  3. 実行ボタンをクリックしてください。すると、Select Deployment Targetダイアログが表示されます。
  4. ダイアログからPepperのエミュレータを選択してください。アプリがエミュレータにインストールされ、Robot Viewer上のバーチャルロボットで動作確認することが出来ます。

2.Pepperの実機 

次に、Pepperの実機で動作確認するための方法を見ていきます。

<手順>

  1. Pepperのタブレットの設定を確認します。タブレットのホームにある設定アイコンをタップし、以下の設定を確認してください。
    • 開発者モードが有効になっていること
    • 開発者向けオプション、デバッグ、ADBも有効になっていること
  2. Android studioで、接続ボタンをクリックし、Robots Browserを表示してください。
  3. Use fix portとUse fixed IP/hostnameにチェックを入れ、接続先のPepperのIPアドレスを入力してください。PepperのIPアドレスはタブレットの通知バーか、胸部ボタンを一回押すことで確認できます。
  4. Selectボタンをクリックしてください。すると、セキュリティの警告が表示されます。

  5. Pepperのパスワードを入力してください。初期パスワードはnaoです。変更している場合は管理者に確認して下さい。パスワード入力後にOKボタンをクリックすると、Robot Viewerが表示されます。

    Pepperの実機に接続すると、同時にタブレットにもADB経由で接続されます。
  6. プロジェクトにおける実行の構成でappが選択されているかを確認し、 選択されていない場合はそれを選択してください。
  7. 実行ボタンをクリックしてください。すると、Select Deployment Targetダイアログが表示されます。

  8. Pepperのタブレットを選択してください。実機でアプリが起動します。

コメント

このブログの人気の投稿

Pepper SDK入門(11) Robot ViewerとRobot Browser

Robot emulatorについては「 Pepper SDK入門(3) はじめてのロボアプリ開発② 」でも触れましたが、もう少し詳しく見ていきたいと思います。 Robot emulatorは、下記のモジュールから構成されています。 モジュール名 概要 NAOqi Robot emulatorエンジン。実機での操作をエミュレートする。 Robot Viewer Pepperの挙動のシミュレーションを表示する。 AVD Android仮想デバイス。Pepperのタブレットと同じ形状をしており、アプリはここで実行される。 以上の3つは同じライフサイクルを持っているため同時に起動し、一つでも停止すればすべてが停止します。 1.Robot Viewer Robot viewerにはpluginが接続しているPepperをモニタリングするツールがまとまっており、以下のような機能が利用できます。 Robot viewによる、Pepperの3Dモデル表示 Motion Viewによる、Pepperの関節の角度設定 Dialog viewによる、音声認識の結果や発話内容の表示 Log viewによる、Pepper本体側のログの表示 pluginがPepperに接続するタイミングで、Robot Viewerは自動で起動します。 <手順> Android StudioのToolsメニューのPepper SDKからEmulatorを選択するか、ツールバーのエミュレータボタン をクリックしてください。robotsdk.xmlに設定されているAPIレベルに応じたエミュレータが起動します。 1-1.Robot view Robot viewは接続しているPepperの状態を表示します。 エミュレータに接続している場合、Pepperは青い背景で表示されます。 実機に接続している場合、Pepperは緑の背景で表示されます。 Robot viewのツールバーで、表示内容を設定できます...

Pepper SDK入門(7) UIスレッドとワーカースレッド

前回、アクションについて解説するなかで同期と非同期の区別が登場しました。今回はその同期と非同期について、UIスレッドとワーカースレッドの二つを主軸に見ていきます。 同期と非同期 Pepperではタブレットと本体でそれぞれ異なるプロセスが動いており、二つのCPU間にはUSBを経由したTCP/IPによる通信があります。 同期と非同期のどちらでアクションを実行するかは、実際に動かしてみた上での選択をお勧めします。 1.UIスレッド  Androidシステムからのコールバック(onCreateやOnClickListenerなど)はUIスレッド上で動作します。 @Override protected void onCreate(Bundle savedInstanceState) { } @Override protected void onResume() { } タブレットからPepperに指示を出した場合、Pepperとタブレット間での通信が発生します。しかしUIスレッド上でのネットワーク通信は出来ないため、NetworkOnMainThreadExceptionがスローされてしまいます。そのため、UIスレッドからPepperに指示を出す際は非同期を使用するようにしてください。 実践:同期と非同期 同期:UIスレッドで呼ぶことができない // UIスレッド Say say = SayBuilder.with(qiContext) .withText("こんにちは") .build(); // NetworkOnMainThreadExceptionがスローされる // UIスレッド goTo.run(); // NetworkOnMainThreadExceptionがスローされる 非同期:UIスレッドで呼ぶことができる // UIスレッド Future<say> sayBuilding = SayBuilder.with(qiContext) .withText("こんにちは") .buildAsync(); // UIスレッド goTo.async().run(); 2.ワーカースレッド 続いて、ワーカースレッド...