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
140
0
Share
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
ISHIGO Yusuke
PRO
August 30, 2018
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
SFプロトタイピング体験(滝中学校)
yusk1450
PRO
0
33
2026年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
0
16
講演(滝学園)2025/12/22
yusk1450
PRO
0
82
2026年度 基礎演習(石郷ゼミ)紹介(名古屋文理大学)
yusk1450
PRO
0
43
ハッカソンを活用したモノづくり教育について
yusk1450
PRO
2
430
コロナ対応 混雑状況マップ搭載 「岐阜県観光AIサイネージ」(2021年)
yusk1450
PRO
0
72
ゲーム技術基礎#1
yusk1450
PRO
0
140
ゲーム技術基礎#2
yusk1450
PRO
0
71
ゲーム技術基礎#3
yusk1450
PRO
0
60
Other Decks in Programming
See All in Programming
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
100
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
iOS26時代の新規アプリ開発
yuukiw00w
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
220
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
520
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
初めてのRubyKaigiはこう見えた
jellyfish700
0
340
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
460
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
360
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
It's Worth the Effort
3n
188
29k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
310
How to Ace a Technical Interview
jacobian
281
24k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
What's in a price? How to price your products and services
michaelherold
247
13k
Producing Creativity
orderedlist
PRO
348
40k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
180
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
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 参考資料