Slide 1

Slide 1 text

2016/08/24 Pepperアプリ開発入門ワークショップ 拡大版

Slide 2

Slide 2 text

̍1FQQFSʢϋʔυ΢ΣΞʣʹ͍ͭͯ ̎ΞϓϦ։ൃ؀ڥʮ$IPSFHSBQIFʢίϨάϥϑʣʯ ̏ΞϓϦ։ൃମݧ ɹᶃ͠Ό΂ΒͤͯΈΑ͏ʢ4BZʣ ɹᶄಈ͖Λ͚ͭͯΈΑ͏ʢ5JNFMJOFʣ ɹᶅಈ͖ͳ͕Β͠Ό΂ΒͤͯΈΑ͏ʢ5JNFMJOFʴ4BZʣ ɹᶆձ࿩Λͯ͠ΈΑ͏ʢ4QFFDI3FDPʣ ɹᶇηϯαʔΛ࢖ͬͯΈΑ͏ʢ5BDUJMFʙʣ ɹᶈਓ͕͍ۙͮͨΒ͠Ό΂ΒͤͯΈΑ͏ʢ"-.FNPSZʣ ɹᶉγφϦΦͰձ࿩ͯ͠ΈΑ͏ʢ2J$IBUʣ ̐αʔό࿈ܞฤ ɹᶃαʔό͔ΒηϦϑΛऔಘͯ͠͠Ό΂ΒͤͯΈΔ ɹᶄ؆୯ͳड෇ΞϓϦΛ࡞ͬͯΈΔ 本日の流れ

Slide 3

Slide 3 text

Pepper(ハードウェア)について

Slide 4

Slide 4 text

DN DN DN ॏྔɿ,H খֶʙ೥ੜͷஉࢠఔ౓ IUUQXXXTPGUCBOLKQDPSQOFXTTCOFXTQSPKFDU@ Pepper全長

Slide 5

Slide 5 text

όοςϦʔɿ࣌ؒʢ࠷௕ʣ "I8Iʢ༰ྔʣ Ҡಈɿ LNIʢ࠷େʣ ஈࠩDNʢ࠷େʣ λϒϨοτɿΠϯνʢ✕ʣ εϐʔΧجʢNNܦʣ ϚΠΫͭʢप೾਺ଳɿ)[ʙ,)[ʣ 3(#Χϝϥͭʢ✕ɺGQTʣ %ηϯα ʢ✕ɺGQTʣ -&% ࣠Ճ଎౓ηϯα ࣠δϟΠϩηϯα ϨʔβʔઢδΣωϨʔλج ੺֎ઢηϯαج ιφʔʢ௒Ի೾ηϯαʣج λονηϯα όϯύʔج .BHOFUJD3PUBSZ&ODPEFSج Pepperセンサ

Slide 6

Slide 6 text

アプリ開発環境「Choregraphe」について

Slide 7

Slide 7 text

υϥοάˍυϩοϓͷΈͰ1FQQFSΞϓϦΛ։ൃͰ͖Δ؀ڥ Choregraph

Slide 8

Slide 8 text

ʮ઀ଓʯϘλϯ Pepperに接続する方法 1/2

Slide 9

Slide 9 text

1FQQFSͷ*1ΞυϨεΛೖྗ͢Δ ˞1FQQFSͷ*1ΞυϨεͷௐ΂ํ 1FQQFSͷڳʢλϒϨοτͷཪʣʹ͋ΔϘλϯΛ ܰ͘ԡ͢ͱɺ໊લͱ*1ΞυϨεΛڭ͑ͯ͘ΕΔ Pepperに接続する方法 2/2

Slide 10

Slide 10 text

ϏσΦϞχλʔɿ઀ଓ͍ͯ͠Δ1FQQFSͷࢹքΛݟΔ͜ͱ͕Ͱ͖Δ ビデオビューでPepperの視界を見る

Slide 11

Slide 11 text

ΦʔτϊϚεϥΠϑͷߟ͑ํ IUUQRJJUBDPN"UFMJFS"LJIBCBSBJUFNTBCEEFF पғͷ؀ڥ΍ߦಈʹԠͯ͡ ΠϯλϥΫγϣϯ͢ΔͨΊͷγεςϜ オートノマスライフをOFFにする 1/2

Slide 12

Slide 12 text

ᶃ ᶄ ᶃ ʮΦʔτϊϚεϥΠϑʯΛ0''ʹ͢Δ ᶄ εϦʔϓΛղআ͢Δ オートノマスライフをOFFにする 2/2

