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

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のツールバーで、表示内容を設定できます。
ボタン 説明
    3Dを表示する。
    衝突を表示する。
     オブジェクトを非表示にする。
  立ち位置のアップデートを行わないようにする。
モーターの位置のアップデートを行わないようにする。
エンゲージメントゾーンを非表示にする。
  人検知を非表示にする。

1-2.Motion View

Motion Viewは関節の角度の閲覧と設定ができます。

インデックス 名前 説明
A スライダー 関節の角度が設定可能。
B 現在のジョイントの値 インジケーターが緑の場合、Pepperはアニメーションの指定通りに動けていることを意味する。インジケーターが青い場合は、現在の関節の角度がアニメーションの指定する角度まで動けていないことを意味し、原因としては以下が考えられる。
  • アニメーションがまだ継続している。
  • セーフティーなどの機能によって、アニメーションが指定する角度がとれない。
D 関節のロックの切り替え
  • 緑:関節がロックされていない。手動で角度を変更することが可能。
  • 赤:関節がロックされている。手動で角度を変更することは出来ない。
E ミラーリングオプション 選択されている場合、関節の角度の変更等のアクションが左右対称に実行される(右腕を挙げると左腕も同様に挙がるなど)。
Cの記録ボタンについては、コレグラフでは確認できましたがAndroidStudioでは動作していないようです。

1-3.Log view

Log viewにはアプリのデバッグに利用できるPepper側のログが表示されます。表示するログの種類は選択可能です。

1-4.Dialog view


Dialog viewは、Pepperが認識した音声の内容、認識制度、及びPepperの発話内容を表示します。

1-5.Robot viewer表示中に有効となるpluginのボタンについて

pluginで追加されたTool barのボタンの内、右側2つは、Robot viewerが表示されている時にのみ使用できます。
ボタン 説明
  接続しているPepperのレスト、及びレスト解除が可能。
  アニメーションモードのon/offを設定。
オートノマスライフによって呼吸するような動きを行っているが、モーションを制作する際などにはこの動きが邪魔になることがあります。このボタンでアニメーションモードをonにすることでオートノマスライフの動きを止めることが出来ます。

 

2.Robots Browser

pluginで追加されたTool barのボタンの真ん中のボタンを押すとRobot Browserが起動します。Robots Browserには接続可能なロボットが一覧で表示されます。
基本的には、Pepper本体のIPアドレスを[User fixed IP/hostname]に入力し、Selectボタンを押下して接続します。



 
項目 説明
Pepperをお気に入りに登録することが出来る。
アイコン 説明
お気に入りに登録されているロボット。次にRobots Browserを開いた際、一覧の先頭に表示される。
お気に入りに登録されていないロボット。
Status Pepperのタイプと状態を表示
アイコン 説明
接続できないロボット。
ロボットがシャットダウンされていたり、接続が許可されていないなど。
接続できるロボット。
コンテキストメニューに以下のオプションがある。
  • [Copy Host:Port]
  • ホスト名とポート番号をコピーする。
  • [Copy name]
  • ロボットの名前をコピーする。
Name ロボットの名前
Port ロボットへの接続に使用するポート番号
Host ロボットのホスト名

コメント

このブログの人気の投稿

Pepper SDK入門(1) Pepper SDKプラグインのインストール

Pepper SDK for Androidのサイトが黙々とアップデートされています。そろそろ感もありますので、Pepper SDK for Androidの公式サイトを読みつつ、理解したことをまとめていきたいと思います。 Android Studio対応版Pepperでは、AndroidのActivityからAPIを使用して、会話や動きを制御することが出来るようです。Pepper SDK for AndroidはAndroid Studioのプラグインであり、グラフィカルツール、Javaライブラリ、QiSDKを提供します。 Android Studio対応版Pepper向けのロボアプリを開発するため、以下に従って開発環境を整えましょう。 《OSバージョンの確認》 まずは、OSとバージョンの互換性を確認してください。 Linux … Ubuntu 16.04 Xenial Xerus - 64bits only Windows … Microsoft Windows 10 - 64bits only Mac … Mac OS X 10.12 Sierra 《Android Studioのインストール》 ロボアプリはPepperにビルトインされたAndroidのタブレット上で動くアプリであり、それによって開発を行うため、Android Studioのインストールが必要です。 <必要なもの> ・Android Studio Version 2.3かそれ以降 最新の安定したバージョンのインストールを推奨しています。 ・Java Development Kit (JDK) Android Studioの動作環境 Android Studioのインストールにあたっては、以下の公式インストールガイドに従ってください: http://developer.android.com/sdk/index.html 《Android SDKとビルドツールの入手》 Androidのアプリを開発するために、Android SDKとビルドツールのインストールが必要です。 <手順> ① Android Studioのツールバーから、 SDK Managerをクリックすると、SDK Managerが表示さ

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

