ãããŠãããã¯ãã¡ãããç«¶äºããã®åå©ã§ãïŒãããããã«ãŠã§ãŒæ²¿å²žã®ããŒãã¬ã¬ãŒãžã§ç§ãã¡ãã2000kmé¢ããå Žæã«ããããããããããã°ãããšããè峿·±ãçµéšããããŸãããã«ããã®äžã§ããªã¢ãŒãã§ã®æ€ç«äžã«ãã©ã®ããã«ããžã§ã³ãäœæããããããã«ãã¯ã©ãŠããã¬ã€ã³ããæ¯é ãããã«ã€ããŠã®ã¹ããŒãªãŒïŒ
æ¥ã«ãäž¡æã§YuMiã䜿ã£ãŠããããã«ãã3Dã¹ããªãŒãã³ã°ãšãã¬ãŒãã³ã°çšã®ãªã¢ãŒãã³ã³ãããŒã«ã·ã¹ãã å šäœã®ãããã¿ã€ããäœæããRealsenseã«ã¡ã©ã®3Dã¹ããªãŒã ããããŒããã£ã¹ãããã®ã«éåžžã«åœ¹ç«ã€ãœãªã¥ãŒã·ã§ã³ãæäŸããŠãããã«ãŠã§ãŒã®äŒç€ŸAiveroã«äŒããŸãããããã§ãå°é£ãªäœæ¥æéã®åŸãèšç»ã¯é²ã²ãšã€ãªãããã«èŠããŸããïŒç§ã®å®¶æãšäžç·ã«å¬ã®1ãæéã€ã¿ãªã¢ã«é£ãã§ããããããšãŒãããã®ããããå·¥åŠã®å±ç€ºäŒã«æ è¡ããè¿ãã«çŸãããã£ãšã«ããããéœåžã§æ°é±é忢ããŠãã¹ãŠãçµãã-ã¹ã¿ãŽã¡ã³ã¬ãŒã3Dçµ±åã«ã€ããŠè©±ãåãã³ãŒããã¯ãã·ã¹ãã ã«çµã¿èŸŒãã§ãAiveroã«2å°ã®ããããããŸãšããããã«èª¬åŸããŠã¿ãŠãã ããã
ãã®çŽ æŽãããèšç»ã§äœãããŸããããªãã£ãã®ã...
ã€ã¿ãªã¢ã®å°éããæ»ã£ãåŸïŒäœäºããªãïŒ2é±ééé¢ããããŸãŸãç§ã¯è©±ãèšèãšæžãèšèã®è±èªããã»ãããå¹ãé£ã°ãããã£ãšã«ãã®åŽè¿ã§ã¯ãªãããã§ã«ãºãŒã ã§èšç»ã®2çªç®ã®éšåãå®è¡ããªããã°ãªããŸããã§ããã
ãã ãããããèŠæ¹ã§ããæ€ç«ã«ãããå€ãã®äººãã人ã®äº€ä»£ãé£ãããªãå Žåã«èªååããããã®å¯èœãªæ¹æ³ã«çå£ã«åãçµã¿å§ããããšãäœåãªããããŸãããç¹ã«ãæäœè³éã1500ãŠãŒããè¶ ãã西åŽè«žåœã§ã¯ãçŸåšã®ç«åŠçç¶æ³ããªããŠããåçŽãªæäœæ¥ã®ããããåãé¢ä¿ããŠããŸãã
ç°ãªããããããæ¥ç¶ããŸã
ãªã¢ãŒãã³ã³ãããŒã«ã®èšé²ã䜿çšããŠããããããã¬ãŒãã³ã°ããããšãæãåºãããŠãã ãããããããããããã¯ã€ã³ã¿ãŒããããã¯ã©ãŠãã«æ¥ç¶ãã3Dç»åãšã»ã³ãµãŒèªã¿åãå€ã®éä¿¡ãéå§ããŸããã³ãã³ããåä¿¡ããŠââå®è¡ããŸãããã®ããžãã¯ã§ã¯ãç§ãã¡ã®ã¿ã¹ã¯ã¯ãMLããã»ããµã«ãªãã¬ãŒã¿ãŒã®ããã«åäœããããã«æããããšã§ãããªãã¬ãŒã¿ãŒãä»®æ³çŸå®ã§ã·ãŒã³ãã¬ã³ããªã³ã°ããã«ã¯ã3Dãå¿ èŠã§ããããã¯äŸ¿å©ã§ãããæ·±åºŠããããããå Žåã«ãªããžã§ã¯ããææ¡ãããšãã«MLãã¯ããã«æ£ç¢ºã«ãªããŸãã
èšç»ã©ãããããŸããŸãªãããããã¯ã©ãŠãã«æ¥ç¶ã§ããŸãããããŸããŸãªããããããã¹ãŠèªåã§äœæããããšã¯éåžžã«åä»ãªéã§ããç§ãã¡ã¯åœŒãã®é è³ãåŠç¿ã«çŠç¹ãåãããŠããŸãã
ãã®çµæãAiveroãšåæãããã®åã§3Dã®ç®ãæã€ãŠãããŒãµã«ãªçè ãããããäœæãããããããŠãããããšåŒã³ãŸããããããã§ããã¹ãŠã®ã¯ã©ãŠããããã£ã¯ã¹ãå®è¡ã§ããããã«ãªããŸãã
åªå äºé ã¯ããšã³ãã«ã¹ã¿ããŒåãã®ãœãªã¥ãŒã·ã§ã³ã®ã·ã³ãã«ããšã³ã¹ãã§ããããããŠããã¡ãããæ±çšæ§ãç°¡åãªæäœæ¥ãèªååããããã«ããšã³ããªã®ãããå€ãæå°éã«æããããšèããŠããŸããçæ³çã«ã¯ãç¹å¥ãªã¹ãã«ãæããªãäžå°äŒæ¥ã®ææè ã§ãããç§ãã¡ã®ããŠãããããè³Œå ¥ãŸãã¯ã¬ã³ã¿ã«ããè·å Žã«çœ®ããŠå®è¡ããããšãã§ããŸãã
ç§ãã¡ã¯æ°é±éèããæ°ã¶æé仮説ããã¹ãããŸããããããŠãããèµ·ãã£ãã®ã§ãïŒããŒã¹ã«Jetson AGXããããã¿ã€ãã«ã®ãã®ãšã¯ç°ãªãæŠèгã«ã¡ã©ãåããããŒãžã§ã³ïŒïŒ
ãããŠããè¿ããµãŒãã©ã€ãïŒ
æ§æïŒ
- Jetson NX
- 2ã€ã®3DRealsenseã«ã¡ã©ïŒ1ã€ã¯æŠèŠããã1ã€ã¯äœæ¥é åçšïŒ
- ã¹ãããã©ã€ã
- å¿ èŠã«å¿ããŠç空ãã³ã
- ç空ãŸãã¯æ©æ¢°çã°ãªãããåããããããã¢ãŒã ïŒEva / UR / ABB YuMiïŒ
- WiFiã€ã³ã¿ãŒããããŸãã¯æç·
èšç®æ©ãšããŒã¹ã«ç空ãã³ããåãããã®ãããªäŒžçž®åŒã¹ã¿ã³ãã¯ãããããã®äœæ¥é åã®é£ã«é 眮ãããã€ã³ã¿ãŒãããã«æ¥ç¶ãïŒããšãã°ãWiFiãžã®QRã³ãŒããä»ããŠïŒãå®è³ªçã«æ§æãªãã§ããã«ã¿ã¹ã¯ã®è§£æ±ºãéå§ããŸãã
ããã§ããã«ã³ã¹ããèŠç©ããããšãã§ããŸããæãæé ãªEvaããããã¢ãŒã ã¯8000ãŠãŒãïŒãã·ã¢ã§ã¯äŸçµŠãããŠããŸããïŒã§ãUR10ã®äŸ¡æ Œã¯çŽ50000ãŠãŒãã§ãããããã§URã¯ã¯ããã«é«ãä¿¡é Œæ§ã䞻匵ããŠãããããé·æçã«ã¯ããã»ã©é«äŸ¡ã§ã¯ãªãå¯èœæ§ãããããšã«æ³šæããŠãã ããããããŠã圌ãã¯æè¿å®ããªã£ãŠããŸãããããã®æ®ãã®éšåã¯çŽ2000ãŠãŒãã§ãã
ABB YuMi IRB 14050
以åã¯äž¡æã§YuMiãæ±ã£ãŠããŸããããããã§ã¯ãåºæ¬çã«çæã§åæãããIRB14050ã®æ°ããããŒãžã§ã³ã詊ããŸããã
ç°¡åã«ç§ã奜ããªãã®ïŒ
- 粟å¯ã§æ©æ¢°çãªæé
- ãžã§ã€ã³ãã®è¡çªããã³ããŒã«å¯Ÿããé«æåºŠ
ãããŠãããæ°ã«å ¥ããªãã£ãïŒ
- è¡çªãç·æ¥äºæ ããªã¢ãŒãã§è§£æ±ºããã®ã¯é£ãã
- äžéšã®é¢ç¯ã®å°ããªè§åºŠã®åãã¯ãä»ã®6座æšã¢ãŒã ã®éååŠã«ãšã£ãŠã¯é£ãããªããäžèŠåçŽãªåãã«å¯ŸããŠã¯è»éãããªãé£ããããŸãã
- ã¢ããã°ãšæ¯èŒããŠäœã鿬èœå
- ããã«ãã³ã³ãã¥ãŒã¿ãŒããã®TCPã³ãã³ããåŠçããABBããç¬èªã®ããã°ã©ãã³ã°èšèªã§ããã°ã©ã ãã¢ããããŒãïŒå Žåã«ãã£ãŠã¯ãããã°ïŒããå¿ èŠããããŸãã
ãããŠãç°¡åã§ã¯ãããŸããã
ãããç§ãã¡ãæãæéãè²»ãããå Žæã§ããèµ·åæ¹æ³ã®ã¬ã·ãã¯ãŸã£ããåçŽã§ã¯ãããŸããã
- Windowsãã·ã³ã䜿çšããçç±ã¯ ããããªããšãABBã®RobotStudioãã€ã³ã¹ããŒã«ã§ããŸããã
- https://github.com/BerkeleyAutomation/yumipy RAPID ( ABB) ( , ), python API YuMi IRB 14050 IRB 14000.
- , IRB14000 urdf ROS moveit. IRB14000, IRB14050.
- ROS moveit Python API .
- FlexPendant for OmniCore, .
ãããããã¡ãããããã¯ãYuMiãåŸãããæ¹æ³ã®å¯èœãªè»éã«ãããŸããããã¡ãããã€ãŸããå¯èœæ§ã®ãããã¹ãŠã®å°ããªããšã¯ãããã§ã¯èšããŸã§ããããŸããã
ãšãŽã¡
ç°¡åã«ç§ãã¡ã奜ããªãã®ïŒ
- ãã¡ããäŸ¡æ Œ
- ã·ã³ãã«ã§ç°¡æœãªAPI
ãããŠçæïŒ
- è¡çªæ€åºãªãïŒç§ã®ãªãªãŒã¹ã§çºè¡šïŒ
- äœçœ®æ±ºã粟床-ã¡ãŒã«ãŒã¯ãŸã ããã«åãçµãå¿
èŠããããŸãããååã«ãããŸã
ãã¡ããã管çã®ããããã«ã¯æ¬¡ã®ãããªé åããããŸãã
pip install evasdk
ãããŠ
import evasdk
eva = evasdk.Eva(host_ip, token)
with eva.lock():
eva.control_wait_for_ready()
eva.control_go_to([0, 0, 0, 0, 0, 0])
ãããŠãããããã¢ãŒã ãåºãŸããïŒãšå®è¡ããŸãã
ãããããã¡ããããã³ãã³ã³ãããŒã©ãŒã®ãã°ããªãŒããŒãããŒãããããšãã§ããåŸããªã¹ãã³ã°ã忢ããŸãããããããç§ãã¡ã¯ã¡ãŒã«ãŒã«æ¬æã衚ããå¿ èŠããããŸã-圌ãã®gitaã«åé¡ãäœæããããšã¯ã圌ããçç±ãçè§£ããã®ã«ååã§ããïŒãããŠç§ãã¡ã®åé¡ã«ã€ããŠè©è°äŒå šäœã«2ã3ã®é»è©±ããããŸããïŒã
ãããŠãäžè¬çã«ãAutomataïŒEvaã®ãããã¥ãŒãµãŒïŒã¯çŽ æŽãããã§ãïŒåœŒãããããã£ã¯ã¹åžå Žã§ããã«æé·ãçºå±ãããããããçŸåšãããã¯ããã«æé ãªäŸ¡æ Œã§ç°¡åã«ããããšãã§ããããã«ãªãããšãé¡ã£ãŠããŸãã
ããªãã¯
æ°ã«å ¥ã£ãïŒ
- åªããæ©æ§ãšé«ç²ŸåºŠ
- åºç¯å²ã®ãžã§ã€ã³ãè§åºŠã«ãããè»éã®èšç»ãã¯ããã«ç°¡åã«ãªããŸã
- è¡çªã¯ãããããã®ã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ããããšã«ãããVNCãã¥ãŒã¢ãŒã§è§£æ±ºã§ããŸã
- ROSã€ã³ãã©ã¹ãã©ã¯ãã£ã§é©åã«ãããã°
ãã€ãã¹ïŒ
- URã³ã³ãããŒã©ãŒäžã®å€ãOSãçŽ1幎åã®éã»ãã¥ãªãã£æŽæ°ããããŸãã
- å©çšå¯èœãªãªãŒãã³ã©ã€ãã©ãªã§ååã«ã«ããŒãããŠããŸããããŸã ææ°ã®éä¿¡æ¹æ³ã§ã¯ãããŸãã
pythonãããããããã¢ãŒã ã¯2ã€ã®äž»èŠãªã·ããªãªã§å©çšã§ããŸãã
- https://github.com/SintefManufacturing/python-urxãã€ã³ã¹ããŒã«ããŠã楜ãã¿ãã ããããªã¹ãã¯evasdkã®å Žåããå°ãé·ãã®ã§ãç§ã¯ãããäžããŸãããåé¡ãã©ãã«ãŒãã倿ãããšãæ°ããããããã¢ãŒã ãšã®äºææ§ã®åé¡ãç¥ãããŠããŸããããªãèªèº«ã®ããã«ãä¿®æ£ããªããã°ãªããªãã£ãäœããtkããã¹ãŠã®ç§»åã¢ãŒããã©ã€ãã©ãªã«å®è£
ãããŠããããã§ã¯ãããŸãããããããã¯åŸ®åŠã§ãã
- âROS-â (https://github.com/ros-industrial/universal_robot). , ROS , : UR moveit ( ROS, , , ).
ROSãé¿ããããšããŠããã®ã¯ãã®æ©èœã®äžéšïŒã¡ãã»ãŒãžãããŒã«ãŒïŒã¯ãã·ã¹ãã å ã®rabbitmqã«ãã£ãŠå®è¡ããã䜿çšããããã¯ãããžãŒã¹ã¿ãã¯ã«ã¯æ·±å»ãªåé¡ããããŸãããã®ãããé害ãåé¿ããå¿ èŠãããå Žåã¯ãROSããµãŒããŒåŽã®ãã€ã¯ããµãŒãã¹ã«ã«ãã»ã«åããŸãã
ä»ããªãã¯ïŒ
ããªããçè§£ããããã«ãURã¯æ¬¡ã®ãšãã
ã§ããããããã®ã¿ããããã«ã§ã¯ãããããã¹ããŒãºãèš±å¯ãããŠããŸãããããŠãç§ãã¡ã®ååã1æ¥5åã§ã¯ãªããã¢ã€ããããããŒãã¬ã¬ãŒãžãŸã§é転ããŠæ·åããã«ã¯ãã©ãããããããªã¢ãŒãã§ããã«å ¥ãå¿ èŠããããŸãã
URã³ã³ãããŒã©ãŒã«ã¯linuxãã€ã³ã¹ããŒã«ãããŠããããšã倿ããŸããïŒã¡ãªã¿ã«ãæã匱ãx86ããã»ããµãŒã§ã¯ãããŸããïŒã
ssh IPãšå ¥åããŸã...ãŠãŒã¶ãŒïŒrootããã¹ã¯ãŒãïŒeasybotã
ãããŠãããªãã¯DebianWheezyã䜿çšããŠããŸãã
ãããã£ãŠãVNCãµãŒããŒãååŸããŠã€ã³ã¹ããŒã«ããããããã®å®å šãªãã¹ã¿ãŒãèŠã€ããŸããïŒããã§ã¯ãWheezyããŸã 2å¹ŽéæŽæ°ãããŠããããç»é²ã廿¢ãããããã«vncãµãŒããŒãåçŽã«ååŸããŠã€ã³ã¹ããŒã«ããããšã¯ã§ããŸããããã ãããããå®è¡ã§ãããããžãã¯ãã¡ã€ã«ããžã®ãªã³ã¯ããããŸãïŒã
ã¡ãªã¿ã«ãUniversal Robotsã¯ããã¢ãèŠãããšãã«ããã®ãããªãªã¢ãŒãã³ã³ãããŒã«ã«ã¯æ°ããã»ãã¥ãªãã£èªèšŒæé ãå¿ èŠã ãšèšã£ãŠããŸããããã£ããã ãSmartRoboticsããããäžè¬çã«ã©ã®ããã«è¡ã£ãŠããã®ãéåžžã«è峿·±ãã§ããã³ã³ãã¥ãŒã¿ãŒããžã§ã³ããã®ã¿ãŒã²ãã£ã³ã°å€æ°ãä»ã®äººã«ãšã£ãŠ100ïŒ å®å šã§ãããšã¯æ³åã§ããŸããã
ããããã«ç®±ãã€ããããã«æããæãæ¥ãŸãã
ãããããVRã§äœããã¹ããã瀺ããŠããããšãæãåºãããŠãã ããã
ããããåãããšã«ãã·ãŒã³ãã©ã®ããã«èŠããã©ã®ãããªã³ãã³ãã§ãã£ãããèšé²ããŸãããããšãã°ã次ã®ããã«ãªããŸãã
{âop": "pickup_putdown_box",
"pos1": [441.1884, -112.833069, 151.29303],
"pos2": [388.1267, 91.0179138, 114.847595],
"rot1": [[0.9954941, 0.06585537, -0.06822499], [0.0917332, -0.851038456, 0.517028868], [-0.0240128487, -0.52095747, -0.85324496]],
"rot2": [[0.992139041, 0.102700718, -0.07150351], [0.100485876, -0.99436, -0.0339238755], [-0.0745842, 0.026472155, -0.996863365]],
"calibration": [[-0.01462146, 0.9814359, -0.191232175, 551.115051], [0.9987302, 0.0051134224, -0.0501191653, -6.613386], [-0.0482108966, -0.191722155, -0.9802644, 771.933167]],
"box": [[474.331482, -180.079529, 114.765076], [471.436157, -48.88102, 188.729553], [411.868164, -180.27713, 112.670532], [476.105164, -148.54512, 58.89856]],
"source": "operator"}
äžè¬ã«ãããã¯ãã°ãªããããã¬ãŒãã³ã°ããŠã空éå ã®ãªããžã§ã¯ãã®å¢çããã¯ã¹ãšãããã€ããå Žæã決å®ããã®ã«ååã§ãã
ããã§ã30å座ã£ãŠãããããã«4çš®é¡ã®ããã¯ã¹ããžã£ã°ãªã³ã°ããæ¹æ³ã瀺ããŸããçŽ100ã®äŸããããŸããããžãã¯ãã¿ã³ãæŒããŸã...ãŸããããæ£ç¢ºã«ã¯ãsudo docker run -e INPUT_S3_FOLDER = ... OUTPUT_S3_FOLDER = ... rembrain / train_all_stagesïŒdevããããŠãç ãã«è¡ããŸããããååäžãããã«ãŒã¯MLããã»ããµã«ã¡ãã»ãŒãžãéä¿¡ããŠéã¿ãæŽæ°ããæ¯ãåãããŠïŒããããã¯ã¡ãŒã«ãŒããç¡æã®ãã¹ããåããŸããããããªãã®è²»çšãããããŸãïŒãèµ·åããŠ...
ãã£ãš...
ãããã°äžã«è¢«å®³ãåããããããã¯1ã€ããªãã£ããšèšããªããã°ãªããŸãããéãè¯ãã£ãããã ãšæããŸãã
ããæ¥ã2æ³ã®æ¯åããã£ãŠæ¥ãŠãVRãã©ãã«ãŒã§éã¶ããšã«ããŸãããåœŒã¯æ€ åã«ç»ããçªèŸºãããããåãåºããŸãã...ãããŠãæ³åãçµ¶ããæ ã«UR10ãéããã«ã¡ã©ããŒãèã«æŒãåºããããããã¢ãŒã ãããªãããªãããŒãªäœçœ®ã«çœ®ããŸããããã®ãããã³ã³ãããŒã«ã«ããã€ãã®ãã¥ãŒãºã远å ããå¿ èŠããããŸããããããŠ2çªç®ã®èŠ³æž¬ã«ã¡ã©ãtkãããããªããšãæãã©ãã«è¡ã£ãã®ãããããåããããšãã§ãããã©ãããåã«èŠããªãããšããããŸãã
ãããŠããããåè«ã§ã¯ãªãå Žåãç§ãã¡ã®ãã¹ãã§ã®ãã®ãããªåçŽãªããã¯ã¹ã®æ€åºç²ŸåºŠã¯ãæ°çŸã®äŸã®å°ããªãã¬ãŒãã³ã°ãµã³ãã«ã§ã99.5ïŒ ãè¶ ããŸãããããã§ã®åé¡ã®äž»ãªåå ã¯ããã¯ãã³ã³ãã¥ãŒã¿ããžã§ã³ã§ã¯ãªããä»éããåé¡ã§ããããšãã°ããªããžã§ã¯ãã®åæé 眮ã®ç°åžžãããã¬ãŒã å ã®æå³ããªãå¹²æžãªã©ã§ãããããããã®åŸããªãã¬ãŒã¿ãŒãã«ãŒãã«å ¥ããŠåŠç¿ã·ã¹ãã ãäœæãããã®å Žã§çããŠãã人ã ãå·»ã蟌ãããšãªãåé¡ã解決ããŸãã
ãã1ã€ã®ã¢ã«ãŽãªãºã ãããã¯ãšã³ãã«ããããšãšUIããã³ããšã³ãã®ééãã«ã€ããŠ
bin-picking «bin-stuffing», .. . â . , .
, , . . .. , , . , .
, . , ( , ). - :
, .. , :
Backend
, websocket-, :
, Coordinator . , Rabbit mongoDB, , ( ). , .
, , backend- , ML .
UI
. , UI , . .
AWS console, Yandex console, , , , . .
, .
, -> -> , , , -> , .
, ââ. , UX . â . UI robot Console .
bin-picking «bin-stuffing», .. . â . , .
, , . . .. , , . , .
, . , ( , ). - :
, .. , :
Backend
, websocket-, :
, Coordinator . , Rabbit mongoDB, , ( ). , .
, , backend- , ML .
UI
. , UI , . .
AWS console, Yandex console, , , , . .
, .
, -> -> , , , -> , .
, ââ. , UX . â . UI robot Console .
次ã¯äœã§ãã
ããããã®èšçœ®ãšã»ããã¢ããã®ãããªã2åã§æ®åœ±ããããã€ãã®ã¿ã€ãã®ã¿ã¹ã¯ã®ããã¢ãŒã·ã§ã³çšã®è³æãæºåããŸãã
åæã«ãçè§£ãããã人æ°ã®ãããã³ãããã³ã°ã«å ããŠãæ°ããå®çšçãªã¢ããªã±ãŒã·ã§ã³ãæ¢ããŠããŸãïŒç§ã¯å人çã«å»ºèšçŸå Žã§ããããã䜿çšããããšã倢èŠãŠããŸãïŒã
æ°ãæä»¥å ã«ãç§ãã¡
ã ããæ€ç«ã¯è¯ãã£ãã§ãïŒ