Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テレプレゼンスシステムを作る時のノウハウ共有会

Akira MATSUDA
October 09, 2018

 テレプレゼンスシステムを作る時のノウハウ共有会

Akira MATSUDA

October 09, 2018
Tweet

Other Decks in Research

Transcript

  1. લఏ ͋Δఔ౓ࣗ෼Ͱ࣮૷͍ͨ͠ • UIΛࣗલͰ༻ҙͰ͖Δ • ϩά΍ૢ࡞ཤྺͷه࿥ػೳΛ౷߹Ͱ͖Δ C++, macOSʹ׳Ε͍ͯΔ • openFrameworks,

    Cinder͸࢖͑Δ • macOSωΠςΟϒ΋࣮૷Ͱ͖Δ • Unity͸࢖ͬͨ͜ͱ͕ຆͲແ͍ʢC#Λ࢖ͬͨ͜ͱ͕ͳ͍͔Βʣ • Webͱ͔΍Γͨ͘ͳ͍ʢjsͱ͔ॻ͖ͨ͘ͳ͍ɻσόοά͕΍ΓͮΒ͍ɻʣ
  2. ඞཁͳཁૉ Ի੠ • Skype, Facebook Messenger ө૾ • Skype, Facebook

    Messenger, GStreamer ͦͷଞσʔλ௨৴ʢϩϘοτ΍σόΠεΛԕִૢ࡞͢Δ༻ʣ • UDP, TCP, HTTP, OSC
  3. ө૾ ϑϨʔϜΛ·Δ͝ͱૹΕ͹ͳΜͱ͔ͳΔ • ωοτϫʔΫͷଳҬґଘͰ͸͋Δ͕… • ਅ໘໨ʹ΍Ζ͏ͱ͢Δͱ͜Ε΋େม ֎෦πʔϧ΍ϥΠϒϥϦΛ࢖͍·͠ΐ͏ • Skype, Facebook

    Messenger, GStreamer • GStreamer͸ө૾఻ૹΛ͍͍ײ͡ʹͯ͘͠ΕΔπʔϧ • GStreamer͸oF޲͚ͷϥΠϒϥϦ͕͋ΔͷͰϓϩάϥϜ͔Βୟ͖΍͍͢
  4. γεςϜߏ੒ - ϩϘοτଆ 4ͭͷαϒγεςϜͷΩϝϥ • WindowsʢThetaө૾ͷ఻ૹ༻ʣ • ESP8266ʢ৳ॖػߏ੍ޚɾԕִૢ࡞༻ʣ • ArduinoʢOmni-wheelϩϘ੍ޚ༻ʣ

    • iPod touchʢϏσΦ௨࿩༻ʣ ϚΠίϯपΓ͸Α͋͘Δߏ੒ʢͱࢥ͏ʣ • ϚΠίϯΛϚΠίϯ੍͕ޚ͢Δʢίϓϩηοαʣ iPod touch͸Windowsͱ౷߹Ͱ͖Δͱࢥ͏
  5. γεςϜߏ੒ - ιϑτ΢ΣΞଆ 2ͭͷαϒγεςϜͷΩϝϥ • ClientʢThetaө૾ͷӾཡ+ϩϘͷԕ੍ִޚʣ • SkypeʢϏσΦ௨࿩ʣ • ͲͪΒ΋1ͭͷύιίϯ্Ͱಈ࡞

    Client͸oFͰ࣮૷ͨ͠ • ө૾͸GStreamerͰड৴ˠٿʹςΫενϟϚοϓ • WindowsଆͷGStreamer͕ө૾Λ఻ૹ͍ͯ͠Δ • ϩϘͷૢ࡞͸WiFiܦ༝ͰESP8266ʹUDPͰσʔλΛૹ৴
  6. γεςϜߏ੒ - ֓ཁ Windows + oFͰ࣮૷ • Kinect+ϓϩδΣΫλ+Windows PC +

    Arduinoʢۭؾ๒ʣ • KinectΛ·ͱ΋ʹ৮ΔͨΊʹWindowsΛ࠾༻ • Windowsϓϩάϥϛϯά͸஌Βͳ͍ͷͰC++͕࢖͑ΔoFΛ࠾༻ • oF+VisualStudio͕ΰϛʢखಈͰύεΛ௨͢౳ʣ • 1ͭͷόΠφϦʹinstructor, studentͷ2ͭͷϞʔυΛ࣮૷ Ի੠͸ແઢϚΠΫ+εϐʔΧʔΛ௒Ԇ௕ • ωοτ؀ڥ͕ͳ͔ͬͨͷͰSkype͕࢖͑ͳ͔ͬͨ
  7. γεςϜߏ੒ - ޻෉ʢ̍ʣ ௨৴෦෼ • boost asioΛ࠾༻ • oFͷboost͸1.0ͳͷͰasio͕࢖͑Δόʔδϣϯʹແཧ΍ΓΞοϓσʔτ •

    boost asioΛϥοϓ͢ΔϥΠϒϥϦΛࣗ࡞ • ਓؒ෦෼+Depthը૾ͷ2ຕΛಉ࣌ʹૹ৴͢ΔϥΠϒϥϦ • ؆୯ͳจࣈྻΛૹ৴͢ΔϥΠϒϥϦ • ը૾Λޮ཰తʹ఻ૹ͢ΔͨΊʹTCPͷδϟϯϘϑϨʔϜΛར༻ • TCPͷMTUΛ֦ு͢Δن֨
 ʢWindowsʹಛผͳઃఆ͕ඞཁɺඪ४ن͕֨ͳ͍=ಠࣗن֨ʣ
  8. γεςϜߏ੒ - ޻෉ʢ̎ʣ ਓؒ෦෼ͷநग़ • Kinect SDKΛ࢖͏ͱΧϝϥը૾தͷਓؒ෦෼ͷϐΫηϧ͕Θ͔Δ • ਓ͕ؒऩ·ΔαΠζʹcrop͢Δʢը૾ͷσʔλྔ࡟ݮʣ •

    ਓؒͰ͸ͳ͍ϐΫηϧΛࠇͰృΓͭͿ͢ʢਓؒ෦෼ͷΈ߹੒͢ΔͨΊʣ • jpgʹѹॖͯ͠఻ૹ͢ΔͨΊಁ໌৭Λѻ͑ͳ͍ͷͰృΓͭͿ͍ͯ͠Δ • ຊ౰͸Ϛθϯλ౳ɺࣗવքͰ͸رগͳ৭ͷํ͕ྑ͍ Depthը૾ͷ఻ૹ • ਓؒ෦෼ͷநग़ͱಉ࣌ʹDepthը૾΋crop͢Δ • ਓؒը૾, Depthը૾, ݪ఺, αΠζ৘ใΛ·ͱΊͯ఻ૹ͢Δʢcrop͍ͯ͠ΔͨΊݪ఺, αΠζ৘ใ͕ඞཁʣ ը૾͸શ෦jpgܗࣜʢΤϯίʔυ͍ͯ͠ͳ͍ʣ
  9. MatsudaHead - ֓ཁ ಄෦૷ணܕ΢ΣΞϥϒϧΧϝϥ • ྐྵຊઌੜͷີணऔࡐͷͱ͖ϑοταϧબखʹ૷ணͯ͠΋Βͬͨ ߏ੒ • RaspberryPi Zero

    • RaspberryPi༻Χϝϥ • LiPoόοςϦʔ • ϔουόϯυ • ࣗ࡞εΠονج൘ʢ࿥ը։࢝ɾఀࢭʣ
  10. MatsudaHead - ޻෉ ᝑମσβΠϯ • ϔουόϯυʹϚΠίϯ+Χϝϥ • ΧϝϥέʔϒϧΛ௕͍΋ͷʹมߋͨ͠ʢઍੴి঎ʹέʔϒϧ͚ͩചͬͯΔʣ • LiPo͸ࠊϙʔνʹಀͨ͠ʢ಄෦ʹ౥ࡌ͢Δεϖʔε͕ͳ͔ͬͨʣ

    ϓϩάϥϜɾج൘ • ిݯ౤ೖ࣌ʹࣗಈͰpythonεΫϦϓτ͕࣮ߦ͞ΕΔ • ࿥ըͷ։࢝ɾఀࢭ͸λΫτεΠον͕෇͍ͨج൘Λ࡞ͬͨ • εΠονΛԡͨ͢ͼʹ࿥ըͷ։࢝ɾఀࢭ͕੾ΓସΘΔ • ঢ়ଶΛࣔ͢LED΋౥ࡌͨ͠ʢ྘LEDɿిݯ, ੺ɿ఺౮࣌͸࿥ըதʣ
  11. Yet another choice to develop a telepresence system… Webܥʹڧ͍ਓ •

    WebRTCͱ͔࢖ͬͯΈͯ΋ྑ͍͔΋ • WebपΓͷٕज़͸ʮʮਐาʯʯ͕ૣ͍ͷͰ৽ͯ͘͠ਖ਼͍͠৘ใΛؤுͬͯ୳ͦ͏ • ΠϯλϥΫςΟϒͳUI͸ۤख͔΋ʢͰ͖ͳ͍͜ͱ͸ͳ͍͕৭ʑςΫχοΫ͕ඞཁʣ ϚΠίϯ • Ψν૊ΈࠐΈ͸͋·Γ͓͢͢Ί͠ͳ͍ʢͱΓ͋͑ͣArduino͔RaspberryPi࢖͓͚ͬͯʣ • ͔ͳΓ׳Ε͕ඞཁɾσόοά͕େม • ੑೳ΍ϖϦϑΣϥϧ਺͕γϏΞͳ৔߹͸ผϚΠίϯΛࢹ໺ʹೖΕΑ͏ • ಈ࡞प೾਺ɺϝϞϦɺSPI΍GPIOͷ਺ͳͲ