Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
Search
ISHIGO Yusuke
PRO
August 30, 2018
Programming
0
100
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
ISHIGO Yusuke
PRO
August 30, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
ゲーム技術基礎#1
yusk1450
PRO
0
13
ゲーム技術基礎#2
yusk1450
PRO
0
6
ゲーム技術基礎#3
yusk1450
PRO
0
6
2025年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
1
94
自己紹介(研究活動)
yusk1450
PRO
0
35
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
28
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
54
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
50
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
53
Other Decks in Programming
See All in Programming
抽象データ型について学んだ
ryounasso
0
210
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
230
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
180
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
240
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
740
複数アプリケーションを育てていくための共通化戦略
irof
4
960
インターフェース設計のコツとツボ
togishima
2
490
PT AI без купюр
v0lka
0
200
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
Parallel::Pipesの紹介
skaji
2
870
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
漸進。
ssssota
0
1.2k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Speed Design
sergeychernyshev
30
970
Facilitating Awesome Meetings
lara
54
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Done Done
chrislema
184
16k
The Cult of Friendly URLs
andyhume
78
6.4k
Documentation Writing (for coders)
carmenintech
71
4.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
A Tale of Four Properties
chriscoyier
159
23k
Music & Morning Musume
bryan
47
6.6k
Transcript
2016/08/24 Pepperアプリ開発入門ワークショップ 拡大版
̍1FQQFSʢϋʔυΣΞʣʹ͍ͭͯ ̎ΞϓϦ։ൃڥʮ$IPSFHSBQIFʢίϨάϥϑʣʯ ̏ΞϓϦ։ൃମݧ ɹᶃ͠ΌΒͤͯΈΑ͏ʢ4BZʣ ɹᶄಈ͖Λ͚ͭͯΈΑ͏ʢ5JNFMJOFʣ ɹᶅಈ͖ͳ͕Β͠ΌΒͤͯΈΑ͏ʢ5JNFMJOFʴ4BZʣ ɹᶆձΛͯ͠ΈΑ͏ʢ4QFFDI3FDPʣ ɹᶇηϯαʔΛͬͯΈΑ͏ʢ5BDUJMFʙʣ ɹᶈਓ͕͍ۙͮͨΒ͠ΌΒͤͯΈΑ͏ʢ"-.FNPSZʣ ɹᶉγφϦΦͰձͯ͠ΈΑ͏ʢ2J$IBUʣ
̐αʔό࿈ܞฤ ɹᶃαʔό͔ΒηϦϑΛऔಘͯ͠͠ΌΒͤͯΈΔ ɹᶄ؆୯ͳडΞϓϦΛ࡞ͬͯΈΔ 本日の流れ
Pepper(ハードウェア)について
DN DN DN ॏྔɿ,H খֶʙੜͷஉࢠఔ IUUQXXXTPGUCBOLKQDPSQOFXTTCOFXTQSPKFDU@ Pepper全長
όοςϦʔɿ࣌ؒʢ࠷ʣ "I8Iʢ༰ྔʣ Ҡಈɿ LNIʢ࠷େʣ ஈࠩDNʢ࠷େʣ λϒϨοτɿΠϯνʢ✕ʣ εϐʔΧجʢNNܦʣ ϚΠΫͭʢपଳɿ)[ʙ,)[ʣ 3(#Χϝϥͭʢ✕ɺGQTʣ %ηϯα
ʢ✕ɺGQTʣ -&% ࣠Ճηϯα ࣠δϟΠϩηϯα ϨʔβʔઢδΣωϨʔλج ֎ઢηϯαج ιφʔʢԻηϯαʣج λονηϯα όϯύʔج .BHOFUJD3PUBSZ&ODPEFSج Pepperセンサ
アプリ開発環境「Choregraphe」について
υϥοάˍυϩοϓͷΈͰ1FQQFSΞϓϦΛ։ൃͰ͖Δڥ Choregraph
ʮଓʯϘλϯ Pepperに接続する方法 1/2
1FQQFSͷ*1ΞυϨεΛೖྗ͢Δ ˞1FQQFSͷ*1ΞυϨεͷௐํ 1FQQFSͷڳʢλϒϨοτͷཪʣʹ͋ΔϘλϯΛ ܰ͘ԡ͢ͱɺ໊લͱ*1ΞυϨεΛڭ͑ͯ͘ΕΔ Pepperに接続する方法 2/2
ϏσΦϞχλʔɿଓ͍ͯ͠Δ1FQQFSͷࢹքΛݟΔ͜ͱ͕Ͱ͖Δ ビデオビューでPepperの視界を見る
ΦʔτϊϚεϥΠϑͷߟ͑ํ IUUQRJJUBDPN"UFMJFS"LJIBCBSBJUFNTBCEEFF पғͷڥߦಈʹԠͯ͡ ΠϯλϥΫγϣϯ͢ΔͨΊͷγεςϜ オートノマスライフをOFFにする 1/2
ᶃ ᶄ ᶃ ʮΦʔτϊϚεϥΠϑʯΛ0''ʹ͢Δ ᶄ εϦʔϓΛղআ͢Δ オートノマスライフをOFFにする 2/2
アプリ開発体験
υϥοάˍυϩοϓͰ 4BZͷಉ͡ϚʔΫͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ 4BZͷৄࡉΛදࣔ͢Δ ᶃ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰՃ͢Δ しゃべらせてみよう(Say)
1/3
ᶆ ᶇ ʮ+BQBOFTFʯΛબ͢Δ ͠ΌΒͤΔ༰Λೖྗ͢Δ ᶈ ϓϩάϥϜΛ࣮ߦ͢Δ ᶉ ͻͱ্ͭͷ֊ʹΔ しゃべらせてみよう(Say) 2/3
ᶊ ύϥϝʔλϘλϯΛ ΫϦοΫ͢Δ ᶋ ͷτʔϯͱૣ͞Λ ௐ͢Δ ެࣜਪઃఆɿ 7PJDF4IBQJOH 4QFFE ˠ
ˠ しゃべらせてみよう(Say) 3/3
ϘοΫεϘοΫε ೖΕࢠߏදݱ ボックスの入れ子構造
ᶃ "OJNBUJPO$SFBUJPO5JNFMJOFΛ υϥοάυϩοϓ͢Δ υϥοάˍυϩοϓͰ 5JNFMJOFͷಉ͡ϚʔΫͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ 5JNFMJOFͷৄࡉΛදࣔ͢Δ 動きをつけてみよう(Timeline)
1/3
ᶆ ʮϩϘοτϏϡʔʯΛΫϦοΫ͢Δ ᶇ όʔνϟϧϩϘοτͷΛΫϦοΫ͢Δ ᶈ ಈ͔͍ͨؔ͠અͷ֯Λมߋ͢Δ ᶉ λΠϜϥΠϯ্ͷҙͷҐஔͰΩʔϑϨʔϜΛՃ͢Δ 動きをつけてみよう(Timeline) 2/3
ᶊ ʮϙʔζϥΠϒϥϦʯΛΫϦοΫ͢Δ ᶋ 4UBOEΛΫϦοΫཱͯ͠ʹ͢ ᶌ ϓϩάϥϜΛ࣮ߦ͢Δ 動きをつけてみよう(Timeline) 3/3
ᶃ ΞχϝʔγϣϯϞʔυΛ0/ʹ͢Δ ᶄ खͷߕΛλον͠ͳ͕Β Λಈ͔͢ ᶅ ϙʔζΛ͚Δ ᶆ ΞχϝʔγϣϯϞʔυΛ 0''ʹ͢Δ
アニメーションモードで動きをつけてみよう 1/2
ᶇ ᶄʙᶆͷखॱͰɺΩʔϑϨʔϜΛͭՃ͢Δ アニメーションモードで動きをつけてみよう 2/2
ᶃ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰՃ͢Δ υϥοάˍυϩοϓͰ4BZͷಉ͡ϚʔΫ ͱܨ͛Δ ᶄ ᶅ μϒϧΫϦοΫͯ͠ ͢༰Λೖྗ͢Δ ᶆ
ϓϩάϥϜΛ࣮ߦ͢Δ 動きながらしゃべらせてみよう(Say+Timeline) 1/2
ᶇ 1SPHSBNNJOH5JNF8BJUΛ υϥοάυϩοϓͰՃ͢Δ ᶈ ᶉ 8BJUͱ4BZΛܨ͛Δ ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ υϥοάˍυϩοϓͰ8BJUͷಉ͡ϚʔΫ ͱܨ͛Δ
ᶊ ύϥϝʔλϘλϯΛ ΫϦοΫ͠ɺ࣌ؒΛ ೖྗ͢Δ 動きながらしゃべらせてみよう(Say+Timeline) 2/2
ϝχϡʔදࣔμΠΞϩά ΛΫϦοΫͯ͠։͘ ˞όʔνϟϧϩϘοτͰεΫϦϓτΛςετ͢Δ߹μΠΞϩάΟϯυΛར༻͢Δ 会話してみよう(Speech Reco.) 1/3
ᶃ 4QFFDI$SFBUJPO4QFFDI3FDP ΛυϥοάυϩοϓͰՃ͢Δ ᶄ 1SPHSBNNJOH-PHJD4XJUDI$BTFΛ υϥοάυϩοϓͰՃ͢Δ ᶅ 4QFFDI$SFBUJPO4BZΛ υϥοάυϩοϓͰ̎ͭՃ͢Δ ᶆ
ͦΕͧΕΛਤͷΑ͏ʹܨ͙ 会話してみよう(Speech Reco.) 2/3
ᶇ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶈ ೝࣝͤ͞Δ୯ޠΛೖྗ͢Δ ୯ޠͱ୯ޠΛʮʢηϛίϩϯʣʯͰ͚Δ ʢྫɿʮ୯ޠ୯ޠʯʣ ᶉ ᶈͰೖྗͨ͠୯ޠΛೖྗ͢Δ ʢμϒϧΫΥʔςʔγϣϯͰғ͏ʣ ᶊ
ͦΕͧΕͷ୯ޠʹରԠ͢Δݴ ༿Λೖྗ͢Δ ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ 会話してみよう(Speech Reco.) 3/3
˞2J$IBU γφϦΦʢຊʣΛॻ͘Α͏ͳܗͰɺਓؒͷԠରʹԠͨ͡ձɾಈ࡞ɾΞϓϦͷىಈ͕࣮ݱͰ͖Δ 4QFFDI3FDPʢΩʔϫʔυೝࣝʣͰ͔ͬͨ͠ʮਓؒΒ͍͠ձʯ͕Ͱ͖Δ ʮ৽نμΠΞϩάτϐοΫʯΛΫϦοΫ͢Δ ᶃ ҙͷ໊લΛೖྗ͢Δ ᶄ +BQBOFTF KQK Λબ͢Δ
ᶅ シナリオで会話してみよう(QiChat) 1/4
̋̋EJHΛυϥοάˍυϩοϓͰՃ͢Δ ᶆ εΫϦϓτΤσΟλΛฤू͢Δ ᶈ ̋̋@KQKUPQΛμϒϧΫϦοΫ͢Δ ᶇ シナリオで会話してみよう(QiChat) 2/4
̋εΫϦϓτྫ̍ʮجຊจ๏ʯ V ݩؾʁ ݩؾͩΑ V ݩؾʁ ݩؾͩΑ ਓؒଆͷߦಈɾݴ༿ 1FQQFSͷߦಈ ̋εΫϦϓτྫ̎ʮ֊Խͨ͠ձʯ
V ಈͷ ݘ͔ೣΛࣂ͍ͬͯ·͔͢ʁ V ݘ େ͖͍ݘͰ͔͢ʁ V ͍ ͍ॴ͕ඞཁͰ͢Ͷ V ͍͍Ͷ ͔Θ͍Β͍͠Ͱ͢Ͷ V ೣ ݩؾͳೣͰ͔͢ʁ V ͍ ֎ʹग़͍͖ͯ·͔͢ʁ V ͍͍Ͷ Ո͕͖ͳΜͰ͢Ͷ V ͍ ωζϛΛ֫ΓʹߦͬͯΔΜͰ͔͢Ͷ V ͍͍͑ ࢲͱҰॹͰ͢Ͷ シナリオで会話してみよう(QiChat) 3/4
̋εΫϦϓτྫ̏ʮᐆດͳදݱᶃʯ V <͜Μʹ͓ͪΑ͏> ݩؾʁ V <͜Μʹ͓ͪΑ͏> ݩؾʁ ֯εϖʔε͕03ͱಉ͡ҙຯ߹͍ ̋εΫϦϓτྫ̐ʮᐆດͳදݱᶄʯ V
ݩؾ\͍ͬͺ͍^ͩͶ ݩؾͩΑʂ V ݩؾ\͍ͬͺ͍^ͩͶ ݩؾͩΑʂ \^ͳͯ͘Α͍ ̋εΫϦϓτྫ̑ʮೖྗΛมʹ͢Δʯ V @<νϣίϨʔτνʔζ>͕΄͍͠ Θ͔Γ·ͨ͠Ͱ͢Ͷɻ @<>͕มͱͳΔʢ̋ɿ̋ͷ෦ʹग़ݱॱʹ࿈൪͕ೖΔʣ シナリオで会話してみよう(QiChat) 4/4
2016/08/24 Pepperアプリ開発入門ワークショップ 【サーバ連携】
εϐʔΧجʢNNܦʣ ϚΠΫͭʢपଳɿ)[ʙ,)[ʣ 3(#Χϝϥͭʢ✕ɺGQTʣ %ηϯα ʢ✕ɺGQTʣ -&% ࣠Ճηϯα ࣠δϟΠϩηϯα ϨʔβʔઢδΣωϨʔλج ֎ઢηϯαج
ιφʔʢԻηϯαʣج λονηϯα όϯύʔج .BHOFUJD3PUBSZ&ODPEFSج 8Jp Pepperの通信機能
サーバから台詞を取得してしゃべらせてみる
8FCαʔό μϯϩʔυ サーバからセリフを取得してしゃべらせてみる 1/7
XPSETQIQ QIQ XPSETBSSBZ b͜Μʹͪ` b͓Α͏͍͟͝·͢` b͜ΜΜ` FDIPXPSET<SBOE
DPVOU XPSET > ϥϯμϜͰࢺΛදࣔ͢Δ1)1εΫϦϓτ サーバからセリフを取得してしゃべらせてみる 2/7
όϯ ҰൠతͳϓϩάϥϛϯάݴޠͰݴ͏ͱ͜Ζͷ#00-ܕͷΑ͏ͳͷ ܕΛૹΔ จࣈྻ จࣈྻܕΛૹΔ μΠφϛοΫ μΠφϛοΫೖྗ͞ΕΔ৴߸ʹ߹Θ͕ͤͯมԽ͢Δ ボックス同士を繋ぐ線の種類
ᶅ 63-Λೖྗ͢Δ ᶃ ɾ4QFFDI$SFBUJPO4BZ5FYU ɾ1SPHSBNNJOH3PCPU*OGPSNBUJPO *OUFSOFU$POOFDUJPO ΛυϥοάˍυϩοϓͰՃ͢Δ ᶄ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ サーバからセリフを取得してしゃべらせてみる
3/7
ᶆ ʮϘοΫεΛฤूʯ ΛΫϦοΫ͢Δ ᶇ ϘοΫεग़ྗΛՃ͢Δ ϘλϯΛΫϦοΫ͢Δ サーバからセリフを取得してしゃべらせてみる 4/7
サーバからセリフを取得してしゃべらせてみる 5/7
ᶈ ਤͷΑ͏ʹଓ͢Δ ʢՃͨ͠*OUFSOFU$POOFDUJPOͷग़ྗͱ 4BZ5FYUͷೖྗΛܨ͙ʣ サーバからセリフを取得してしゃべらせてみる 6/7
ᶋ ϓϩάϥϜΛ࣮ߦ͢Δ ᶊ ίʔυΛमਖ਼͢Δ ᶉ μϒϧΫϦοΫ ͯ͠ίʔυΛද ࣔ͢Δ サーバからセリフを取得してしゃべらせてみる 7/7
簡単な受付アプリを作ってみる
ᶃ ʮϘοΫεΛฤूʯ ΛΫϦοΫ͢Δ ᶄ ϘοΫεೖྗΛՃ͢Δ ϘλϯΛΫϦοΫ͢Δ 簡単な受付アプリを作ってみる 1/5
簡単な受付アプリを作ってみる 2/5
ᶆ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶅ ਤͷΑ͏ʹଓ͢Δ ᶇ ਓ໊Λೖྗ͢Δ 簡単な受付アプリを作ってみる 3/5
ᶉ ίʔυΛฤू͢Δ ᶈ μϒϧΫϦοΫͯ͠ ίʔυΛදࣔ͢Δ 簡単な受付アプリを作ってみる 4/5
ᶋ 63-Λೖྗ͢Δ ᶊ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ 簡単な受付アプリを作ってみる 5/5
NFNCFSQIQ QIQ OBNF@(&5<bOBNF`> EBUBKTPO@EFDPEF pMF@HFU@DPOUFOUT bNFNCFS@TUBUFKTPO` USVF FDIPEBUB<OBNF>
ࡏୀ੮ঢ়ଶΛऔಘͯ͠ฦ͢εΫϦϓτ NFNCFS@TUBUFKTPO \ lUBSPVzzୀ੮தz lKJSPVzzࡏ੮z ^ 簡単な受付アプリを作ってみる PHPコード
ཁ࣮ػͷػೳ
5BDUJMF)FBE 5BDUJMF-)BOE 5BDUJMF3)BOE 1FQQFSͷλονηϯαʔ センサーを使ってみよう(Tactile〜) 1/2
ᶃ 4FOTJOH5PVDI͔Β ɾ5BDUJMF)FBE ɾ5BDUJMF-)BOE ɾ5BDUJMF3)BOE ΛυϥοάˍυϩοϓͰՃ͢Δ ᶄ 4QFFDI$SFBUJPO4BZΛɺͭ ஔͯ͠ɺਤͷΑ͏ʹܨ͙ ᶅ
ͦΕͧΕͷ4BZʹ ରԠ͢Δݴ༿Λ ೖྗ͢Δ ᶆ ϓϩάϥϜΛ࣮ߦ͢Δ センサーを使ってみよう(Tactile〜) 2/2
ϝχϡʔදࣔϝϞϦΥονϟʔ ΛΫϦοΫͯ͠։͘ ˞"-.FNPSZ 1FQQFSͷηϯαใΛू͢ΔΈɻ ҙͷηϯαͷΩʔʢจࣈྻʣΛࢦఆ͢Δ͜ͱͰɺηϯαΛऔಘ͢Δ͜ͱ͕Ͱ͖Δɻ $IPSFHSBQIFͰɺʮϝϞϦΥονϟʔʯΛར༻ͯ͠Λ֬ೝͰ͖Δɻ 人が近づいたらしゃべらせてみよう(ALMemory) 1/3
ʮ&OHBHFNFOU;POFTʯͱೖྗͯ͠ ɾ1FSTPO&OUFSE;POF ɾ1FSTPO&OUFSE;POF ɾ1FSTPO&OUFSE;POF Λબ͢Δ ᶃ ʮ"-.FNPSZ͔ΒͷΠϕϯτΛՃʯΛΫϦοΫ͢Δ ᶄ 人が近づいたらしゃべらせてみよう(ALMemory) 2/3
ͦΕͧΕͷ4BZʹରԠ͢Δݴ༿Λ ೖྗ͢Δ ᶅ 4QFFDI4QFFDI4FUUJOHT4FU-BOHVBHFΛͭ 4QFFDI$SFBUJPO4BZΛͭ υϥοάˍυϩοϓͰՃ͢Δ ᶈ ύϥϝʔλϘλϯΛΫϦοΫ͢Δ ᶆ ʮ+BQBOFTFʯʹઃఆ͢Δ
ᶇ ᶉ ϓϩάϥϜΛ࣮ߦ͢Δ 人が近づいたらしゃべらせてみよう(ALMemory) 3/3
参考資料
˖ٕज़ॻ ˖ΦϯϥΠϯࢿྉ ɾ2JJUB"UFMJFS"LJIBCBSB ɾ(JUIVC"UFMJFS"LJIBCBSB IUUQRJJUBDPN"UFMJFS"LJIBCBSB IUUQTHJUIVCDPN"UFMJFS"LJIBCBSB 参考資料