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
94
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
ISHIGO Yusuke
PRO
August 30, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
15
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
36
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
39
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
42
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
120
自己紹介(研究活動)
yusk1450
PRO
0
17
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
9
こどもICT学級 人工知能(AI)ってなに?(2020/11/7)
yusk1450
PRO
0
8
2025年度 基礎演習(石郷ゼミ)紹介(名古屋文理大学)
yusk1450
PRO
0
31
Other Decks in Programming
See All in Programming
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
350
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
Spring gRPC について / About Spring gRPC
mackey0225
0
220
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
390
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
320
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
200
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.3k
2024年のWebフロントエンドのふりかえりと2025年
sakito
3
250
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
730
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Side Projects
sachag
452
42k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Faster Mobile Websites
deanohume
306
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
Agile that works and the tools we love
rasmusluckow
328
21k
Building an army of robots
kneath
303
45k
Music & Morning Musume
bryan
46
6.3k
Typedesign – Prime Four
hannesfritz
40
2.5k
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 参考資料