ããã«ã¡ã¯ååïŒ ç§ãã¡ã®å°ããªäŒç€Ÿ
Vizerraã¯ãããŸããŸãª
顧客åãã«ãæ¡åŒµçŸå®ããã³ä»®æ³çŸå®ïŒä»¥äžARVRïŒã®åéã§ã«ã¹ã¿ã ãããžã§ã¯ããšèªç€Ÿè£œåãéçºããŠã
ãŸã ã ã»ãšãã©ãã¹ãŠã®ãããžã§ã¯ãã§ãæ°ããäºæ³å€ã®ãœãªã¥ãŒã·ã§ã³ãèãåºãå¿
èŠããããŸãã ARVRåžå Žã¯éåžžã«è¥ãããããžã§ã¯ãäžã«å€ãã®ãœãªã¥ãŒã·ã§ã³ãäœæãããŸãã ãããã£ãŠããã®éçºãçºçããŸãã
Google Lab Labã³ã³ãã¹ãã®äžç°ãšããŠAlexander Lavrovãåè³ããèšäº ã
ãã®ç¹ã§ããããžã§ã¯ãã§ã®äœ¿çšã念é ã«çœ®ããŠæ°ããæ©åšãåžžã«è©ŠããŠããŸãã ä»æ¥ã¯ãProject Tangoãªã©ããã·ã¢ã®ã€ã³ã¿ãŒãããäžã§æ¢ã«æåã§ãããç
§æãäžååãªããã€ã¹ã«ã€ããŠã話ããããšæããŸãã ããæè¿ãããã¯ã¿ã³ãŽã«ãªãã圌ã®äººçã®åæ¥æ®µéãžã®ç§»è¡ã瀺ãããšã³ããŠãŒã¶ãŒåãã®ããã€ã¹ãç»å Žãå§ããŸããã
Project Tangoãšã®ç¥ãåãã¯ããã®æ¥ã«å§ãŸããŸããããã®ã¢ã€ãã¢ã¯ãå€ãã®ãããžã§ã¯ãã§ããŒã«ãŒã¬ã¹ãã©ããã³ã°ãè©Šã¿ãããšããå§ãŸããŸããã
å®éšçšã®ããã€ã¹ãå
¥æããã®ã¯éåžžã«é£ããããšãããããŸããã Skolkovo Foundationã¯ããã·ã¢ã®Googleãªãã£ã¹ã玹ä»ããŠãããŸããã ç·ãã¡ã¯éåžžã«åå¿ããããåžæããããã€ã¹ãæã«å
¥ããŸããã
å¿
èŠãªçµæãè¿
éã«éæãã
Startup Villageã§ãã¹ããè¡ããéææãæã£ãŠããã€ã¹ãGoogleã«è¿ããŸããã
æ°ãæåã«ã
Google Device Labãéå§ãããããšãç¥ããŸãããç§ãã¡ã¯ããéãæã£ãŠãéãæãå¿
èŠããããšå€æããŸããã èšäºãæžãéçšã§ããã®æŠå¿µã¯æ°åå€æŽãããŸããã 次ã®ãããžã§ã¯ãã«ã€ããŠèª¬æããã®ã§ã¯ãªãããã€ãã®ããã«äŸ¿å©ãªããšããããã£ãã®ã§ãã ãã®çµæãæäžåŸãç§ãã¡ã¯ããã¯ãããã¹ãŠã®ãã³ããèæ
®ã«å
¥ããŠãProject Tangoã®ãã·ã¢èªã®å®å
šãªã¬ãã¥ãŒãæžãããšãæã圹ç«ã€ãšå€æããŸããã 次ã«ããã®èšäºãèªãã åŸã«èªè
ãããªãå®å
šãªçµµãèŠãããšãã§ããããã«ãç°ãªããœãŒã¹ãçµåãå§ããŸããã
ãããŠãããããã£ãšæ¥œããããããã«ãéå»ã®
ãããžã§ã¯ãã® 1ã€ã§ããè»çšæ©åšã®ã¢ãã¡ãŒã·ã§ã³ãããã¥ã¢ã¢ãã«ãã³ã³ãã³ããšããŠäœ¿çšããŸããã
ããŒããŠã§ã¢
ãŸããããã€ã¹èªäœãäœã§ããããèŠãŠã¿ãŸãããã
ãã¹ãã®æç¹ã§ãå©çšå¯èœãª2ã€ã®å€æŽããããŸããã
- ã¿ãã¬ãããã€ãšããŒã¹ããŒã³ãã éåžžã人ã
ãã¿ã³ãŽã«ã€ããŠè©±ããšãã圌ãã®å€§å€æ°ã¯ãããæ³åããŸãã
- é»è©±ãããŒããããã æ£çŽãªãšãããç§ãã¡ã¯æ¬åœã«ãããèªåã®æã§æã£ãŠãã人ã¯èª°ãç¥ããŸããã
Project Tangoã¿ãã¬ããéçºãããã®äžéšã§ãããå®éšçšã®7ã€ã³ãYellowstoneã¿ãã¬ãããå
¥æããŸããã
åºæ¬çãªã¿ãã¬ããèªäœã¯ãååãšããŠé©ãããšã§ã¯ãããŸããã ãã®ããã€ã¹ã«ã¯ã2.3 GHzã¯ã¢ããã³ã¢Nvidia Tegra K1ããã»ããµã128GBãã©ãã·ã¥ã¡ã¢ãªã4ã¡ã¬ãã¯ã»ã«ã«ã¡ã©ã1920x1200ã®ã¿ããã¹ã¯ãªãŒã³è§£å床ã4G LTEãå«ãŸããŠããŸãã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯Android 4.4ïŒKitKatïŒã䜿çšããŸãã 5.0æªæºã®ã·ã¹ãã ã«ã¯ãã§ã«æ
£ããŠããŸããã æšå¹Žã顧客ã®æå°èŠä»¶ã¯Android 5.0ãæèŒããããã€ã¹ã®ãµããŒãã§ããã
ããã€ã¹ã¯éçºãããã®äžéšã§ããããšã³ããŠãŒã¶ãŒåãã®ããã€ã¹ã§ã¯ãªãããšã«æ³šæããŠãã ããã ãããã¿ã€ãã®å ŽåãèŠæ ããããã䜿çšããã®ã«äŸ¿å©ã§ãïŒ ããã€ã¹ã®å
å¡«ã¯ææ°ã®ãã®ãšã¯ã»ã©é ãã§ãããããã€ã¹ã¯å®å
šã«æ©èœããŸãã æããã«ãã·ãªã¢ã«ããã€ã¹ã§ã¯ãTangoãã©ãããã©ãŒã ã䜿çšãããšã³ãã¡ãŒã«ãŒã¯ãææ°ã®ããŒããŠã§ã¢ãšOSãç°¡åã«äœ¿çšã§ããŸãã
çµã¿èŸŒã¿ã»ã³ãµãŒã®ã»ããã¯ãã¯ããã«èå³æ·±ãããã«èŠããŸãã çŸæç¹ã§ã¯ããããæãããã³ãã³ã°ããããã¿ãã¬ããã®ããã§ãã ããããã©ã®çšåºŠæ£ç¢ºã«äœ¿çšãããŠããããããã«æ€èšããŸãã
- éçŒã¢ãŒã·ã§ã³è¿œè·¡ã«ã¡ã©
- 3Dããã¹ã²ãŒãž
- å é床èš
- ç°å¢å
ã»ã³ãµãŒ
- ããã¡ãŒã¿ãŒ
- ã³ã³ãã¹
- GPS
- ãžã£ã€ãã¹ã³ãŒã
次ã®å³ã§ã¯ãããã€ã¹äžã®å€éšã»ã³ãµãŒã®äœçœ®ãèæ
®ããããšãã§ããŸãã
ãå®éã«å
éšã«ãããã®ããèŠãã人ã®ããã«ãçµã¿ç«ãŠãããŠããªãããã€ã¹ã®åçãæ·»ä»ãââãŸãã 圌ãã¯èªåã§ãããããŸããã§ããã é¢çœãåçãæ®ã£ãŠãããslashgear.comã®ååã«æè¬ããŸãã
Googleã¯ãTangoãšAndroidã¯ãªã¢ã«ã¿ã€ã ããŒããŠã§ã¢ã·ã¹ãã ã§ã¯ãªããšèŠåããŠããŸãã äž»ãªçç±ã¯ãAndroid Linuxã«ãŒãã«ãããã€ã¹äžã®ããã°ã©ã ã®å®è¡æéãä¿èšŒã§ããªãããšã§ãã ãã®ãããProject Tangoã¯ãªã¢ã«ã¿ã€ã ãœãããŠã§ã¢ã·ã¹ãã ãšèŠãªãããšãã§ããŸãã
ããã€ã¹ã®åäœåç
éçºäžã«åŸã§èª¬æããå
容ãæ確ã«ããããã«ãããã€ã¹ã®åäœåçãç解ããŸãããã
ãŸããTangoã¯ããããå Žæã§è¡šç€ºãããŠããå®éšçãªã¿ãã¬ããã§ã¯ãªããã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã䜿çšããŠããã€ã¹ãåšå²ã®äžçãšã®é¢ä¿ã§ããã€ã¹ã®äœçœ®ãç解ã§ããããã«ããæ°ããã¹ã±ãŒã©ãã«ãªãã©ãããã©ãŒã ã§ããããšãç解ããå¿
èŠããããŸãã ã€ãŸããã¹ããŒããã©ã³ãŸãã¯ã¿ãã¬ããã®éåžžã®ã»ã³ãµãŒã«ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã»ã³ãµãŒãè¿œå ãããããšãåæãšããŠããŸãã
ãã®ããã€ã¹ã¯ã人éã®èŠèŠè£
眮ã䜿çšããŠéšå±ã«å
¥ãæ¹æ³ãèŠã€ããéšå±ã®ã©ãã«ããããåºãå£ãåšå²ã®ç©äœãç¥ãæ¹æ³ãšåæ§ã«æ©èœããŸãã ãããã®æŽå¯ã¯ãç§ãã¡ãæ¥åžžç掻ã®äžã§ã©ã®ããã«ç©ºéã移åãããã«äžå¯æ¬ ãªéšåã§ãã
Tangoã¯ãã¢ãã€ã«ããã€ã¹ã«ãã¢ãŒã·ã§ã³ãã©ããã³ã°ïŒã¢ãŒã·ã§ã³ãã©ããã³ã°ïŒããšãªã¢ã©ãŒãã³ã°ïŒç©ºéé åã®ç 究ïŒãããã³æ·±åºŠç¥èŠïŒæ·±åºŠç¥èŠïŒã®3ã€ã®äž»èŠãªæè¡ã䜿çšããŠãåšå²ã®äžçã§ã®äœçœ®ã決å®ããæ©èœãæäŸããŸãã ããããã«ç¬èªã®ç¬èªã®æ©èœãšå¶éããããŸãã ããããçµã¿åãããããšã§ãç°å¢å
ã§ããã€ã¹ãæ£ç¢ºã«é
眮ã§ããŸãã
ã¢ãŒã·ã§ã³ãã©ããã³ã°ãã®ãã¯ãããžãŒã«ãããããã€ã¹ã¯3D空éã§ã®ç¬èªã®åããšæ¹åã远跡ã§ããŸãã å¿
èŠã«å¿ããŠããã€ã¹ãæ©ãåãããšãã§ããŸããããã€ã¹ãã©ãã«ãããã©ã®æ¹åã«ç§»åããŠããããããããŸãã
ãã®æè¡ã®çµæã¯ã空éå
ã®ããã€ã¹ã®çžå¯Ÿçãªäœçœ®ãšæ¹åã§ãã
ã¢ãŒã·ã§ã³ãã©ããã³ã°ã®éèŠãªçšèªã¯ãããã€ã¹ã®äœçœ®ãšæ¹åã®çµã¿åããã§ããããŒãºã§ãã çšèªã¯ãççŽã«èšã£ãŠãéåžžã«å
·äœçã«èãããŸãããããããGoogleã¯ããã¥ãŒãã³ãã·ã³ã€ã³ã¿ãŒãã§ã€ã¹ãæ¹åããããšããèŠæã匷調ããããšã«ããŸããã éåžžã姿å¢ãšã¯ã人äœããšãäœçœ®ãäœãé ãæ足ã®äœçœ®ã®ããšã§ãã
Tango APIã¯ããŠãŒã¶ãŒã®ããã€ã¹ã®äœçœ®ãšæ¹åã6èªç±åºŠã§æäŸããŸãã ããŒã¿ã¯ã移åçšã®ã¡ãŒãã«åäœã®ãã¯ãã«ãšå転çšã®åå
æ°ã®2ã€ã®äž»èŠéšåã§æ§æãããŠããŸãã ããŒãºã¯ããã¹ãã€ã³ãã®ç¹å®ã®ãã¢ã«å¯ŸããŠæå®ãããŸãã åç
§ã·ã¹ãã ã䜿çšãããŸã-åç
§ããã£ã®å
šäœãããã«é¢é£ä»ãããã座æšã·ã¹ãã ãããã³æé
åç
§ã·ã¹ãã ãããã«é¢é£ããŠãããã£ã®åããèæ
®ãããŸãã
ããã¯ãTangoã®ã³ã³ããã¹ãã§ã¯ãç¹å®ã®ããŒãºãèŠæ±ãããšãã«ã移åã®ããŒã¹ãã€ã³ãã«å¯ŸããŠçžå¯Ÿçã«ç§»åããã¿ãŒã²ãããã€ã³ãã瀺ãå¿
èŠãããããšãæå³ããŸãã
Tangoã¯ãèŠèŠæ
£æ§èµ°è¡è·é¢èšïŒèŠèŠæ
£æ§èµ°è¡è·é¢èšãŸãã¯VIOïŒã䜿çšããŠã¢ãŒã·ã§ã³ãã©ããã³ã°ãå®è£
ããŠããŸãã
ãªãã¡ããªã¯ãã«ã¡ã©ïŒãŸãã¯ã«ã¡ã©ïŒã«åãä»ããããäžé£ã®ç»åãåæããããšã«ããããããããŸãã¯ãã®ä»ã®ããã€ã¹ã®äœçœ®ãšæ¹åãè©äŸ¡ããæ¹æ³ã§ãã æšæºã®èŠèŠãªãã¡ããªã§ã¯ãã«ã¡ã©ã®ç»åã䜿çšããŠããããã®ç»åã®ããŸããŸãªèŠèŠçç¹åŸŽã®çžå¯Ÿäœçœ®ãæ€çŽ¢ããããšã«ãããããã€ã¹ã®äœçœ®ã®å€åãæ€åºããŸãã ããšãã°ãé ããã建ç©ã®åçãæ®ããããããè¿ãè·é¢ããå¥ã®åçãæ®ã£ãå Žåãåçå
ã®å»ºç©ã®ã¹ã±ãŒã«ãšäœçœ®ã®å€åã«åºã¥ããŠã«ã¡ã©ã®ç§»åè·é¢ãèšç®ã§ããŸãã 以äžã«ãèŠèŠçãªå
åã®ãã®ãããªæ€çŽ¢ã®äŸãå«ãç»åãèŠãããšãã§ããŸãã
ç»åã¯
NASAã®ææç©ã§ãã
èŠèŠæ
£æ§ãªãã¡ããªã¯ãããã€ã¹ã®å転ãšç©ºéã§ã®å é床ã远跡ã§ããæ
£æ§ã¢ãŒã·ã§ã³ã»ã³ãµãŒã§èŠèŠãªãã¡ããªãè£å®ããŸãã ããã«ãããããã€ã¹ã¯3D空éã§ã®æ¹åãšåããããã«æ£ç¢ºã«èšç®ã§ããŸãã GPSãšã¯ç°ãªããVIOã䜿çšãã远跡ãå±å
ã§æ©èœããŸãã ããããæ¯èŒçå®äŸ¡ãªå±å
ããã²ãŒã·ã§ã³ã·ã¹ãã ãäœæããããã®å€æ°ã®ã¢ã€ãã¢ã®åºçŸã®çç±ã§ããã
èŠèŠæ
£æ§ãªãã¡ããªã¯ãæšæºã®
Android Game Rotation Vector APIãšæ¯èŒããŠç©ºéæ¹åã®å®çŸ©ãæ¹åããŸãã èŠèŠæ
å ±ã䜿çšããŠãå転ãšç·åœ¢å é床ãããæ£ç¢ºã«è©äŸ¡ããŸãã ãããã£ãŠãæ¢ç¥ã®åé¡ãæé€ããããã«ã以åããç¥ãããŠããæè¡ã®çµã¿åãããæåããŠããããšã芳å¯ãããŸãã
äžèšã®ãã¹ãŠãå¿
èŠã§ããããã空éå
ã§å転ãšè¿œè·¡ã®äœçœ®ãçµã¿åãããå Žåãã¢ããªã±ãŒã·ã§ã³ã®å¯Ÿå¿ãã3D空éã§ããã€ã¹ãä»®æ³ã«ã¡ã©ãšããŠäœ¿çšã§ããŸãã
ã¢ãŒã·ã§ã³ãã©ããã³ã°ã¯ã³ã¢ãã¯ãããžãŒã§ãã 䜿ãæ¹ã¯ç°¡åã§ãããããã€ãã®åé¡ããããŸãã
- ãã®ãã¯ãããžãŒã¯ããŠãŒã¶ãŒã®èº«å
ãæ£ç¢ºã«ææ¡ããŠããŸããã ã¿ã³ãŽã§ã¯ããã®ã¿ã¹ã¯ãæ
åœããä»ã®ãã¯ãããžãŒã§ãããšãªã¢åŠç¿ãšæ·±åºŠç¥èŠã䜿çšããŸãã
- ã¢ãŒã·ã§ã³ãã©ããã³ã°ã¯ã以åã®ã»ãã·ã§ã³ããèšæ¶ãããŸããã æ°ããã¢ãŒã·ã§ã³ãã©ããã³ã°ã»ãã·ã§ã³ãéå§ãããã³ã«ããã©ããã³ã°ãåã³éå§ãããçŸåšã®ã»ãã·ã§ã³ã®éå§äœçœ®ã«é¢é£ããäœçœ®ãå ±åãããŸãã
- ãŸããå®éšã§å€æãããšãããã€ã¹ãæ¯ããšãã©ããã³ã°ã倱ãããŸãã ããã¯è»ã§ããã䜿çšãããšãã«éåžžã«æçœã§ããã
- ããã€ã¹ãé·è·é¢ã«ããã£ãŠé·æéã«ããã£ãŠç§»åãããšãå°ããªèª€å·®ãèç©ããã空éå
ã®çµ¶å¯Ÿäœçœ®ã«å€§ããªèª€å·®ãçããå¯èœæ§ããããŸãã ãããããããªãããïŒããªããïŒãçºçããŸãã ããã¯ãå®äžçããåçšããå¥ã®çšèªã§ãã éåžžããã®èŠä»¶ãšã¯ã颚ãŸãã¯æµãã®åœ±é¿ãããã³æµãã«ãã£ãŠéã°ããæ°·ã®åãã«ãããèªè¡äžã®è¹è¶ã®èªè·¯ããã®éžè±ãæå³ããŸãã ããªããã«å¯ŸåŠããããã«ãTangoã¯ãšãªã¢ã©ãŒãã³ã°ã䜿çšããŠãããã®ãšã©ãŒãä¿®æ£ããŸãã ãã®ç¹ã«ã€ããŠã¯ãèšäºã®æ¬¡ã®éšåã§è©³ããæ€èšããŸãã
<img
src = "
habrastorage.org/files/72c/374/358/72c37435811a46ecbce09b4ce4952b6c.png " align = "right" />
ãšãªã¢åŠç¿äººã
ã¯èªåãã©ãã«ããããèªèã§ããèªåèªèº«ã«ã€ããŠç¥ã£ãŠããæšèãã€ãŸãåºå
¥å£ãé段ãããŒãã«ãªã©ã«æ°ã¥ãããšãã§ããŸãã Tangoã¯ãã¢ãã€ã«ããã€ã¹ã«ãåãæ©èœãæäŸããŸãã ã¢ãŒã·ã§ã³ãã©ããã³ã°ãã¯ãããžãŒã®ã¿ã®å©ããåããŠãã«ã¡ã©ãä»ããããã€ã¹ã¯ããšãªã¢ã®èŠèŠçç¹åŸŽããèªèãããŸããããããããèšæ¶ãããŸããã ãšãªã¢åŠç¿ã®å©ããåããŠãããã€ã¹ã¯ãèŠããããšããèšæ¶ãããã ãã§ãªãããã®æ
å ±ãä¿åããŠäœ¿çšããããšãã§ããŸãã ãã®æè¡ã®çµæã¯ããã§ã«ç¥ãããŠãã空éã§ã®ããã€ã¹ã®çµ¶å¯Ÿçãªäœçœ®ãšæ¹åã§ãã
Tangoã¯ãSimultaneous Localization and MappingïŒSLAMïŒã¡ãœããã䜿çšããŸããSLAMã¯ãã¢ãã€ã«ã¹ã¿ã³ãã¢ãã³ããŒã«ã§äœ¿çšãããæªç¥ã®ã¹ããŒã¹ã§å°å³ãäœæããããçŸåšã®å Žæãšç§»åè·é¢ãç£èŠããªããæ¢ç¥ã®ã¹ããŒã¹ã§å°å³ãæŽæ°ãããããæ¹æ³ã§ãã
å
¬éãããŠããã¢ãããŒãã¯ãèªåé転è»ãç¡äººèªç©ºæ©ãèªåŸåæ°Žäžè»äž¡ãæææ¢æ»è»ãããŒã ãããããããã«ã¯äººäœã®å
éšã§æ¢ã«äœ¿çšãããŠããŸãã
Tango AreaåŠç¿ã®ã³ã³ããã¹ãã§ã¯ã2ã€ã®éèŠãªã¿ã¹ã¯ã解決ããŸãã
- ã¢ãŒã·ã§ã³ãã©ããã³ã°ã䜿çšããŠååŸããè»éã®ç²ŸåºŠãåäžãããŸãã ãã®ããã»ã¹ã¯ãããªããè£æ£ããšåŒã°ããŸãã
- 以åã«èª¿æ»ããé åå
ã§ã®ããã€ã¹èªäœã®æ¹åãšäœçœ®ã ãã®ããã»ã¹ã¯ããŒã«ãªãŒãŒã·ã§ã³ãšåŒã°ããŸãã
ãããã®ã¿ã¹ã¯ãã©ã®ããã«è§£æ±ºããããã詳ããèŠãŠã¿ãŸãããã
ããªããè£æ£åè¿°ããããã«ããšãªã¢ã©ãŒãã³ã°ã¯ãããã€ã¹ããèŠããçŸå®äžçã®é åã®èŠèŠçãªå
åãèšæ¶ãããããã䜿çšããŠäœçœ®ãæ¹åãããã³åãã®ãšã©ãŒãä¿®æ£ããŸãã ããã€ã¹ã¯ãã»ãã·ã§ã³ã®åã«èŠãå ŽæãèŠããšããã®ãã¹ãç解ããŠèª¿æŽãã以åã®èŠ³æž¬ãšäžèŽããããã«ããŸãã
次ã®å³ã¯ãããªããè£æ£ã®äŸã瀺ããŠããŸãã
æåãªã¿ã³ãŽå°åãæ©ãå§ãããšããã«ãå®éã«åæã«çºçãã2ã€ã®ç°ãªãè»éãååŸããŸãã
- ããªãããã©ã£ãŠããéïŒãæ¬åœã®è»è·¡ãïŒ
- ããã€ã¹ã«ãã£ãŠèšç®ããããã¹ïŒãèšç®ãããè»è·¡ãïŒ
ç·ã®ç·ã¯ãããã€ã¹ãå®éã®ç©ºéã移åããå®éã®ãã¹ã§ãã èµ€ãç·ã¯ãæéã®çµéãšãšãã«ãèšç®ãããè»éãå®éã®è»éããã©ã®ããã«ç§»åãããã瀺ããŠããŸãã ããã€ã¹ãåç¹ã«æ»ã£ãŠã以åã«ãã®ãšãªã¢ãèŠãããšãããããšã«æ°ä»ããå Žåãããªãããšã©ãŒãä¿®æ£ããå®éã®ãã¹ã«ããããäžèŽããããã«èšç®ããããã¹ã調æŽããŸãã
ããªããè£æ£ãªãã§ã¯ãå®éã®äžçã«åŸã£ãŠä»®æ³3D空éã䜿çšããã²ãŒã ãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã¯ãé·æéã®äœ¿çšåŸã®åãã®è¿œè·¡ãäžæ£ç¢ºã«ãªãå¯èœæ§ããããŸãã ããšãã°ãã²ãŒã ã¯ãŒã«ãã®ãã¢ãçŸå®äžçã®ãã¢ãã¬ãŒã ã«å¯Ÿå¿ããŠããå Žåããšã©ãŒã«ãããã²ãŒã ã§ã¯ãã¢ãå®éã®ãã¢ãã¬ãŒã ã§ã¯ãªãå£ã«è¡šç€ºãããããšããããŸãã
ããŒã«ãªãŒãŒã·ã§ã³ãšãªã¢åŠç¿ãæå¹ã«ããŠå¿
èŠãªãšãªã¢ãééããåŸãããã€ã¹ããèŠããã®ãããšãªã¢èšè¿°ãã¡ã€ã«ïŒADFïŒã«ä¿åã§ããŸãã
ãšãªã¢ã調æ»ããADFãšããŠããŒãããããšã«ã¯ããã€ãã®å©ç¹ããããŸãã ããšãã°ãããã䜿çšããŠãããã€ã¹ã®åº§æšç³»ãæ¢åã®åº§æšç³»ã«åãããŠãã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ã®åãç©ççãªå Žæã«åžžã«è¡šç€ºãããããã«ããããšãã§ããŸãã 以äžã®ç»åã¯ãããã€ã¹ãèªèããŠãããšãªã¢ã®æ€çŽ¢ãµã€ã¯ã«ã瀺ããŠããŸãã
ADFãäœæããã«ã¯2ã€ã®æ¹æ³ããããŸãã æãç°¡åãªæ¹æ³ã¯ã
TangoExplorerã¢ããªã±ãŒã·ã§ã³ã䜿çšããã¢ããªã±ãŒã·ã§ã³ãçµæã®ADFãããŠã³ããŒãããããšã§ãã
ãŸããTango APIã䜿çšããŠã¹ããŒã¹ãæ¢çŽ¢ããã¢ããªã±ãŒã·ã§ã³å
ã§ADFãä¿åããã³ããŒãã§ããŸãã
ãšãªã¢åŠç¿ã䜿çšããéã«èŠããŠããã¹ãå€ãã®æ©èœã«æ³šæããå¿
èŠããããŸãã
- ã¿ã³ãŽã¯ãããŒã«ã©ã€ãºãããšãªã¢ã®èŠèŠçãªå€æ§æ§ã«äŸåããŸãã å€æ°ã®åäžã®éšå±ããã建ç©ãã空ã®å£ãããå®å
šã«ç©ºã®éšå±ã«ããå Žåãããã€ã¹ã®äœçœ®ãç¹å®ããããšã¯å°é£ã§ãã
- ç°å¢ã¯ãããŸããŸãªèŠç¹ãäœçœ®ãšã¯å®å
šã«ç°ãªã£ãŠèŠããå¯èœæ§ããããæéãšãšãã«å€åããå¯èœæ§ããããŸãïŒå®¶å
·ã¯ç§»åå¯èœã§ãç
§æã¯æå»ã«ãã£ãŠç°ãªããŸãïŒã ããŒã«ã©ã€ãºæ¡ä»¶ã¯ãADFãäœæããããšãã«ååšããŠããæ¡ä»¶ãšé¡äŒŒããŠããå Žåãæåããå¯èœæ§ãé«ããªããŸãã
- ç°å¢ã®å€åã«å¿ããŠãããŸããŸãªæ¡ä»¶ã§åãç©ççãªå Žæã«è€æ°ã®ADFãäœæã§ããŸãã ããã«ããããŠãŒã¶ãŒã¯çŸåšã®æ¡ä»¶ã«æãè¿ããã¡ã€ã«ãéžæã§ããŸãã ãŸããåäžã®ADFã«è€æ°ã®ã»ãã·ã§ã³ãè¿œå ããŠãããããäœçœ®ãè§åºŠãããç
§æã®ããããå€åãç°å¢ã®å€åãšãšãã«ãç°å¢ã®èŠèŠçãªèª¬æããã£ããã£ããããšãã§ããŸãã
奥è¡ãç¥èŠãã®ãã¯ãããžãŒã䜿çšããŠãããã€ã¹ã¯ç°å¢ã®åœ¢ç¶ãç解ã§ããŸãã ããã«ãããä»®æ³ãªããžã§ã¯ããå®éã®ç°å¢ã®äžéšã§ããã ãã§ãªãããã®ç°å¢ãšå¯Ÿè©±ã§ãããæ¡åŒµçŸå®ããäœæã§ããŸãã ããšãã°ãå€ãã¯ãã§ã«å®ç©ºéã§ã®ã³ã³ãã¥ãŒã¿ãŒã²ãŒã ãäºæž¬ããŠããŸãã
Tango APIã¯ãã«ã¡ã©ãååŸãããªããžã§ã¯ããŸã§ã®è·é¢ã«é¢ããããŒã¿ãç¹çŸ€ã®åœ¢åŒã§æäŸããŸãã ãã®åœ¢åŒã¯ãïŒxãyãzïŒåº§æšã«ãèšç®å¯èœãªã·ãŒã³å
ã®ãã€ã³ãã®æ倧æ°ãäžããŸãã
å枬å®å€ã¯ãã·ãŒã³ã®æ·±åºŠãã¹ãã£ã³ããã«ã¡ã©ã®ãã¬ãŒã å
ã®åãã€ã³ãã®äœçœ®ãã¡ãŒãã«åäœã§èšé²ããæµ®åå°æ°ç¹å€ã§ãã ç¹çŸ€ã¯ãRGBã«ã¡ã©ããåãåã£ãè²æ
å ±ã«é¢é£ä»ããããŠããŸãã ãã®é¢é£ä»ãã«ãããTangoã3Dã¹ãã£ããŒãšããŠäœ¿çšããæ©äŒãåŸãããã²ãŒã éçºè
ãã¯ãªãšã€ãã£ããªã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠå€ãã®èå³æ·±ãæ©äŒãéãããŸãã ãã¡ãããã¹ãã£ãã³ã°ã®ç²ŸåºŠã¯ãæ°ããªã®ç²ŸåºŠã§åŸãããç¹å¥ãª3Dã¹ãã£ããŒãšæ¯èŒããããšã¯ã§ããŸããã
ååã®çµéšã«ãããšãIntel RealSense R200ïŒã¿ã³ãŽã§äœ¿çšïŒ
ã®æ倧粟床ã¯2ããªã¡ãŒãã«ã§ããããããããã¯ããã«æªãå¯èœæ§ããããŸãã 被åäœãŸã§ã®è·é¢ãæ®åœ±æ¡ä»¶ãè¡šé¢ã®åå°ç¹æ§ãåãã«å€§ããäŸåããŸãã ãŸããç»å深床ã®ç²ŸåºŠãäžãããšä¿¡å·ã®ãã€ãºãå¢å ããããšãç解ããå¿
èŠããããŸãããããã¯é¿ããããŸããã
ãã ããã²ãŒã å
ã§è¡çªãçºçãããããå®éã®ã¢ããŒãã«ä»®æ³å®¶å
·ãé
眮ããããçµæã®3Dç¹çŸ€ã®çŸåšã®ç²ŸåºŠã®è·é¢ã枬å®ãããããå Žåã¯ãååã§ãã
深床ç¥èŠãå®è£
ããã«ã¯ãåºãæ®åããŠãã深床ç¥èŠæè¡ã®ãããããéžæã§ããŸãã Tangoã¯ãã©ãããã©ãŒã ã§ããã3ã€ã®ãã¯ãããžãŒãå«ãŸããŠããããšãæãåºããŠãã ããã
ããããã®èª¬æã¯ãå¥ã®å€§ããªèšäºã®ãããã¯ã§ãã ã¿ã³ãŽã§ã®åœŒãã®åœ¹å²ãšãããã®æ©èœã®äžè¬çãªååãç解ã§ããããã«ãç°¡åã«èª¬æããŸãã
æ§é åã©ã€ãæ§é åãããå
ã¯ãæ¢ç¥ã®ãã¿ãŒã³ïŒéåžžã¯æ ŒåãŸãã¯æ°Žå¹³ã¹ãã©ã€ãïŒãå®éã®ãªããžã§ã¯ãã«æ圱ããŸãã ãããã£ãŠããã®æ¢ç¥ã®ãã¿ãŒã³ãè¡šé¢ã«éãªããšå€åœ¢ãããããã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã·ã¹ãã ã¯ãããã€ã¹ã«å¯Ÿããã·ãŒã³å
ã®ãªããžã§ã¯ãã®æ·±åºŠãšè¡šé¢ã«é¢ããæ
å ±ãååŸã§ããŸãã æ§é åå
ã䜿çšããããç¥ãããäŸã¯ã3Dã¹ãã£ããŒã§ãã
ç®ã«èŠãããã¿ãŒã³ãã·ã¹ãã ã§äœ¿çšãããã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®æ®ãã®æ¹æ³ã«å¹²æžããå Žåãç®ã«èŠããªãæ§é åãããå
ã䜿çšãããŸãã ããã¯ãèµ€å€ç·ãšããã¿ãŒã䜿çšããã¿ã³ãŽã®å Žåã§ãã
é£è¡æéãã®æè¡ã¯ãèµ€å€ç·ãæŸå°ç·æºããç©äœã«é£ãã§ã«ã¡ã©ã«æ»ããŸã§ã®æéã決å®ããããšã«åºã¥ããŠããŸãã è¡šé¢ãŸã§ã®è·é¢ãé·ãã»ã©ãæéãããããŸãã
ã¹ãã¬ãªãã®æè¡ãã¿ã³ãŽã«ã©ã®ããã«é
眮ãããŠãããã«ã€ããŠã®æ£ç¢ºãªæ
å ±ã¯èŠã€ãããŸããã§ããã ã©ãããå®è£
ã¯ããªãæšæºçã§ãããéçºè
ã¯ããã«çŠç¹ãåãããŠããªãã£ãããã§ãã ããæç¹ã§ã2ã€ã®åçãããããã¹ãã¬ãªãã¢ãæ®åœ±ãããŸãã ãããã«åºã¥ããŠãåç枬éã¯è¡šé¢ãŸã§ã®è·é¢ã決å®ããŸãã ãããã£ãŠãããšãã°ãå°çã®èµ·äŒã®é«ãã®è¡æç»åãå®è¡ãããŸãã
æ§é åå
ãšé£è¡æéã«ã¯ãããã€ã¹ã«èµ€å€ç·ïŒIRïŒãšããã¿ãŒãšIRã«ã¡ã©ã®äž¡æ¹ãå¿
èŠã§ããããšã«æ³šæããŠãã ããã 2å°ã®ã«ã¡ã©ã«ã¯ã¹ãã¬ãªãã¯ãããžãŒã§ååã§ãããèµ€å€ç·ãšããã¿ãŒã¯å¿
èŠãããŸããã
çŸåšã®ããã€ã¹ã¯ãå®éã«ã¯ãã¹ãã£ã³ãªããžã§ã¯ãããäžçšåºŠã®è·é¢ïŒ0.5ã4ã¡ãŒãã«ïŒã§å±å
ã§åäœããããã«èšèšãããŠããããšã«æ³šæããŠãã ããã ãã®æ§æã«ãããå¹³åè·é¢ã§ååãªæ·±ããåŸãããŸãããæ·±ããåŠçããéã®èµ€å€ç·ãšããã¿ãŒãšããã€ã¹èªäœã®ããã©ãŒãã³ã¹ã«äžèŠãªé»åèŠä»¶ã¯ãããŸããã ãã®ãããéåžžã«è¿ããªããžã§ã¯ãã®ã¹ãã£ã³ããžã§ã¹ãã£èªèã«é Œããªãã§ãã ããã
IRã«ã¡ã©ã䜿çšããŠæ·±åºŠãæ€åºããããã€ã¹ã®å Žåãæ£ç¢ºãªæäœãé£ããç¶æ³ãããããšãå¿ããªãã§ãã ããã
- åããéãããå Žåãã¿ã³ãŽã¯æ·±ããæ§ç¯ããæéããªããããããããã£ãããšåãããäžå¯§ã«æ±ããŸãã
- åããéãããå Žåãã¿ã³ãŽã¯æ·±ããæ§ç¯ããæéããªããããããããã£ãããšåãããäžå¯§ã«æ±ããŸãã
- åããéãããå Žåãã¿ã³ãŽã¯æ·±ããæ§ç¯ããæéããªããããããããã£ãããšåãããäžå¯§ã«æ±ããŸãã
ã¿ã³ãŽãšã®ãããžã§ã¯ã
ååã«è©³çŽ°ã«èª¿ã¹ãããã€ã¹ã®åäœåçã ããã§ã¯ãçè«ããå®è·µã«ç§»ããŸãããã æåã®ãããžã§ã¯ããäœæããŠã¿ãŸãããã
Tangoã¯Unity3Dã²ãŒã ãšã³ãžã³çšã®SDKãæäŸããCãŸãã¯Javaãä»ããŠOpenGLããã³ãã®ä»ã®3Dã·ã¹ãã ããµããŒãããŸãã äž»ã«Unity3Dãäœæ¥ã«äœ¿çšãããã¹ãŠã®äŸã¯éçºç°å¢ã§ããã«äœæãããŸãã
unity3Dãšã®çµ±åProject Tangoåãã«Unity3Dã§ã¢ããªã±ãŒã·ã§ã³ãéçºããã«ã¯ã次ã®ãã®ãå¿
èŠã§ãã
ãããžã§ã¯ãã®èª¬æç§ãã¡ã¯ãã¿ã³ãŽã䜿çšããŠè»äºè£
åã®ãããã¥ã¢é
眮ãå®è£
ããããšã«ããŸããã 次ã®è€éãªäžé£ã®ã¢ã¯ã·ã§ã³ãèšç»ãããŸããã
- ãŠãŒã¶ãŒã¯Tangoã¿ãã¬ãããåãåããŸãã
- æ©åšãé
眮ã§ããå Žæã®ç»é¢äž-äžå¯èœãªç·ã®ããŒã«ãŒãæãããŠãã-èµ€ïŒ
- 次ã®è»çšæ©åšã®éžæè¢ãæäŸãããŸãã
- é
眮ããããã¯ããã¯ã¯ãã¿ããã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠç»é¢ã®å¹³é¢å
ã§ç§»åã§ããç©ççãªè¡šé¢ã«æ²¿ã£ãŠç§»åããŸãã
- é
眮ãããã¯ããã¯ãåé€ã§ããŸãã
- å¶éãå°å
¥ãããŸãã-æ©åšã®10åã®ã³ããŒãé
眮ããã¢ãã«ãååã«æé©åããŠããã®æ°ãå¢ããããšãã§ããŸãã 10åãè¶
ããã¢ãã«ãããå Žåãæåã«é
眮ãããã¢ãã«ã眮ãæãããããµã€ã¯ã«ã«æ²¿ã£ãŠããã«é²ã¿ãŸãã
圌ãã¯ããã¢ã®ã€ã³ã¿ãŒãã§ãŒã¹ãæå°éã«æããªããããŠãŒã¶ãŒã«ãšã£ãŠç解ãããããã®ã«ããããšã決å®ããŸããã
å®è£
åºç€ãšããŠãTangoSDK / Examples / AugmentedRealityã®ãªãœãŒã¹ã
githubã§ãã¢ãã«ãæ¢ã«
å®è£
ãããŠãããããžã§ã¯ãããååŸã
ãŸãããå®è£
ã®èª¬æç§ãã¡ã®èšç»ãå®è¡ããããã«ãç§ãã¡ã®è¡åãã¹ãããã§èª¬æããŸãïŒ
-端æ«ã®ã«ã¡ã©ã®ç»åãç»é¢ã«è¡šç€ºãããšãTango AR Cameraããããæ¯æŽããŸã
-次ã«ãä»®æ³ã·ãŒã³ã§ã®ããã€ã¹ã®å®éã®åããç¹°ãè¿ãããããšã確èªããå¿
èŠããããŸããã¢ãŒã·ã§ã³ãã©ããã³ã°ãã¯ãããžãŒããããæ
åœãããŠãããã·ãŒã³ã§Tangoã¢ããªã±ãŒã·ã§ã³ãæ§æããå¿
èŠãããå Žåã¯ã[ ã¢ãŒã·ã§ã³ãã©ããã³ã°ãæå¹ã«ãã]ãã§ãã¯ããã¯ã¹ããªã³ã«ããŸããããŒãã£ã«ã·ãŒã³ã§è¡šçŸãããŠããå®éã®è¡šé¢ã«ãã¯ããã¯ãé
眮ãããã®ã§ãããŒãã£ã«ã¹ããŒã¹ãèšè¿°ããããŒã¿ããªããã°ãªããªããšæ³å®ã§ããŸããTangoã§ã¯ãTango Point Cloudããããæ
åœããŠãããããã¹ããŒãžã«é
眮ããŸãã-ã·ãŒã³éå±€ã®äžè¬çãªãã¥ãŒã¯æ¬¡ã®ããã«ãªããŸãã- , â UI, EventSystem.
- , , . , Prefabs.
- ,
ViecleSpawnScript
ã¹ã¯ãªãããžã®ã¢ãã«ãžã®ãªã³ã¯ãäœæããŸããã ããã§ããã¿ã³ã¯ã©ã®ã¢ãã«ããããã«é¢é£ä»ããããŠãããããèªèãããŸãã
-次ã«ããªããžã§ã¯ãã®é
眮ã移åãåé€ãå¯èœã«ããããžãã¯ãå®è£
ããå¿
èŠããããŸãã ã¯ã©ã¹ã«ããžãã¯ãå®è£
ããŸãã
VehicleSpawnRoot
以äžã«ãã®èšå®ãèŠãããšãã§ããŸãïŒ
ã€ã³ã¹ã¿ã³ã¹å¶é -é
眮ãããã¢ãã«ã®æ倧æ°ã
ã¢ãã«ã¹ã±ãŒã« -ã¢ã¬ã³ãžã¡ã³ãå
ã®ã¢ãã«ã®ã¹ã±ãŒã« ã
Point Cloud -Tango Point Cloudãªããžã§ã¯ããžã®ãªã³ã¯ã
ããŒã¯ã®é
眮 -ãã¬ããããŒã«ãŒãžã®ãªã³ã¯ã
ãã¬ãŒã¹ã¬ã€ã€ãŒãã¹ã¯ -é
眮ãå¯èœãªã¬ã€ã€ãŒãèšå®ããŸãã
éžææ
å ± -éžæããããã¯ããã¯ã®ååã衚瀺ããããã®ã€ã³ã¿ãŒãã§ãŒã¹èŠçŽ ãžã®ãªã³ã¯ã
-äœæ¥äžã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåžžã«ããŒã«ãŒãæç»ããå¿
èŠããããŸããéåžžã¢ãŒãã®ããŒã«ãŒã¯ãç»é¢ã®äžå¿ããè¡šé¢ãŸã§ã®ããŒã ã®çµç«¯ã«é
眮ãããŸãã ããŒã«ãŒã¯ã PlacementMarkerã·ãŒã³ã®ãªããžã§ã¯ãã«ãã£ãŠè¡šãããŸãã
-ããŒã ã®äº€ç¹ãšäº€ç¹ã®çµæã®ããŒã¿ãå¿
èŠã§ãã éåæåä¿¡ã§è¡ã£ããã¬ãŒã¹ã®åº§æšãšçµæãååŸãããšãã³ã«ãŒãã³ãé¢æ°ã§èµ·åãããŸã
LazyUpdate
ãã®æ©èœã§ã¯ãããŒã ãšç¹çŸ€ã¿ã³ãŽã®äº€å·®ã決å®ãããŸãã Point Cloud Tangoã¯Tangoèªäœãåæ§ç¯ãããããå®éã®ãã€ã³ãã¯ã©ãŠãããããããããããŒã¿ãååŸã§ããŸãã
ãã¬ãŒã¹ã®çµæã«ã¯ã次ã®å€ãå«ãŸããå ŽåããããŸãã
enum ETraceResults { Invalid, // NotFound, // , NotGround, // . ExistingObjectCrossing, // Valid, // } <ol> <li>
ãã¿ã³ãæŒããŠã¢ãã«ãæ宀ã®è¡šé¢ã«é
眮ããã«ã¯ïŒ
VehicleSpawnRoot
é¢æ°ãäœæããŸãïŒ
public void Spawn( GameObject prefab )
é
眮çšã®ã¢ãã«ãåãããã¬ãããé¢æ°ã«æž¡ãããŸãã ãã®é¢æ°ã¯é
眮ã®å¯èœæ§ããã§ãã¯ããæåããå Žåãæå®ããã座æšã§ã¢ãã«ãäœæããŸãã
-é
眮ãããã¢ãã«ã移åããããã®æ©èœãäœæããå¿
èŠããããŸãã ãã®é¢æ°ã¯ãã¢ãã«ã®ç§»åãæ
åœããŸãã
private void UpdateTouchesMove()
ãããã©ã®ããã«æ©èœããããç°¡åã«èª¬æããŸããé¢æ°ã§ã¯ãã¿ããããŒã¿ãååŸããŸãã
Input.GetTouch( 0 );
ã·ãŒã³å
ã«é
眮ããããªããžã§ã¯ããšã®äº€å·®ç¹ãæ¢ããæåããå Žåã¯ããªããžã§ã¯ãã次ã®ããã«ããŒã¯ããŸãã
Selected
ãŸããå
ç·ã®å§ãŸãã®äœçœ®ãç¹çŸ€ãšã®äº€ç¹ãèšç®ããé¢æ°ã«éä¿¡ããŸããããã¯ãç»é¢äžã®æã®äœçœ®ãšäžèŽããŸãã
ããã«ãç»é¢å
ã移åããéçšã§ãã¢ãã«ã¯æ°ããäœçœ®ã«ã€ã³ã¹ããŒã«ãããŸãããã¬ãŒã¹ã®çµæã«ãããããå¯èœã«ãªã£ãå Žåããã¬ãŒã¹ã¯éåæã¡ãœããã§è¡ãããŸã
LazyUpdate
é
眮ãããã¢ãã«ãåé€ããæ©èœãè¿œå ããããšã¯æ®ã£ãŠããŸãã äžè¬ã«ããã¹ãŠãæºåãã§ããŠãããå®è¡ã§ããŸãïŒ
詳现ã«ã€ããŠã¯ã
gitHubã®ãããžã§ã¯ãã³ãŒããåç
§ããŠãã ããã
Google Playã§ã¢ããªãå
¬éãã
Tangoãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãå
¬éããã«ã¯ãAndroidã¢ããªã±ãŒã·ã§ã³ãå
¬éããããã®æšæºããã»ã¹ã«å ããŠã1ã€ã®è¿œå æé ãå¿
èŠã§ãã ã¢ããªã±ãŒã·ã§ã³ãTangoäºæããã€ã¹ã«ã®ã¿ã€ã³ã¹ããŒã«ããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãããã§ã¹ããã¡ã€ã«ã«æ¬¡ã®è¡ãè¿œå ããŸãã
<application ...> ... <uses-library android:name="com.vizerra.tangolab" android:required="true" /> </application>
TangoããµããŒãããããã€ã¹ãšTangoããµããŒãããªãããã€ã¹çšã®åäžã®APKãååŸãããå Žåã¯ãã©ã³ã¿ã€ã ã§Tangoæ©èœã®å¯çšæ§ã確èªããã¢ããªã±ãŒã·ã§ã³èªäœã«æ¢ã«ããæ©èœã䜿çšã§ããŸãã
ãŸãšã
ãã®ãããçè«ã®åºç€ããã¢ããªã±ãŒã·ã§ã³ã®å
¬éãŸã§ã®éã®ããé²ããŠããŸããã
ãã©ãããã©ãŒã ã¯æ¢ã«åçšç®çã§äœ¿çšã§ãããšçµè«ä»ããããšãã§ããŸãã ããªãå®å®ããŠåäœããŸãã ããã«å«ãŸããæè¡ã¯äºãã«è¡çªãããäºãã«è£å®ãåããè¿°ã¹ãããã¿ã¹ã¯ã解決ããŸãã
ããã«ã倧æ
ãã³ããŒã®åçšããã€ã¹ãç»å Žãå§ããŸããã è»èã®å¯äžã®ãã©ã€ã¯ãããã€ã¹ãæããå
ã§åäœããå Žåã®åé¡ã§ãã GoogleãšIntelããã®åé¡ãä»åŸæ°å¹Žã§è§£æ±ºããããããããæ¢ã«è§£æ±ºããŠãããšä¿¡ãããã ãæž
èŽããããšãããããŸããããã®èšäºãããããããã®ã§ãã£ãããšãé¡ã£ãŠããŸãã