タグ別アーカイブ: SDK

20160601_avd_tablet_2

Android エミュレータの高速化


20160601_avd_tablet_2

Pepper SDK for Android Studio にて、エミュレータを起動すると、下記のような警告が出ます。
「x86ベースのAndroid仮想デバイス(AVD)だと10倍高速だよ」
「Runnig an x86 based Android Virtual Device (AVD) is 10x faster.」
20160601_avd_warning

ADV を切り替えるには、下記のようにします。
メニューバーの robot app から Edit Configuration をクリックします。
20160601_avd_menu

Run/Debug Configurations が表示されます。
ADV Options の CPU/ABI を「x86」に変更します。
Use Host GPU をチェックします。
「OK」をクリックします。
20160601_avd_config

エミュレータを起動すると、少し速くなりました。

IMG_20160529_180228

Pepper SDK for Android Studio 体験会


IMG_20160529_180228

5月29日にアトリエ秋葉原で Pepper SDK for Android Studio 体験会 が開催されました。
まだ、対応する実機がないということで、体験会というよりも説明会という感じでした。
私は 「Pepper SDK for Android Studio を試してみた」 という発表をしました。
参加者には、ステッカーが配布されました。
20160529_sdk_sticker

詳しいことは、ロボットスタートさんが記事を書かれています。
「Pepper SDK for Android Studio 体験会」に行ってきました

ソフトバンクの公式サイトでも紹介されました。
Pepper SDK for Android Studio 体験会

ソフトバンクロボティクスの縄田昇司さんから、今回の Android 対応に関する説明がありました。
ソフトバンクとしては、開発者の裾野を広げたい。
現在の Choregraphe の開発環境は、何でもかんでもゼロから作る必要があり、不十分だと考えている。
オープンなプラットホームを活用して、開発者が楽しく開発できる環境を作っていきたい。
Androidに対応したことにより、開発者のメリットは3つある。
(1) Android 開発と同じ UI/UX で、ロボアプリの開発ができる。
(2) バーチャルロボット環境にて、タブレットのエミュレーションが可能になった。
(3) 将来的に、Google Play を通じてロボアプリを配布・販売できる。盗撮アプリのようなものが、配布されないように、セキュリティなど諸問題について、Google と協議中です。

ソフトバンクロボティクスの猿田晋也さんから、Pepper SDK for Android Studio に関する説明がありました。
現在開発中であり、最終的な仕様は変更になるかもしれない。
対応OSは、Linux と Window 8.1以前の Windows OS です。
MAC も動作しますが、社内での検証が終わっていないので、サポート外となっています。
スライド Pepper SDK for Android Studio 体験会 – Softbank Robotics

現在の Pepper に対するバージョンアップの計画について、質問がありましたが。
時期や料金については検討中、という回答でした。

Pepper Cardboard のキャンペーン実施中です。
Qiita に「開発サンプル」や「やってみた体験」を投稿した方に進呈しますとのこと。
私は発表したお礼として頂きました。
20160529_sdk_cardboard

私の方から、「Pepper SDK for Android Studio を試してみた」という発表をしました。
関連して、Github を2つ作りました。
Pepper_Android_Tutorial ソフトバンクの公開している Tutorial に関するもの
Pepper_Android_SDK SDK を使った Android アプリ

5月30日にも体験会がありました。
富田篤さんが発表したスライド。
Pepper SDK for Android Studio を Macで動かしてみた

20160525_android_tablet

Android アプリを自作した


Pepper SDK for Android Studio の Amination Brawser に、動物のアニメーションが用意されています。
これを使って、Android アプリを作成しました。
20160525_android_animation_brawser

動物の画像と鳴き声は、ネットのフリー素材を使いました。
ソースコードは、Mimic the elephant をベースにしました。

タブレットに表示された動物の画像をタッチすると、ロボットビューにて、Pepper がその動物の真似をします。
20160525_android_tablet
20160525_android_robot_view

完成したソースコードは、Github で公開しました。

課題
・Animate#run したものは、どうやって止めるのかな

Tutorials の Display humans around distances を試す


Tutorials の Display humans around distances を試しました。

この例では、ロボットの周りの人の一覧を取得するために Interaction サービスを使用します。
フレームは、一人一人に関連付けられ、Actuation サービスもロボットのフレームを出力します。
これらの情報を用いて、ロボットと一人一人との間の距離を計算することができます。

プロジェクトの作り方は Say “Hello, world!” と同じです。

Github に Android Studio のプロジェクトを公開しました。

動作確認
残念ながら、何の動作もしません。
Interaction サービスを使っていますが、エミュレータではイベントがイベントが発生していないのでしょう。

Tutorials の Mimic the elephant を試す


Tutorials の Mimic the elephant を試しました。

この例では、アニメーションのアクションを設定するためにActuation サービスを使用します。
トリガーされたサウンドをロボットのスピーカーで再生するためにメディアプレーヤを使用します。

Github に Android Studio のプロジェクトを公開しました。

プロジェクトの作成
Say “Hello, world!” と、ソースコードをコピペするところまでは同じです。
tutorial に elephant.animelephant_sound.wav があるので、ダウンロードします。
/res/raw/ フォルダを作って、elephant_sound.wav と elephant.anim を置きます。

動作確認
ロボットビューにて、象の鳴き声がして、象のモノマネをすれば、OKです。

Tutorials の Go to one meter forward を試す


