pepper SDK 基本ワークショップ #2〜#4

日曜日1日使って2〜4まで全部受けてきたメモ

pepper SDK ワークショップ #2

Show Image

2015-09-13-14.56.04
htmlのDirを作る。
再生中に上から3つ目のボックスをクリックすると画像が消える。
waitボックスを利用して、一定時間で消えるというshow imageも作れる。
sayボックスで喋る時はpepperから(耳がスピーカーになっている)音が出るけど、動画を再生した場合はタブレットから音が出る。

play sound

2015-09-13-15.00.21
音はpepperの耳から出る。
ファイルは中のOSにUPして、再度試すと一回消してから再UPするので、大きなファイルを使っていると大変。
play soundで音を流しながらsayボックスでうまいことやると歌える。

moveto

・地図をつくらない
・Xは前、Yは左、theataは反時計回り。

move toward

・地図をつくらない
・速度を指定できる。
バンパーを蹴ると止まる。
緊急停止ボタンを押すと止まる(なるべくやらないように)

move along

・地図をつくる
・トラジェクトリ(レイヤーみたいなもの)を作りながらやる
・25フレ/秒
・1タイル50cm
・動く → 何かする → また動く みたいなものならmove toがいい
・社交ダンスとかならmove along
・地図作製がちょっと重い
・おにいさん的には、まだあんまりオススメしていない機能

Animated say

・本文を入れるだけで動きながら喋る
・ロボットアプリケーションの中にanimationが入っているので、その中からフリを選ぶ。

face tracker

・目と目を合わせるために、人の顔を発見したら追いかけてみよう。
・顔、腕など、追跡するpepperの部位を選べるんだけど、腕を選ぶとすごい追われて怖い。
・あんまり追跡をやっているとオーバーヒートする。
・「ひとつのデバイスでエラーを〜」というメッセージと共に元気を失う。人間でいうと脱臼みたいなもの。
・facetrackerの右下のチップから→animated sayにすると、目が合ったら喋るみたいなことができる。
・facetracker真ん中のチップはターゲットを失った時の処理

pepper SDK ワークショップ #3

Dialog

・qichatで簡単に応対できる
・speechReco(キーワード認識)では難しかった人間らしい会話にチャレンジ

u:(鏡よ鏡、世界で一番美しいのは)そなたじゃ

人間が言った事をu:()で囲って、その対応を続けて書く。
半角カッコ、全角、半角SPの挿入に注意。

複数の問いかけに対応

u:({*}世界{*}[美しい きれい かわいい]{*}) そなたじゃ

複数の返答を用意

u:({*}世界{*}美しい{*})[そなた クレオパトラ 楊貴妃]じゃ

この[]内に複数同一文言を入力しても、pepperの返答の確率が向上することはない

類義語を予め設定する

concept:(beautiful) [美しい きれい かわいい]  
u:({*}世界{*} ~beautiful {*}) そなたじゃ

変数的に扱える

インデントで会話の階層を制御

u: (こんにちは) こんにちは。ところでペット飼っていますか?
  u1: ([はい 飼ってる]) そうですか、飼っているペットは、犬、猫、それ以外?
    u2: (犬 {*}) わんわん。犬って賢いですよね! 
    u2: (猫 {*}) ニャアニャア。猫ってかわいいですよね!
    u2: (それ以外{*})  どんなペットですか?興味あります!
  u1: ([いいえ 飼ってない]) そうですか。ぜひペッパーを置いてください

メモリイベントとの連携

e:と記入するといろいろ出てくる

#右バンパーを押されると発火する
u:(e:RightBumperPressed)蹴らないで
#ボックスのonStartで発火
u:(e:onStart)こんにちは。はじめまして!
#pepperが聞き取れなかった場合に発火
u:(e:Dialog/NotUnderstood)え?なんじゃ?もー一回。

NAOqiのドキュメント検索はFFがおすすめ(chromeだと検索ひっかかんない)

読み上げの表現力

ため、ボリューム。声の高低など調整できる。
^start ^wait ^runなどによる動きの指定

変数の使用

(_[ラーメン チャーハン] _[ひとつ ふたつ])で$1と$2を取得するという事もできる

u:(ラーメン食べたい)
   ラーメンですね。ありがとございます。$wantedFood = ラーメン
 u:(さっき頼んだやつまだ?) $wantedFood ですね。今作ってます。
u:(_[ラーメン チャーハン カレー]食べたい)
   $1 ですね。ありがとございます。$wantedFood=$1
concept:(Food) [ラーメン チャーハン カレー]
u:(_~Food)
   $1 ですね。ありがとございます。$wantedFood=$1

pepper SDK ワークショップ #4

pepper tablet

・画面サイズは1280X800
・pepper本体のNAOqi OSと別のAndroid OSが動作している
・HTMLを実行できる。html保存時はUTF-8指定が必須。index.htmlしか認識しないっぽい。
・タッチイベントを取得できるよ
・こどもは初めてpepperに会うと、タブレットに夢中になる

touch detection

タブレットのタッチセンサー検知。
配布されたワークショップ用のプログラムでは、judgeRangeという座標指定範囲内でのイベントを検知するオリジナルのBOXを使っていた。