Slide 13

Slide 13 text

アプリ開発体験

Slide 14

Slide 14 text

υϥοάˍυϩοϓͰ 4BZͷಉ͡ϚʔΫͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ 4BZͷৄࡉΛදࣔ͢Δ ᶃ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰ௥Ճ͢Δ しゃべらせてみよう(Say) 1/3

Slide 15

Slide 15 text

ᶆ ᶇ ʮ+BQBOFTFʯΛબ୒͢Δ ͠Ό΂ΒͤΔ಺༰Λೖྗ͢Δ ᶈ ϓϩάϥϜΛ࣮ߦ͢Δ ᶉ ͻͱ্ͭͷ֊૚ʹ໭Δ しゃべらせてみよう(Say) 2/3

Slide 16

Slide 16 text

ᶊ ύϥϝʔλϘλϯΛ ΫϦοΫ͢Δ ᶋ ੠ͷτʔϯͱૣ͞Λ ௐ੔͢Δ ެࣜਪ঑ઃఆɿ 7PJDF4IBQJOH 4QFFE ˠ ˠ しゃべらせてみよう(Say) 3/3

Slide 17

Slide 17 text

ϘοΫε಺ϘοΫε ೖΕࢠߏ଄දݱ ボックスの入れ子構造

Slide 18

Slide 18 text

ᶃ "OJNBUJPO$SFBUJPO5JNFMJOFΛ υϥοάυϩοϓ͢Δ υϥοάˍυϩοϓͰ 5JNFMJOFͷಉ͡ϚʔΫͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ 5JNFMJOFͷৄࡉΛදࣔ͢Δ 動きをつけてみよう(Timeline) 1/3

Slide 19

Slide 19 text

ᶆ ʮϩϘοτϏϡʔʯΛΫϦοΫ͢Δ ᶇ όʔνϟϧϩϘοτͷ࿹ΛΫϦοΫ͢Δ ᶈ ಈ͔͍ͨؔ͠અͷ֯౓Λมߋ͢Δ ᶉ λΠϜϥΠϯ্ͷ೚ҙͷҐஔͰΩʔϑϨʔϜΛ௥Ճ͢Δ 動きをつけてみよう(Timeline) 2/3

Slide 20

Slide 20 text

ᶊ ʮϙʔζϥΠϒϥϦʯΛΫϦοΫ͢Δ ᶋ 4UBOEΛΫϦοΫͯ͠௚ཱʹ໭͢ ᶌ ϓϩάϥϜΛ࣮ߦ͢Δ 動きをつけてみよう(Timeline) 3/3

Slide 21

Slide 21 text

ᶃ ΞχϝʔγϣϯϞʔυΛ0/ʹ͢Δ ᶄ खͷߕΛλον͠ͳ͕Β ࿹Λಈ͔͢ ᶅ ϙʔζΛ෇͚Δ ᶆ ΞχϝʔγϣϯϞʔυΛ 0''ʹ͢Δ アニメーションモードで動きをつけてみよう 1/2

Slide 22

Slide 22 text

ᶇ ᶄʙᶆͷखॱͰɺΩʔϑϨʔϜΛͭ௥Ճ͢Δ アニメーションモードで動きをつけてみよう 2/2

Slide 23

Slide 23 text

ᶃ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰ௥Ճ͢Δ υϥοάˍυϩοϓͰ4BZͷಉ͡ϚʔΫ ͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ ࿩͢಺༰Λೖྗ͢Δ ᶆ ϓϩάϥϜΛ࣮ߦ͢Δ 動きながらしゃべらせてみよう(Say+Timeline) 1/2

Slide 24

Slide 24 text

ᶇ 1SPHSBNNJOH5JNF8BJUΛ υϥοάυϩοϓͰ௥Ճ͢Δ ᶈ ᶉ 8BJUͱ4BZΛܨ͛Δ ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ υϥοάˍυϩοϓͰ8BJUͷಉ͡ϚʔΫ ͱܨ͛Δ ᶊ ύϥϝʔλϘλϯΛ ΫϦοΫ͠ɺ࣌ؒΛ ೖྗ͢Δ 動きながらしゃべらせてみよう(Say+Timeline) 2/2

Slide 25

Slide 25 text

