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
テレプレゼンスシステムを作る時のノウハウ共有会
Search
Akira MATSUDA
October 09, 2018
Research
0
280
テレプレゼンスシステムを作る時のノウハウ共有会
Akira MATSUDA
October 09, 2018
Tweet
Share
Other Decks in Research
See All in Research
Active Retrieval Augmented Generation
kiyohiro8
3
440
LiDARセキュリティ最前線
kentaroy47
0
270
Evolutionary Optimization ofModel Merging Recipes (2024/04/17, NLPコロキウム)
iwiwi
5
2k
Discovering Universal Geometry in Embeddings with ICA
momoseoyama
1
340
Experiments on ROP Attack with Various Instruction Set Architectures
yumulab
0
320
Rの機械学習フレームワークの紹介〜tidymodelsを中心に〜 / machine_learning_with_r2024
s_uryu
0
210
脳卒中患者・家族からみた循環器病対策推進基本計画の進捗に関する調査
japanstrokeassociation
0
530
リサーチに組織を巻き込むための「準備8割」の話
terasho
0
460
Target trial emulationの概要
shuntaros
2
1.1k
株式会社リクルートホールディングス 企業分析
frandle256
0
130
デフスポーツにおける支援技術 〜競技特性・ルールと技術との関係〜
slab
0
210
2024-01-23-az
sofievl
1
730
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
225
17k
How to name files
jennybc
64
92k
Atom: Resistance is Futile
akmur
258
25k
Design by the Numbers
sachag
274
18k
Clear Off the Table
cherdarchuk
83
310k
The Language of Interfaces
destraynor
151
23k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Faster Mobile Websites
deanohume
297
30k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Unsuck your backbone
ammeep
662
57k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Transcript
ςϨϓϨθϯεγεςϜΛ࡞Δ࣌ͷϊϋڞ༗ձ ྐྵຊݚڀࣨ ݚڀࣨษڧձ 2018/04/20 দాڿ
֓ཁ • ςϨϓϨθϯεγεςϜΛ࡞Δͱ͖ʹඞཁͳཁૉɾٕज़Λߟ͑ͯΈͨ • ࣮ํ๏ΛέʔεελσΟΛݩʹհ ҙ • զྲྀͷ࣮ͳͨΊɺ࠷దͳํ๏Ͱͳ͍Մೳੑ͋Γ
લఏ ͋ΔఔࣗͰ࣮͍ͨ͠ • UIΛࣗલͰ༻ҙͰ͖Δ • ϩάૢ࡞ཤྺͷهػೳΛ౷߹Ͱ͖Δ C++, macOSʹ׳Ε͍ͯΔ • openFrameworks,
Cinder͑Δ • macOSωΠςΟϒ࣮Ͱ͖Δ • Unityͬͨ͜ͱ͕ຆͲແ͍ʢC#Λͬͨ͜ͱ͕ͳ͍͔Βʣ • Webͱ͔Γͨ͘ͳ͍ʢjsͱ͔ॻ͖ͨ͘ͳ͍ɻσόοά͕ΓͮΒ͍ɻʣ
ςϨϓϨθϯεγεςϜΛ࡞Δͱ͖ʹඞཁͳཁૉɾٕज़
ඞཁͳཁૉ Ի • Skype, Facebook Messenger ө૾ • Skype, Facebook
Messenger, GStreamer ͦͷଞσʔλ௨৴ʢϩϘοτσόΠεΛԕִૢ࡞͢Δ༻ʣ • UDP, TCP, HTTP, OSC
Ի ਖ਼ࣗલͰ࣮͢ΔͷΓͨ͘ͳ͍ • ίʔσοΫͱ͔ͷ͕ग़͖ͯͯ໘͍͘͞ • ϥΠϒϥϦΛϦϯΫ͢Δखؒ ֎෦πʔϧΛ͍·͠ΐ͏ • Skype, Facebook
MessengerͳͲ
ө૾ ϑϨʔϜΛ·Δ͝ͱૹΕͳΜͱ͔ͳΔ • ωοτϫʔΫͷଳҬґଘͰ͋Δ͕… • ਅ໘ʹΖ͏ͱ͢Δͱ͜Εେม ֎෦πʔϧϥΠϒϥϦΛ͍·͠ΐ͏ • Skype, Facebook
Messenger, GStreamer • GStreamerө૾ૹΛ͍͍ײ͡ʹͯ͘͠ΕΔπʔϧ • GStreameroF͚ͷϥΠϒϥϦ͕͋ΔͷͰϓϩάϥϜ͔Βୟ͖͍͢
ͦͷଞσʔλ௨৴ ͍USBέʔϒϧΛͬͯྑ͍͕… • ͔͠͠ɺੈͷதʹศརͳϚΠίϯ͕ͨ͘͞Μ͋Δ • RaspberryPi, Arduino Yun, ESP32, ESP8266
௨৴ํࣜ • WiFi, BLE ϓϩτίϧ • UDP, TCP, HTTP, OSC
ͦͷଞσʔλ௨৴ UDP, TCP • ͱΓ͋͑ͣ͜ΕΛ͑௨৴Ͱ͖ΔɺγϦΞϧ௨৴ײ֮ͰσʔλΛૹΕΔ • UDP੍ޚΛͯ͘͠Εͳ͍ͷͰɺ࠷খϑϨʔϜʹऩΊΔίπ͕ඞཁͩͬͨΓ͢Δ • ΞϓϦέʔγϣϯϨΠϠʔͷϓϩτίϧΛࣗͰߟ͑Δඞཁ͕͋Δɺ૬ޓ௨৴ͷ߹ϙʔτΛ͚Δඞཁ͕͋Δ HTTP
• ͋Μ·Θͳ͍ɺதԝूݖతͳγεςϜΛ࡞Δ߹ศར͔ OSC • UDPϕʔεͰύʔα͕༻ҙ͞Ε͍ͯΔͷͰศར • ϥΠϒϥϦͷछྨ͕৭ʑ͋ΔʢରԠϓϥοτϑΥʔϜ͕ଟ͍ʣ
έʔεελσΟ1 - ScalableBody https://lab.rekimoto.org/projects/3733-2/ http://www.0x0c.me/projects/scalable_body
γεςϜߏ - ֓ཁ ιϑτΣΞ ϋʔυΣΞ WiFi
γεςϜߏ - ϩϘοτଆ 4ͭͷαϒγεςϜͷΩϝϥ • WindowsʢThetaө૾ͷૹ༻ʣ • ESP8266ʢ৳ॖػߏ੍ޚɾԕִૢ࡞༻ʣ • ArduinoʢOmni-wheelϩϘ੍ޚ༻ʣ
• iPod touchʢϏσΦ௨༻ʣ ϚΠίϯपΓΑ͋͘Δߏʢͱࢥ͏ʣ • ϚΠίϯΛϚΠίϯ੍͕ޚ͢Δʢίϓϩηοαʣ iPod touchWindowsͱ౷߹Ͱ͖Δͱࢥ͏
γεςϜߏ - ιϑτΣΞଆ 2ͭͷαϒγεςϜͷΩϝϥ • ClientʢThetaө૾ͷӾཡ+ϩϘͷԕ੍ִޚʣ • SkypeʢϏσΦ௨ʣ • ͲͪΒ1ͭͷύιίϯ্Ͱಈ࡞
ClientoFͰ࣮ͨ͠ • ө૾GStreamerͰड৴ˠٿʹςΫενϟϚοϓ • WindowsଆͷGStreamer͕ө૾Λૹ͍ͯ͠Δ • ϩϘͷૢ࡞WiFiܦ༝ͰESP8266ʹUDPͰσʔλΛૹ৴
ࡉ͔͍ ϩϘ͕ଓ͢ΔWiFiͲͷΑ͏ʹઃఆ͍ͯ͠Δ͔ʁ • ܾΊଧͪͷSSID/PassΛϑΝʔϜΣΞʹॻ͖͍ͯ͠Δ • μΠϫɾελδΦɾσϞ༻AirMacͷ3ͭΛ Γସ͑ΒΕΔΑ͏ʹ͍ͯ͠Δ • λΫτεΠονͰΓସ͑Մೳ •
σόοά༻ͷOLEDΛண͍ͯ͠Δ • ଓঢ়گɾड৴σʔλͷදࣔΛߦ͏
έʔεελσΟ2 - CASPER https://lab.rekimoto.org/projects/casper/
γεςϜߏ - ֓ཁ Windows + oFͰ࣮ • Kinect+ϓϩδΣΫλ+Windows PC +
Arduinoʢۭؾ๒ʣ • KinectΛ·ͱʹ৮ΔͨΊʹWindowsΛ࠾༻ • WindowsϓϩάϥϛϯάΒͳ͍ͷͰC++͕͑ΔoFΛ࠾༻ • oF+VisualStudio͕ΰϛʢखಈͰύεΛ௨͢ʣ • 1ͭͷόΠφϦʹinstructor, studentͷ2ͭͷϞʔυΛ࣮ ԻແઢϚΠΫ+εϐʔΧʔΛԆ • ωοτڥ͕ͳ͔ͬͨͷͰSkype͕͑ͳ͔ͬͨ
None
γεςϜߏ - ʢ̍ʣ ௨৴෦ • boost asioΛ࠾༻ • oFͷboost1.0ͳͷͰasio͕͑ΔόʔδϣϯʹແཧΓΞοϓσʔτ •
boost asioΛϥοϓ͢ΔϥΠϒϥϦΛࣗ࡞ • ਓؒ෦+Depthը૾ͷ2ຕΛಉ࣌ʹૹ৴͢ΔϥΠϒϥϦ • ؆୯ͳจࣈྻΛૹ৴͢ΔϥΠϒϥϦ • ը૾Λޮతʹૹ͢ΔͨΊʹTCPͷδϟϯϘϑϨʔϜΛར༻ • TCPͷMTUΛ֦ு͢Δن֨ ʢWindowsʹಛผͳઃఆ͕ඞཁɺඪ४ن͕֨ͳ͍=ಠࣗن֨ʣ
γεςϜߏ - ʢ̎ʣ ਓؒ෦ͷநग़ • Kinect SDKΛ͏ͱΧϝϥը૾தͷਓؒ෦ͷϐΫηϧ͕Θ͔Δ • ਓ͕ؒऩ·ΔαΠζʹcrop͢Δʢը૾ͷσʔλྔݮʣ •
ਓؒͰͳ͍ϐΫηϧΛࠇͰృΓͭͿ͢ʢਓؒ෦ͷΈ߹͢ΔͨΊʣ • jpgʹѹॖͯ͠ૹ͢ΔͨΊಁ໌৭Λѻ͑ͳ͍ͷͰృΓͭͿ͍ͯ͠Δ • ຊϚθϯλɺࣗવքͰرগͳ৭ͷํ͕ྑ͍ Depthը૾ͷૹ • ਓؒ෦ͷநग़ͱಉ࣌ʹDepthը૾crop͢Δ • ਓؒը૾, Depthը૾, ݪ, αΠζใΛ·ͱΊͯૹ͢Δʢcrop͍ͯ͠ΔͨΊݪ, αΠζใ͕ඞཁʣ ը૾શ෦jpgܗࣜʢΤϯίʔυ͍ͯ͠ͳ͍ʣ
έʔεελσΟ3 - MatsudaHead
MatsudaHead - ֓ཁ ಄෦ணܕΣΞϥϒϧΧϝϥ • ྐྵຊઌੜͷີணऔࡐͷͱ͖ϑοταϧબखʹணͯ͠Βͬͨ ߏ • RaspberryPi Zero
• RaspberryPi༻Χϝϥ • LiPoόοςϦʔ • ϔουόϯυ • ࣗ࡞εΠονج൘ʢը։࢝ɾఀࢭʣ
MatsudaHead - ᝑମσβΠϯ • ϔουόϯυʹϚΠίϯ+Χϝϥ • ΧϝϥέʔϒϧΛ͍ͷʹมߋͨ͠ʢઍੴిʹέʔϒϧ͚ͩചͬͯΔʣ • LiPoࠊϙʔνʹಀͨ͠ʢ಄෦ʹࡌ͢Δεϖʔε͕ͳ͔ͬͨʣ
ϓϩάϥϜɾج൘ • ిݯೖ࣌ʹࣗಈͰpythonεΫϦϓτ͕࣮ߦ͞ΕΔ • ըͷ։࢝ɾఀࢭλΫτεΠον͕͍ͨج൘Λ࡞ͬͨ • εΠονΛԡͨ͢ͼʹըͷ։࢝ɾఀࢭ͕ΓସΘΔ • ঢ়ଶΛࣔ͢LEDࡌͨ͠ʢLEDɿిݯ, ɿ౮࣌ըதʣ
༨ஊ
ܦݧஊ oFϑϨʔϜϫʔΫͱͯ͠ऴΘ͍ͬͯΔ • ϓϩάϥϛϯάύϥμΠϜ͕ࠈ • OOPΛཧղ͍ͯ͠ͳ͍ਓ͕࣮͍ͯ͠Δ • όʔδϣϯΛগ͠Ͱ্͛Δͱಈ͔ͳ͘ͳΔ • ༷ʑͳaddonόʔδϣϯґଘ͍ͯ͠Δʢׂͱಈ͔ͳ͍ʣ
• Ϗϧυ͕࣌ؒࢮ͵΄Ͳ͍ • ͦΕͰਓۤ௧ΛΓӽ͑ͯoFΛ͏ʢͦͷ͔࣌͠ඞཁͳ͍ϓϩάϥϜ͔ͩΒʣ
Yet another choice to develop a telepresence system… Webܥʹڧ͍ਓ •
WebRTCͱ͔ͬͯΈͯྑ͍͔ • WebपΓͷٕज़ʮʮਐาʯʯ͕ૣ͍ͷͰ৽ͯ͘͠ਖ਼͍͠ใΛؤுͬͯ୳ͦ͏ • ΠϯλϥΫςΟϒͳUIۤख͔ʢͰ͖ͳ͍͜ͱͳ͍͕৭ʑςΫχοΫ͕ඞཁʣ ϚΠίϯ • ΨνΈࠐΈ͋·Γ͓͢͢Ί͠ͳ͍ʢͱΓ͋͑ͣArduino͔RaspberryPi͓͚ͬͯʣ • ͔ͳΓ׳Ε͕ඞཁɾσόοά͕େม • ੑೳϖϦϑΣϥϧ͕γϏΞͳ߹ผϚΠίϯΛࢹʹೖΕΑ͏ • ಈ࡞पɺϝϞϦɺSPIGPIOͷͳͲ
ϓϩάϥϛϯάʹࣗͷ͋Δਓ γεςϜΛ࡞Δͱ͖ʹੜ·ΕΔ෭࢈ΛOSSͱͯ͠ެ։͢Δָ͠Έ • ͖Ε͍ʹϓϩάϥϛϯά͠Α͏ͱ͢ΔʹεΩϧΞοϓɾσόοάʹཱͭ • γεςϜͷΞʔΩςΫνϟɾίʔυΛཧ͢Δ͖͔͚ͬʹͳΔ • ੈքʹίʔυΛͰ͖ΔʢOSS׆ಈࣗମΞϐʔϧϙΠϯτʣ • ͕ࣗੜΜͩ෭࢈ʹ12ݸ
• ࠓͰΑ͘͏ͷ͕͍͔ͭ͘