Tutorials の Go to one meter forward を試しました。

プロジェクトの作り方は Say “Hello, world!” と同じです。

Github に Android Studio のプロジェクトを公開しました。

動作確認
残念ながら、logcat に下記のようなエラーが表示され、期待した動作はしませんでした。

ググってみたら、ROS絡みのエラーみたいです。
Error: Lookup would require extrapolation into the past.

20160520_say_11_emulator_begin

Tutorials の Say “Hello, world!” を試す


Tutorials の Say “Hello, world!” を試しました。

この例では、ロボットが何かを喋らせます。
Sayアクション を設定する Interactionサービス を使用します。

Github に Android Studio のプロジェクトを公開しました。

Choregraphe と Android に慣れているつもりでしたが、ちょっとまごつきました。
Tutorials はかなり不親切です。
ソースコードしか載っておらず、どういう動作をするのか、どうやって確認するのかが、書いていない。
何が正しいのか、しばし迷いました。
この記事では、その辺を書いておきました。

このサンプルでは、Pepper は動かず、“Hello, world!” と喋るだけです。
Pepper がピクともしないので、何か間違ったかと思いました。(^^;
エミュレータしかないので、最初のサンプルは Pepper が動くものにして欲しいですね。

プロジェクトの作成
プロジェクトを作るところは、普通の Android アプリと一緒です。
(1) Start a new Android Studio project をクリック
20160520_say_1_studio

(2) Apllication name をつける
20160520_say_2_new

(3) Minimum SDK を API 22: Android 5.1 (Lollipop) にする
20160520_say_3_target

(4) Empty Activity を選ぶ
20160520_say_4_add_activity

(5) Activity Name を Tutorial に合わせて SayActivity にする
20160520_say_5_actvity_name

(6) Project が開きます。
ここまでは、普通の Android アプリと一緒です。
20160520_say_6_project_begin

ここからは Pepper 独自です
(7) File -> New -> Robot Application を選択します
20160520_say_7_robot_application

(8) Select API で OK を押します。
20160520_say_8_api

(9) SayActivity.java を Tutorial からコピペします。
これで、プロジェクトは完成です。
20160520_say_9_java

エミュレータを起動します
(10) ツールバーの Emulator アイコンをクリックします
20160520_say_10_emulator_icon

(11) ロボットビューはすぐに起動しますが、タブレットのエミュレータは数分かかります。
20160520_say_11_emulator_begin

(12) タブレットが表示が、ロック画面になれば、OKです。
鍵のアイコンをスライドして、ロックを解除します。
20160520_say_12_emulator_lock

(13) Android のホーム画面になります。
これで、エミュレータの準備は終わりです。
20160520_say_13_home

アプリを起動します
(14) Run -> Robot App を選択します
20160520_say_14_run

(15) 下側にログ画面が表示されます。
20160520_say_15_log

(16) しばらくすると、Lauching applocation … が表示されます。
これでアプリが起動されました。
20160520_say_16_launching

動作確認
(17) タブレットに Hello World! と表示されれば、OKです。
20160520_say_17_tablet

(18) ロボットビューの下側の Dailog view を選択します。
Robot: Hello, world! と表示されれば、OKです。
これは、Pepper が Hello, world! と喋ったことを意味します。
20160520_say_18_dialog

logcat に下記のようなエラーが出ていましたが、動作には影響ないようです。

PS.
Pepper のエミュレータはよく出来ていると思ってますが。
喋りを確認するのに、Dailog を開くのは、今ひとつですね。
音声合成で発声して欲しいなぁ。

Pepper SDK for Android Studio


本日から Pepper SDK for Android Studio が無料配布されました。

Android Studio の環境設定は、ドキュメントとおりにやると出来ました。
Android SDK として、Android 5.1.1(API 22) と Android SDK Build-tools 22.0.1 を入れておきます。
ポイントは、プラグインで Pepper SDK を入れるところですね。
20160520_sdk_plugin

他にも、試してみた人たちがいます。
Pepper SDK for Android Studioが公開されたので使ってみた
Androidでアプリ開発!とりあえず開発環境構築

Pepper Java SDK


Pepper の開発環境として、Choregraphe の他に、Java も用意されています。
現在は Java QiMessaging SDK という機能が限定されたバージョンが公開されています。
もうすぐ、本格的な Java SDK が公開される予定です。
公開前のものを入手したので、試してみました。

アプリの作成
最初のアプリとして、Pepperに「こんにちは」としゃべらせます。
下記の Java ソースコードを作成します。

アプリの実行
MAC でコンパイルします

コンパイルした class を実行します

Pepper に転送されて、「こんにちは」としゃべります。

補足
java.library.path の指定をしないときは、
下記のようなメッセージが出ましたが、動作には支障ないようです。

参考
PepperくんがJavaから制御できると聞いて、駆けつけて、触ってきた件について
java.library.path – What is it and how to use

Pepper SDK に Java が追加


4月7日に開催された Java Day Tokyo にて、
Java SE を使って Pepper を動かすデモが行われたようです。
Pepper のプラットホームの言語は、C++ と Python が使われています。
Java はこれらのラッパーとして提供されるみたいです。

Java20周年のお祝いイベント「Java Day Tokyo」を開催、Pepperも登場
Java Day Tokyo 2015基調講演。JDK 9、Java EE 8ともに来年登場の見通し

20150412_java_day