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

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が表示されます。
②　Android SDK version 6.0 (API 23, Marshmallow)をダウンロード、そしてインストールしてください。
![WS000004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/753a7b2a-142d-89b3-de93-4cae1d1eeaac.png)
③　version 23.0.3のSDKビルドツールをダウンロード、そしてインストールしてください。EmulatorやAndroid Debug BridgeのようなSDKビルドツールも必要です。
![WS000007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/aacb2e9f-db07-51e1-dc1f-b69d010253ea.png)
~~④　ビジュアルツールのインストール~~
~~ビジュアルツールはロボットエミュレータの立ち上げに必要です。~~
~~[Ubuntu]~~
~~ビジュアルツールはインストール済みです。~~
~~[Mac OS]~~
~~最新のHAXM version 7.3.0ではバーチャルタブレットが起動しません。~~
~~**回避策**~~
~~SDKマネージャーにおいて、HAXMのバージョンが7.3.0の場合:~~
~~①　アンインストールしてください。~~
~~②　前のHAXMのバージョンである7.2.0をインストールしてください：~~
~~https://github.com/intel/haxm/releases/download/v7.2.0/haxm-macosx_v7_2_0.zip~~
~~[Windows]~~
~~最新のHAXM version 7.3.0ではバーチャルタブレットが起動しません。~~
~~**回避策**~~
~~SDKマネージャーにおいて、HAXMのバージョンが7.3.0の場合:~~
~~①　アンインストールしてください。~~
~~②　前のHAXMのバージョンである7.2.0をインストールしてください：~~
~~https://github.com/intel/haxm/releases/download/v7.2.0/haxm-windows_v7_2_0.zip~~
※公式サイトにおいてHAXMについての記述は現在削除されている為、本記事では打ち消し線を入れています
##《Virtualizationを有効にする》
Virtualizationはロボットエミュレータの立ち上げに必要です。
BIOSでVirtualizationが有効かどうか確認してください。
##《Bonjour》
より簡単にPepperと接続するためには、Bonjourが必要です。
2.0.2.0かそれ以降のバージョンのBonjourがコンピューターにインストールされているか
を確認してください。
MacとUbuntuにおいてはデフォルトでインストールされているはずですが、Windowsでは事情が異なるため、インストールされていない場合は、公式サイトからWindows用Bonjourをダウンロードし、インストールしてください。
http://support.apple.com/kb/DL999
##《C++の再頒布可能パッケージ》
Windowsの場合は、C++の再頒布可能パッケージがインストール済みであるかを確認してください。
**<手順>**
①　Microsoft Visual Studio C++ 2010 x64再頒布可能パッケージ
ここでvcredist_x64.exeのパッケージがダウンロードできます。
https://www.microsoft.com/en-us/download/details.aspx?id=14632
②　Microsoft Visual Studio C++ 2013再頒布可能パッケージ(x64)
ここでvcredist_x64.exeのパッケージがダウンロードできます。
https://www.microsoft.com/en-us/download/details.aspx?id=40784
![WS000006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/9b9af812-a098-d237-2ed1-176914d045f2.png)
![WS000008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/7624d8a6-fbed-51df-eb2e-0f48bab6e09e.png)
![WS000009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/a2b9a76d-0b48-fc9e-7278-1f4231519804.png)
##《エミュレータの問題回避策》
Windowsの場合は、以下の手順で設定ファイルを追加しないとエミュレータの動作に問題が起こることがあるようです。
**<手順>**
①　C:\Users\[yourUserName]\.androidフォルダー内に、advancedFeatures.ini
の名前のファイルを見つけるか、作成してください。
②　advancedFeatures.iniへ、以下の一行を追加してください:
WindowsHypervisorPlatform = off
##《Pepper SDK Pluginの入手》
Pepper SDK Pluginのインストール前に、上述の手順がすべて実施されている必要があります。
このセクションはロボアプリ開発のために、Android StudioでPepper SDK Pluginをインストールする方法を解説しています。
**<手順>**
①Android StudioのFileメニューにあるSettings、もしくはPreferencesからプラグインのサブメニューを選択し、Browse repositories…ボタンをクリックします。
![WS000010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/2f22b781-9b11-318a-8587-d845c7fe11c6.png)
![WS000013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/d12f61ba-cf62-1afa-1123-165ba35b8b34.png)
②Pepper SDKを見つけるために、サーチバーに“Pepper”と入力します。
③Pepper SDKを選択し、Install pluginボタンをクリックします。
④Android Studioを再起動します。
⑤FileメニューのNewから、Pepperのプラグインメニューが出ているかを確認してください。
さらに、Robot SDK Managerのアイコンがあるかどうか確認してください。表示されない場合は、ViewメニューのToolbarのチェックが外れている可能性があります。
![WS000011.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574697/cc84994c-59a9-3669-6bbe-cfd20cc4c4dc.png)
##《Robot SDKとツールの入手》
Pepper SDK Pluginをインストールすれば、あとはロボアプリ開発のためのツールを
ダウンロードして環境設定は完了です。
**<手順>**
①Android Studioのメニューバーから、Robot SDK Managerをクリックします。
②開発したいロボアプリのAPIのバージョンにチェックを入れ、Applyボタンをクリックします。
※ 新しいAPIのバージョンをダウンロードし、既存のプロジェクトに反映したい場合は、設定ファイルの更新が必要です。
Robot SDK ManagerからはQiSDKだけではなく、AVDとToolsもインストールできます。
###AVD (Android Virtual Device)
x86及びarmeabi architecturesが提供するAVDシステムのイメージは、ロボットのタブレットと同じです。
###Tools
ロボアプリ開発のためのRobot Viewer、Robots Browser、Trajectoryなどといったロボットエミュレータとツールです。
これでロボアプリが開発できます。
###《トラブルシューティング》
Pepper SDKプラグインのインストール中に発生する問題のトラブルシューティングです。最新の情報は公式サイトにありますのでそちらを確認してください。
https://qisdk.softbankrobotics.com/sdk/doc/pepper-sdk/ch1_gettingstarted/installation.html#instal-troubleshooting
###"/dev/kvm is not found"というメッセージが出る
**回避策**
BIOSでvirtualization Technologyを有効にしてください。
###"C:\Users\jdoe\AppData\Local\Android\Sdk\emulator\emulator-x86.exe: invalid option -- '-enable-whpx'"というメッセージが出る
**回避策**
C:\Users\[yourUserName]\.androidフォルダー内に、advancedFeatures.iniの名前のファイルを見つけるか作成した上で、advancedFeatures.iniにWindowsHypervisorPlatform = offの一行を追加してみましょう。
詳細はエミュレータの問題回避策のセクションを参照してください。
###リアルもしくはバーチャルのPepperに接続できず、ログに"java.lang.UnsatisfiedLinkError: C:\Users\[yourUserName]\AppData\Local\Temp\qi.dll"と表示されている
**回避策**
このエラーの原因はおそらく、セッション名(ユーザー名) にある文字のスペースです。
セッション名(ユーザー名) の文字間にスペースがないことを確認してください。
~~AVD(バーチャルタブレット)におけるブラックスクリーン~~
~~**回避策**~~
~~最新のHAXM version 7.3.0ではバーチャルタブレットが起動しません。~~
~~HAXMのバージョンである7.2.0か確認してください。~~