ϝχϡʔදࣔμΠΞϩά ΛΫϦοΫͯ͠։͘ ˞όʔνϟϧϩϘοτͰεΫϦϓτΛςετ͢Δ৔߹͸μΠΞϩά΢Οϯυ΢Λར༻͢Δ 会話してみよう(Speech Reco.) 1/3

Slide 26

Slide 26 text

ᶃ 4QFFDI$SFBUJPO4QFFDI3FDP ΛυϥοάυϩοϓͰ௥Ճ͢Δ ᶄ 1SPHSBNNJOH-PHJD4XJUDI$BTFΛ υϥοάυϩοϓͰ௥Ճ͢Δ ᶅ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰ̎ͭ௥Ճ͢Δ ᶆ ͦΕͧΕΛਤͷΑ͏ʹܨ͙ 会話してみよう(Speech Reco.) 2/3

Slide 27

Slide 27 text

ᶇ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶈ ೝࣝͤ͞Δ୯ޠΛೖྗ͢Δ ୯ޠͱ୯ޠΛʮʢηϛίϩϯʣʯͰ෼͚Δ ʢྫɿʮ୯ޠ୯ޠʯʣ ᶉ ᶈͰೖྗͨ͠୯ޠΛೖྗ͢Δ ʢμϒϧΫΥʔςʔγϣϯͰғ͏ʣ ᶊ ͦΕͧΕͷ୯ޠʹରԠ͢Δݴ ༿Λೖྗ͢Δ ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ 会話してみよう(Speech Reco.) 3/3

Slide 28

Slide 28 text

˞2J$IBU γφϦΦʢ୆ຊʣΛॻ͘Α͏ͳܗͰɺਓؒͷԠରʹԠͨ͡ձ࿩ɾಈ࡞ɾΞϓϦͷىಈ͕࣮ݱͰ͖Δ 4QFFDI3FDPʢΩʔϫʔυೝࣝʣͰ͸೉͔ͬͨ͠ʮਓؒΒ͍͠ձ࿩ʯ͕Ͱ͖Δ ʮ৽نμΠΞϩάτϐοΫʯΛΫϦοΫ͢Δ ᶃ ೚ҙͷ໊લΛೖྗ͢Δ ᶄ +BQBOFTF KQK Λબ୒͢Δ ᶅ シナリオで会話してみよう(QiChat) 1/4

Slide 29

Slide 29 text

̋̋EJHΛυϥοάˍυϩοϓͰ௥Ճ͢Δ ᶆ εΫϦϓτΤσΟλΛฤू͢Δ ᶈ ̋̋@KQKUPQΛμϒϧΫϦοΫ͢Δ ᶇ シナリオで会話してみよう(QiChat) 2/4

Slide 30

Slide 30 text

̋εΫϦϓτྫ̍ʮجຊจ๏ʯ V ݩؾʁ ݩؾͩΑ V ݩؾʁ ݩؾͩΑ ਓؒଆͷߦಈɾݴ༿ 1FQQFSͷߦಈ ̋εΫϦϓτྫ̎ʮ֊૚Խͨ͠ձ࿩ʯ V ಈ෺ͷ࿩ ݘ͔ೣΛࣂ͍ͬͯ·͔͢ʁ V ݘ େ͖͍ݘͰ͔͢ʁ V ͸͍ ޿͍৔ॴ͕ඞཁͰ͢Ͷ V ͍͍Ͷ ͔Θ͍Β͍͠Ͱ͢Ͷ V ೣ ݩؾͳೣͰ͔͢ʁ V ͸͍ ֎ʹग़͍͖ͯ·͔͢ʁ V ͍͍Ͷ Ո͕޷͖ͳΜͰ͢Ͷ V ͸͍ ωζϛΛ֫ΓʹߦͬͯΔΜͰ͔͢Ͷ V ͍͍͑ ࢲͱҰॹͰ͢Ͷ シナリオで会話してみよう(QiChat) 3/4

Slide 31

Slide 31 text

̋εΫϦϓτྫ̏ʮᐆດͳදݱᶃʯ V <͜Μʹͪ͸͓͸Α͏> ݩؾʁ V <͜Μʹͪ͸͓͸Α͏> ݩؾʁ ൒֯εϖʔε͕03ͱಉ͡ҙຯ߹͍ ̋εΫϦϓτྫ̐ʮᐆດͳදݱᶄʯ V ݩؾ\͍ͬͺ͍^ͩͶ ݩؾͩΑʂ V ݩؾ\͍ͬͺ͍^ͩͶ ݩؾͩΑʂ \^಺͸ͳͯ͘΋Α͍ ̋εΫϦϓτྫ̑ʮೖྗΛม਺ʹ͢Δʯ V @<νϣίϨʔτνʔζ>͕΄͍͠ Θ͔Γ·ͨ͠Ͱ͢Ͷɻ @<>಺͕ม਺ͱͳΔʢ̋ɿ̋ͷ෦෼ʹ͸ग़ݱॱʹ࿈൪͕ೖΔʣ シナリオで会話してみよう(QiChat) 4/4

