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
98
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
ISHIGO Yusuke
PRO
August 30, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
2025年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
1
65
自己紹介(研究活動)
yusk1450
PRO
0
27
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
24
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
49
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
45
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
48
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
130
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
15
こどもICT学級 人工知能(AI)ってなに?(2020/11/7)
yusk1450
PRO
0
14
Other Decks in Programming
See All in Programming
生産性アップのためのAI個人活用
kunoyasu
0
590
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
120
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
430
AHC 044 混合整数計画ソルバー解法
kiri8128
0
300
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
970
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
7
6.5k
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
5
1.3k
PHPのガベージコレクションを深掘りしよう
rinchoku
0
240
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
180
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
230
Compose Navigation実装の見通しを良くする
hiroaki404
0
180
Going Structural with Named Tuples
bishabosha
0
160
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Typedesign – Prime Four
hannesfritz
41
2.6k
Automating Front-end Workflow
addyosmani
1369
200k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
4 Signs Your Business is Dying
shpigford
183
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
A Philosophy of Restraint
colly
203
16k
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 参考資料