Androidプロジェクトの作成及びロボアプリの初期設定を行った前回に引き続き、Pepperのエミュレータと実機でアプリを実行するために必要な手順を確認していきます。 1.Pepperのエミュレータ  まずは、Pepperのエミュレータで動作確認するための方法についてです。 <手順> エミュレータボタン をクリックしてください。すると、ロボットエミュレータが表示されます。 プロジェクトにおける実行の構成でappが選択されているか を確認し、 選択されていない場合はそれを選択してください。 実行ボタン をクリックしてください。すると、Select Deployment Targetダイアログが表示されます。 ダイアログからPepperのエミュレータを選択してください。アプリがエミュレータにインストールされ、Robot Viewer上のバーチャルロボットで動作確認することが出来ます。 2.Pepperの実機  次に、Pepperの実機で動作確認するための方法を見ていきます。 <手順> Pepperのタブレットの設定を確認します。タブレットのホームにある設定アイコンをタップし、以下の設定を確認してください。 開発者モードが有効になっていること 開発者向けオプション、デバッグ、ADBも有効になっていること Android studioで、接続ボタン をクリックし、Robots Browserを表示してください。 Use fix portとUse fixed IP/hostnameにチェックを入れ、接続先のPepperのIPアドレスを入力してください。PepperのIPアドレスはタブレットの通知バーか、胸部ボタンを一回押すことで確認できます。 Selectボタンをクリックしてください。すると、セキュリティの警告が表示されます。 Pepperのパスワードを入力してください。初期パスワードはnaoです。変更している場合は管理者に確認して下さい。パスワード入力後にOKボタンをクリックすると、Robot Viewerが表示されます。 Pepperの実機に接続すると、同時にタブレットにもADB経由で接続されます。 プロジェクトにおける実行の構成でappが選択されてい

Pepper SDK入門(5) Robot focus と Robot lifecycle

Pepper SDK Plugin導入から始まり、簡単なロボアプリの開発を行ってきました。今回は、QiSDKの基本となるRobot focus と Robot lifecycleについて説明します。 1.フォーカスを理解する まずはロボットフォーカスについての簡単な説明です。 Activityがロボットのアクションを実行するためには、ロボットフォーカスが必要です。ロボットフォーカスはフォアグラウンドのActivityだけが保持することができ、ロボットフォーカスオーナーと呼ばれます。ロボットフォーカスはQiSDKに管理されており、Activityはいつでもロボットフォーカスを獲得したり喪失したりする可能性があります。  2.ロボットライフサイクル Pepper SDK入門(2) はじめてのロボアプリ開発①で登場したロボットライフサイクルについてです。 QiSDKがそれぞれのActivity用のロボットフォーカスを渡すために、RobotLifecycleCallbacksインタフェースを実装したオブジェクトが必要になります。以下はActivityにRobotLifecycleCallbacksインタフェースを実装した例です。 public class MyActivity extends RobotActivity implements RobotLifecycleCallbacks また、RobotLifecycleCallbacksオブジェクトにコールバックさせるにはonCreateメソッドでActivityとRobotLifecycleCallbacksオブジェクトをQiSDKに登録する必要があります。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); QiSDK.register(this, this); } その上で、onDestroyメソッドでの登録解除も必要です。  @Override protected void onDestroy() { QiSDK.unregister(this, this); super.onDestroy(