Slide 32

Slide 32 text

2016/08/24 Pepperアプリ開発入門ワークショップ 【サーバ連携】

Slide 33

Slide 33 text

εϐʔΧجʢNNܦʣ ϚΠΫͭʢप೾਺ଳɿ)[ʙ,)[ʣ 3(#Χϝϥͭʢ✕ɺGQTʣ %ηϯα ʢ✕ɺGQTʣ -&% ࣠Ճ଎౓ηϯα ࣠δϟΠϩηϯα ϨʔβʔઢδΣωϨʔλج ੺֎ઢηϯαج ιφʔʢ௒Ի೾ηϯαʣج λονηϯα όϯύʔج .BHOFUJD3PUBSZ&ODPEFSج 8Jp Pepperの通信機能

Slide 34

Slide 34 text

サーバから台詞を取得してしゃべらせてみる

Slide 35

Slide 35 text

8FCαʔό μ΢ϯϩʔυ サーバからセリフを取得してしゃべらせてみる 1/7

Slide 36

Slide 36 text

XPSETQIQ QIQ XPSETBSSBZ b͜Μʹͪ͸` b͓͸Α͏͍͟͝·͢` b͜Μ͹Μ͸` FDIPXPSET ϥϯμϜͰ୆ࢺΛදࣔ͢Δ1)1εΫϦϓτ サーバからセリフを取得してしゃべらせてみる 2/7

Slide 37

Slide 37 text

όϯ ҰൠతͳϓϩάϥϛϯάݴޠͰݴ͏ͱ͜Ζͷ#00-ܕͷΑ͏ͳ΋ͷ ਺஋ ਺஋ܕΛૹΔ จࣈྻ จࣈྻܕΛૹΔ μΠφϛοΫ μΠφϛοΫ͸ೖྗ͞ΕΔ৴߸ʹ߹Θͤͯ஋͕มԽ͢Δ ボックス同士を繋ぐ線の種類

Slide 38

Slide 38 text

ᶅ 63-Λೖྗ͢Δ ᶃ ɾ4QFFDI$SFBUJPO4BZ5FYU ɾ1SPHSBNNJOH3PCPU*OGPSNBUJPO *OUFSOFU$POOFDUJPO ΛυϥοάˍυϩοϓͰ௥Ճ͢Δ ᶄ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ サーバからセリフを取得してしゃべらせてみる 3/7

Slide 39

Slide 39 text

ᶆ ʮϘοΫεΛฤूʯ ΛΫϦοΫ͢Δ ᶇ ϘοΫεग़ྗΛ௥Ճ͢Δ ϘλϯΛΫϦοΫ͢Δ サーバからセリフを取得してしゃべらせてみる 4/7

Slide 40

Slide 40 text

サーバからセリフを取得してしゃべらせてみる 5/7

Slide 41

Slide 41 text

ᶈ ਤͷΑ͏ʹ઀ଓ͢Δ ʢ௥Ճͨ͠*OUFSOFU$POOFDUJPOͷग़ྗͱ 4BZ5FYUͷೖྗΛܨ͙ʣ サーバからセリフを取得してしゃべらせてみる 6/7

Slide 42

Slide 42 text

ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ ᶊ ίʔυΛमਖ਼͢Δ ᶉ μϒϧΫϦοΫ ͯ͠ίʔυΛද ࣔ͢Δ サーバからセリフを取得してしゃべらせてみる 7/7

Slide 43

Slide 43 text

簡単な受付アプリを作ってみる

Slide 44

Slide 44 text

ᶃ ʮϘοΫεΛฤूʯ ΛΫϦοΫ͢Δ ᶄ ϘοΫεೖྗΛ௥Ճ͢Δ ϘλϯΛΫϦοΫ͢Δ 簡単な受付アプリを作ってみる 1/5

Slide 45

Slide 45 text

簡単な受付アプリを作ってみる 2/5

Slide 46

Slide 46 text

ᶆ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶅ ਤͷΑ͏ʹ઀ଓ͢Δ ᶇ ਓ໊Λೖྗ͢Δ 簡単な受付アプリを作ってみる 3/5

Slide 47

Slide 47 text

ᶉ ίʔυΛฤू͢Δ ᶈ μϒϧΫϦοΫͯ͠ ίʔυΛදࣔ͢Δ 簡単な受付アプリを作ってみる 4/5

Slide 48

Slide 48 text

ᶋ 63-Λೖྗ͢Δ ᶊ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ 簡単な受付アプリを作ってみる 5/5

Slide 49

Slide 49 text

NFNCFSQIQ QIQ OBNF@(&5 EBUBKTPO@EFDPEF pMF@HFU@DPOUFOUT bNFNCFS@TUBUFKTPO` USVF FDIPEBUB<OBNF> ࡏୀ੮ঢ়ଶΛऔಘͯ͠ฦ͢εΫϦϓτ NFNCFS@TUBUFKTPO \ lUBSPVzzୀ੮தz lKJSPVzzࡏ੮z ^ 簡単な受付アプリを作ってみる PHPコード

Slide 50

Slide 50 text

ཁ࣮ػͷػೳ

Slide 51

Slide 51 text

5BDUJMF)FBE 5BDUJMF-)BOE 5BDUJMF3)BOE 1FQQFSͷλονηϯαʔ センサーを使ってみよう(Tactile〜) 1/2

