Top Banner
2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一 Android アプリで Pepper を らせてみる 日本Androidのx アトリエ秋葉原
47

20151002 Android app for Pepper

Jan 13, 2017

Download

Technology

Kenichi Ohwada
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android アプリで Pepper を

喋らせてみる

日本Androidの会 x アトリエ秋葉原

Page 2: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

自 己 紹 介@ohwada

大和田健一Pepper オーナー 日本Androidの会 横浜支部 支部長 ファブラボ関内 ディレクタ

Page 3: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Robots

Page 4: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

ファブラボFabrication Laboratory

Page 5: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

ファブラボ 関内、鎌倉、仙台、浜松Maker Faire Tokyo 2014

Page 6: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

ファブラボ 標準機材

Page 7: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

ファブラボ 作品例

上段 3Dプリンタ 下段 レーザーカッタ

Page 8: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

日本Androidの会

Page 9: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

7/20 ABC 2015 Summer日本Androidの会 主催

Android Bazaar and Conference

https://www.youtube.com/watch?v=vSKXvUBX97g

Page 10: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

日本Androidの会 横浜支部

CardBoard ワークショップ

Page 11: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

本日の参加賞 ドロイド君 飴

Page 12: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Pepper くん

Page 13: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

昨年10月末

http://pepper.ohwada.jp/Pepperブログ

Page 14: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

日経Linux5月号Pepper アプリ開発

Page 15: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Pepperくん 里帰り

Page 16: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android アプリで Pepper を 喋らせてみる

Page 17: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

今日の話題(1)Android から

Pepper を制御する仕組み (2) Android アプリの留意点 (3) NAOqi API (4) サンプルコード

Page 18: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

サンプルコードを実行する10分で(1) Android Studio に

サンプルコード PepperSaySample を インポートする (2) java-naoqi-sdk-xxx-android.jar を app/libs にコピーする (3) ビルドして、 Android に転送する

Page 19: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

サンプルコードを実行する

(1) IPアドレスを入力して、  Connect ボタンを押す (2) Say ボタンを押す

Page 20: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

IPアドレスを調べる(1) Pepper 本体のマイロボット画面 (2) Pepper にしゃべらせる  胸のボタンを押す (3) Choregraphe の接続画面

Page 21: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android から Pepper を制御する仕組み

Page 22: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Pepper アプリ 開発環境

(1) Choregraphe (2) Python、C++ (3) Java、Java-Android (正式公開前)

Page 23: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android から Pepper を制御する仕組み

(1) Choregraphe の実行環境 (2) Python, Java の実行環境 (3) Android の実行環境

Page 24: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Choregraphe

Package

NAOqi OS

転送

NAOqi API

(Python)

PC Pepper(1) Choregraphe の実行環境

Package(Python)

Page 25: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

PC

NAOqi OSNAOqi API

Pepper

(2) Python, Java の実行環境

Code(Python, Java)

Page 26: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

PC

NAOqi OSNAOqi

API

Pepper

(3) Android の実行環境

App(Java)

Android Studio

App(Java)

Android OS

転送

Android

Page 27: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android アプリ 留意点

Page 28: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android アプリの留意点

(1) ライブラリの保存場所を指定する (2) IPアドレスから Session を取得する (3) Thread から NAOqi API を実行する (4) パーミッションを設定する

Page 29: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

(1) ライブラリの保存場所を指定する

EmbeddedTools tools = new EmbeddedTools(); File dir = getApplicationContext().getCacheDir(); tools.overrideTempDirectory(dir); tools.loadEmbeddedLibraries();

Tool class providing QiMessaging<->Java type system loading and dynamic library loader designed to load libraries included in jar package.

Jar ファイルには ダイナミック・ライブラリが含まれている

com.aldebaran.qi.EmbeddedTools

Page 30: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

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

String ip = "tcp://" + "<IP of your robot>" + ":9559"; Session session = new Session(); try { session.connect(ip).get(); } catch (Exception e) { }

Create session and try to connect to given address.

com.aldebaran.qi.Session

Page 31: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

(3) Thread から NAOqi API を実行する

public void onClickConnect() Thread thread = new Thread( new Runnable() { @Override public void run() { Looper.prepare(); connectPepper(); } }); thread.start(); }

制約:Android では UI スレッドから 通信スレッド (NAQqi API) は実行できない。

private void connectPepper() { Session session = new Session(); ... }

Page 32: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

(4) パーミッションを設定する

<uses-permission android:name="android.permission.INTERNET" />

AndroidManifest.xml

NAOqi API は WiFi 通信を行います

Page 33: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

演 習 10分で

(1) 台詞を変更する (2) ボタンを増やして、台詞を追加する (3) 音量を調整する

サンプルコード PepperSay

Page 34: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

NAOqi API

Page 35: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

NAOqi APIhttp://doc.aldebaran.com/2-1/naoqi/

http://qiita.com/robotstart/items/7814bb56d0b56b1ad5ae

Page 36: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

例) ALTextToSpeech

IP = "<IP ADDRESS>" tts = ALProxy("ALTextToSpeech", IP, 9559) tts.say("Hello World!")

http://doc.aldebaran.com/2-1/naoqi/audio/altexttospeech.html

Tutorial (Python)

Page 37: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Java Doc

Page 38: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

サンプルコード

Page 39: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

サンプルコードJava や Android は、ありません (^^;

http://doc.aldebaran.com/2-1/dev/python/tutorials.html

Page 40: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Choregraphe Box中身は Python コード

Page 41: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

https://github.com/ohwada/Pepper_Android

Page 42: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Pepper Speaker

7/20 ABC 2015 Summer

Page 43: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

ツンデレな Pepper くん

話しかけても返事をしない (^^;

Page 44: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

黒子作戦

Pepper内蔵WEBサーバー

WiFi

Page 45: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Pepper Speaker

Page 46: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

Android API 音声認識

Page 47: 20151002 Android app for Pepper

2015年10月2日 日本Androidの会 x アトリエ秋葉原 大和田健一

その他のサンプルコード(1) Posture : ポーズをとる (2) Joint : 関節を動かす (3) MoveTo : 移動する (指定した距離) (4) MoveToward : 移動する   (ボタンを押している間) (5) ImageRemote : 写真を撮る   -> 未完成