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
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
ソフトウェアエンジニアの成長
masuda220
PRO
10
1.3k
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
150
CI改善もDatadogとともに
taumu
0
120
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
220
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
170
Open source software: how to live long and go far
gaelvaroquaux
0
640
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
200
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.4k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
The Invisible Side of Design
smashingmag
299
50k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Building Applications with DynamoDB
mza
93
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Docker and Python
trallard
44
3.3k
Code Review Best Practice
trishagee
67
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.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 参考資料