Slide 52

Slide 52 text

ᶃ 4FOTJOH5PVDI͔Β ɾ5BDUJMF)FBE ɾ5BDUJMF-)BOE ɾ5BDUJMF3)BOE ΛυϥοάˍυϩοϓͰ௥Ճ͢Δ ᶄ 4QFFDI$SFBUJPO4BZΛɺͭ ഑ஔͯ͠ɺਤͷΑ͏ʹܨ͙ ᶅ ͦΕͧΕͷ4BZʹ ରԠ͢Δݴ༿Λ ೖྗ͢Δ ᶆ ϓϩάϥϜΛ࣮ߦ͢Δ センサーを使ってみよう(Tactile〜) 2/2

Slide 53

Slide 53 text

ϝχϡʔදࣔϝϞϦ΢Υονϟʔ ΛΫϦοΫͯ͠։͘ ˞"-.FNPSZ 1FQQFSͷηϯα৘ใΛू໿͢Δ࢓૊Έɻ ೚ҙͷηϯαͷΩʔʢจࣈྻʣΛࢦఆ͢Δ͜ͱͰɺηϯα஋Λऔಘ͢Δ͜ͱ͕Ͱ͖Δɻ $IPSFHSBQIFͰ͸ɺʮϝϞϦ΢ΥονϟʔʯΛར༻ͯ͠஋Λ֬ೝͰ͖Δɻ 人が近づいたらしゃべらせてみよう(ALMemory) 1/3

Slide 54

Slide 54 text

ʮ&OHBHFNFOU;POFTʯͱೖྗͯ͠ ɾ1FSTPO&OUFSE;POF ɾ1FSTPO&OUFSE;POF ɾ1FSTPO&OUFSE;POF Λબ୒͢Δ ᶃ ʮ"-.FNPSZ͔ΒͷΠϕϯτΛ௥ՃʯΛΫϦοΫ͢Δ ᶄ 人が近づいたらしゃべらせてみよう(ALMemory) 2/3

Slide 55

Slide 55 text

ͦΕͧΕͷ4BZʹରԠ͢Δݴ༿Λ ೖྗ͢Δ ᶅ 4QFFDI4QFFDI4FUUJOHT4FU-BOHVBHFΛͭ 4QFFDI$SFBUJPO4BZΛͭ υϥοάˍυϩοϓͰ௥Ճ͢Δ ᶈ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶆ ʮ+BQBOFTFʯʹઃఆ͢Δ ᶇ ᶉ ϓϩάϥϜΛ࣮ߦ͢Δ 人が近づいたらしゃべらせてみよう(ALMemory) 3/3

Slide 56

Slide 56 text

参考資料

Slide 57

Slide 57 text

˖ٕज़ॻ ˖ΦϯϥΠϯࢿྉ ɾ2JJUB"UFMJFS"LJIBCBSB ɾ(JUIVC"UFMJFS"LJIBCBSB IUUQRJJUBDPN"UFMJFS"LJIBCBSB IUUQTHJUIVCDPN"UFMJFS"LJIBCBSB 参考資料