设置抓å–ç–ç•¥ ================== æœ¬ç« ä¼šè¯¦ç»†ä»‹ç»å¦‚何设置抓å–ç–略。所有抓å–任务的设置抓å–ç–ç•¥æµç¨‹éƒ½æ˜¯ä¸€æ ·çš„。 .. image:: images/Pick_intro.png :scale: 100% | 抓å–ç–略决定了机器人该如何抓å–物体。设置æµç¨‹åŒ…括以下4æ¥ï¼š .. contents:: :local: 1. 设置夹爪模型 ------------------------------------- 1. 选择一个夹爪模型,然åŽç‚¹å‡»ä¿å˜å¤¹çˆªæ¨¡åž‹ã€‚该模型åªç”¨äºŽæ˜¾ç¤ºç›®çš„。 .. image:: images/select_tcp.png :scale: 60% | 2. 点击定义夹爪ä¸å¿ƒç‚¹ï¼Œç„¶åŽç‚¹å‡»æ˜¾ç¤ºæŒ‰é’®ã€‚这是å¯ä»¥çœ‹åˆ°åæ ‡çš„è¾“å…¥æ¡†ï¼Œè¾“å…¥TCPçš„åæ ‡å’Œæ—‹è½¬æ¥å®šä¹‰ï¼›ä¹Ÿå¯ä»¥åœ¨æ˜¾ç¤ºçª—å£ä¸Šæ‹–动æ¥å®šä¹‰ï¼Œ 然åŽç‚¹å‡»ä¿å˜å³å¯ã€‚ .. image:: images/define_tcp1.png :scale: 60% | .. note:: 实际使用时,建议用机器人建立TCP(tool center point)åŽï¼Œä»Žæœºå™¨äººå¤„å°†TCPä½ç½®è¾“入进这一æ¥ï¼Œä¹‹åŽæœºå™¨äººæ”¹ç”¨æ³•å…°çš„ä½ç½®(0,0,0)进行交互。 .. image:: images/ur_tcp.png :scale: 60% 2. 设置TCP与物体的相对关系 ----------------------------- 这一æ¥æ˜¯ä¸ºäº†è®°å½•å¤¹çˆªæŠ“å–ç‰©ä½“æ—¶çš„æ ‡å‡†ç›¸å¯¹ä½ç½®å…³ç³»ï¼Œè¿™ä¸€æ¥ä¹Ÿè¢«ç§°ä¸ºç¤ºæ•™ã€‚ 虚拟示教 ~~~~~~~~~ 虚拟示教是由用户手动输入TCP 到 物体的相对关系å˜æ¢ã€‚ 1. é¦–å…ˆä»Žå·¦è¾¹çš„æ ‡ç¾åˆ—æ¥é€‰æ‹©ä¸€ä¸ªè¦ç¤ºæ•™çš„ç‰©ä½“æ ‡ç¾ã€‚ 2. 点击 ``+`` æ·»åŠ ä¸€ä¸ªæŠ“å–姿势, 然åŽæ‰‹åŠ¨è¾“å…¥TCP和物体的相对关系。 3. 以下图为例,x,y 为0, z 为10mm, rx 为180°。那么在抓å–时,抓å–ä½ç½®å°±æ˜¯TCP在物体以å‚照点为基准的æ£ä¸Šæ–¹10mm处。 .. tip:: 由于夹爪定义时z轴是å‘上的,抓å–时通常是从上往下抓(zè½´æœä¸‹ï¼‰ï¼Œè€Œç‰©ä½“çš„zè½´æœä¸Šï¼Œé€šå¸¸è™šæ‹Ÿç¤ºæ•™éœ€è¦æœ‰ä¸€ä¸ª rx 或者 ry çš„180°旋转。 .. image:: images/virtual_teach_pose.png :scale: 70% 4. 输入cluster ID, æ¥åˆ†é…示教组。更多关于组群抓å–ã€ç¤ºæ•™ç»„ 请查阅 :ref:`组群抓å–` **åŒä¸€ä¸ªç‰©ä½“建立了多个示教时,如果有其ä¸ä¸€ä¸ªç¤ºæ•™ç‚¹ä½æ— 法执行抓å–,例如被箱体挡ä½ï¼Œåˆ™ä¼šä½¿ç”¨å‰©ä½™æ— 碰撞的示教关系。** 真实示教 ~~~~~~~~~ çœŸå®žç¤ºæ•™æ˜¯ç”±ç”¨æˆ·ç§»åŠ¨æœºå™¨äººè‡³æ ‡å‡†çš„æŠ“å–姿æ€ï¼Œç„¶åŽå‘é€è¯¥ä½å§¿è‡³æœºå™¨äººè§†è§‰è®¤çŸ¥ç³»ç»Ÿï¼Œç”±æœºå™¨äººè§†è§‰è®¤çŸ¥ç³»ç»Ÿè®¡ç®—并记录TCP和物体的相对关系。 以UR为例 1. é¦–å…ˆä»Žå·¦è¾¹çš„æ ‡ç¾åˆ—æ¥é€‰æ‹©ä¸€ä¸ªè¦ç¤ºæ•™çš„ç‰©ä½“æ ‡ç¾ã€‚ 2. 点击 ``+`` æ·»åŠ ä¸€ä¸ªæŠ“å–姿势,并切æ¢åˆ°çœŸå®žç¤ºæ•™ã€‚ .. image:: images/virtual_teach_pose.png :scale: 70% .. warning:: 1. 需è¦ç¡®ä¿åœºæ™¯ä¸åªæœ‰ä¸€ä¸ªç‰©ä½“ï¼Œå› ä¸ºå¦‚æžœæœ‰å¤šä¸ªç‰©ä½“ï¼Œåˆ™æ— æ³•åˆ¤æ–是以两个ä¸çš„哪个æ¥ç¤ºæ•™ã€‚ 2. 示教过程ä¸ä¸å¯ä»¥ç§»åŠ¨ç‰©ä½“,如果物体ä¸å°å¿ƒç§»åŠ¨äº†ï¼Œåˆ™éœ€è¦é‡æ–°æ‹ç…§å®šä½è¿›è¡Œç¤ºæ•™ã€‚ 3. 如果您是Eye-to-Handé…置,那么请直接点击æ‹ç…§æ¥å®šä½ç‰©ä½“。 .. warning:: 如果您是Eye-in-Hand抓å–,那么在点击æ‹ç…§ä¹‹å‰ï¼Œéœ€è¦å…ˆå‚考下é¢çš„æ¥éª¤ï¼Œå‘é€æœºå™¨äºº **æ‹ç…§ä½å§¿** 到视觉认知系统,然åŽå†ç‚¹å‡»æ‹ç…§å®šä½ç‰©ä½“。 4. æ¥åˆ°URé¢æ¿ï¼Œåˆ‡æ¢åˆ°å‘é€ä½å§¿è„šæœ¬ã€‚ 5. 确认ipå’Œport和机器人视觉认知系统设置的一致。 6. ç§»åŠ¨æœºå™¨äººè‡³æ ‡å‡†æŠ“å–姿æ€ã€‚并设置current pose为当å‰å§¿æ€ã€‚ 7. 调用daoai_teach_pose()函数,è¿è¡Œæœºå™¨äººè„šæœ¬ï¼Œå‘é€å½“å‰ä½å§¿ã€‚ .. image:: images/ur_teach_pose.png :scale: 70% 7. 回到网页,点击获å–姿势,æˆåŠŸåŽï¼Œå¤¹çˆªå’Œç‰©ä½“的抓å–ä½ç½®å…³ç³»ä¼šåœ¨å³è¾¹çš„显示窗å£ä¸æ˜¾ç¤ºå‡ºæ¥ã€‚点击ä¿å˜æ¤ä½å§¿å³å¯ã€‚ .. image:: images/teach_pose_example_1.png :scale: 70% 8. 点击ä¿å˜æ¥ä¿å˜è¿™ä¸ªæŠ“å–关系。 .. tip:: 在真实示教åŽï¼Œä»ç„¶å¯ä»¥åˆ‡æ¢åˆ°è™šæ‹Ÿç¤ºæ•™æ¥æŸ¥çœ‹ã€å¾®è°ƒæ‰€è®°å½•çš„TCP和物体的相对ä½ç½®å…³ç³»ã€‚ 9. 输入cluster ID, æ¥åˆ†é…示教组。更多关于组群抓å–ã€ç¤ºæ•™ç»„ 请查阅 :ref:`组群抓å–` **åŒä¸€ä¸ªç‰©ä½“使用多个示教时,如果有其ä¸ä¸€ä¸ªæŠ“å–点ä½æ— 法达到,例如被箱体挡ä½ï¼Œåˆ™ä¼šä½¿ç”¨å…¶å®ƒå¯ä»¥è¾¾åˆ°çš„示教关系。** çµæ´»ä½å§¿æŠ“å–(å¯é€‰ï¼‰ ~~~~~~~~~~~~~~~~~~~ 在示教完æˆåŽï¼Œå¯ä»¥æŒ‰ç…§éœ€è¦å¯ç”¨çµæ´»æŠ“å–ä½å§¿ã€‚çµæ´»æŠ“å–ä½å§¿ä¸»è¦æ供了2ç§çµæ´»æŠ“å–ç–略:优先从上方抓å–,优先以最å°çš„倾斜抓å–。 .. image:: images/teach_pose_example_1.png :scale: 70% **优先从上方抓å–:** 当物体产生倾斜时,以å‚考系(定义ROI时箱体工具的åæ ‡è½´ï¼‰çš„z轴为上方,优先从上方抓å–。 .. image:: images/pick_from_top.png :scale: 70% **优先以最å°çš„倾斜抓å–:** å½“ç‰©ä½“äº§ç”Ÿå€¾æ–œæ—¶ï¼Œä»¥å®šä¹‰çš„æ ‡å‡†æŠ“å–姿æ€ä¸ºå‡†ï¼Œä¼˜å…ˆä»Žå®šä¹‰çš„æ ‡å‡†æŠ“å–ä½å§¿è¿›è¡ŒæŠ“å–。 .. image:: images/pick_with_less_tilt.png :scale: 70% 1. å¯ç”¨å¤¹çˆªï¼šçµæ´»æŠ“å–ä½å§¿ã€‚ 2. 设置夹爪ä¸å¿ƒå¯¹ç§°åŽŸç‚¹ï¼Œåœ¨å€¾æ–œã€æ—‹è½¬å¤¹çˆªæ—¶ï¼Œä¼šä»¥è¿™ä¸ªç‚¹ä¸ºåŸºå‡†æ—‹è½¬ã€‚ 3. 勾选显示çµæ´»åº¦ï¼Œå¯ä»¥åœ¨æ˜¾ç¤ºçª—å£ä¸‹æ–¹æ‹–动çµæ´»åº¦é¢„览,查看å…许旋转的最大角度。 .. image:: images/flexibility_preview.png :scale: 70% 4. å…许z轴倾斜: 是å¦å…许夹爪倾斜抓å–。 5. 相对倾斜轴:å…许夹爪在哪个轴上进行旋转 6. 倾斜角度:å…è®¸å¤¹çˆªå’Œç‰©ä½“ä»¥æ ‡å‡†æŠ“å–ä½å§¿ä¸ºåŸºå‡†çš„最大倾斜角度,推èä¸å¤§äºŽ20°。 7. 旋转抓å–ç–略: ä¼˜å…ˆä»Žä¸Šæ–¹æŠ“å– æˆ–è€… 优先以最å°å€¾æ–œæŠ“å– 8. zè½´å¯æ—‹è½¬ï¼šé€‰æ‹©1, 360度,180度,ä¸å…许z轴旋转。 9. 全部设置完æˆåŽï¼Œç‚¹å‡»ä¿å˜æ¤ä½å§¿å®Œæˆè®¾ç½®ã€‚ 组群抓å–(å¯é€‰ï¼‰ ~~~~~~~~~~~~~~~~~~~~~~ 组群抓å–(cluster picking)是一ç§æŠ“å–ç–略。指在抓å–时,采用è·ç¦»ç‰©ä½“最近的示教组群的示教关系进行抓å–。其目的是为了应对物体在远离示教点ä½æ‰§è¡ŒæŠ“å–æ—¶äº§ç”Ÿçš„è¯¯å·®å¢žåŠ çš„çŽ°è±¡ã€‚ - 组群的选择:抓å–时,è·ç¦»ç‰©ä½“最近的示教组群会被选择用于抓å–ç–略。 .. image:: images/cluster_picking.png :scale: 70% - 组群内的选择:åŒä¸€ç»„群内如果å˜åœ¨å¤šä¸ªç¤ºæ•™å§¿æ€ï¼Œé‚£ä¹ˆæŠ“å–时,会优先采用rz旋转最å°çš„姿æ€ã€‚ - 组群的分布:示教组群的ä½ç½®åº”å‡åŒ€åˆ†å¸ƒåœ¨æŠ“å–的空间内以达到更好的抓å–效果。 - 组群的示教: åŒä¸€æ—群内,示教时物体的ä½ç½®åº”当尽å¯èƒ½ä¿æŒåœ¨å°èŒƒå›´å†…,ä¸è¦è¿‡è¿‡äºŽåˆ†æ•£ã€‚ .. image:: images/cluster_picking_2.png :scale: 70% 3. 设置防碰撞 ------------------------ 防碰撞设置é™åˆ¶äº†æœºå™¨äººå¤¹çˆªå¯ä»¥æŠ“å–的最大倾斜角度,以åŠé™åˆ¶äº†å¤¹çˆªä½ç½®ç”Ÿæˆï¼Œä½¿å…¶ä¸ä¼šç”Ÿæˆåœ¨ä¸Žç®±ä½“å‘生碰撞的ä½ç½®ä¸Šã€‚ .. image:: images/collision_avoidance.png :scale: 70% 1. 防碰撞默认使用了30度的最大机器人倾斜角度,您也å¯ä»¥æ›´æ”¹è¿™ä¸ªé™åˆ¶ä½¿å…¶ç¬¦åˆæ‚¨çš„需求。(如果角度大于ç‰äºŽ180度,则ç‰åŒäºŽå…³é—最大倾斜é™åˆ¶ï¼‰ .. note:: 这里的最大倾斜角度,是以定义场景ROIæ—¶åŒæ—¶å®šä¹‰çš„å‚考系(箱体åæ ‡ï¼‰çš„z轴为基准。任何倾斜角度大于设定的角度的抓å–ä½å§¿éƒ½ä¼šè¢«è¿‡æ»¤æŽ‰ã€‚ 2. 点击使用箱体定义æ“作空间,æ¥å®šä¹‰ä¸€ä¸ªè™šæ‹Ÿç®±ä½“,任何会与虚拟箱体ä½ç½®ç¢°æ’žçš„抓å–ä½å§¿éƒ½ä¸ä¼šè¢«ç”Ÿæˆã€‚ .. image:: images/virtual_bin.png :scale: 70% .. warning:: 显示窗å£ä¸å®šä¹‰è™šæ‹Ÿç®±ä½“çš„ROI工具ä¸ä¼šåŒæ—¶å®šä¹‰å‚考系,åªæœ‰æ£€æµ‹æµç¨‹é‡Œçš„定义场景ROI工具会定义å‚考系。 4. 设置抓å–é¡ºåº ---------------------- 抓å–顺åºå†³å®šäº†ç‰©ä½“该以何ç§é¡ºåºè¢«æŠ“起。在这个æ¥éª¤é‡Œè¿˜å¯ä»¥è®¾ç½®æ˜¯å¦å¯¹é½ç‰©ä½“的旋转。 .. tip:: 例如,圆形的物体,通常旋转ä¸ä¼šé€ æˆç‰©ä½“的改å˜ï¼Œæˆ‘们就会通过对é½ç‰©ä½“的旋转角度,使机器人在抓å–æ—¶ä¸ä¼šæœ‰z轴的旋转,从而节约机器人æ“作。 .. image:: images/pick_sort.png :scale: 70% 1. 设置抓å–顺åºã€‚ .. image:: images/sort_order.png :scale: 70% 例,z值最高,也就是机器人会优先从最上é¢çš„物体抓。 x值最高,(定义å‚考系时,x轴时指å‘å³ä¾§ï¼‰ï¼Œä¹Ÿå°±æ˜¯æœºå™¨äººä¼šä»Žå³åˆ°å·¦æŠ“。 .. note:: 这里的物体的x,y,z值是以å‚考系为基准的,å‚考系是在检测æµç¨‹é‡Œçš„ 定义场景ROI完æˆçš„。 2. 设置物体ä½å§¿çš„xy轴对é½ï¼š .. image:: images/align_pose.png :scale: 70% .. image:: images/order_eg.png :scale: 70% 3. 设置物体的z轴对é½: æ£ï¼šç¡®ä¿ç‰©ä½“çš„zè½´æœä¸Šï¼Œå¦‚果检测匹é…到了zè½´æœä¸‹çš„物体,则使物体的zè½´é¢ å€’ï¼Œä»Žè€Œæœå‘上方。 负:确ä¿ç‰©ä½“çš„zè½´æœä¸‹ï¼Œå¦‚果检测匹é…到了zè½´æœä¸Šçš„物体,则使物体的zè½´é¢ å€’ï¼Œä»Žè€Œæœå‘下方。 4. 使用层过滤: å¯ç”¨åŽï¼Œå¯ä»¥è®¾ç½®å±‚é—´è·ï¼ˆmm),会过滤掉以最上方的物体ä½å§¿ä¸ºåŸºå‡†ï¼Œå‘下多少mm以外的物体åæ ‡ã€‚ä¹Ÿå°±æ˜¯åªä¿ç•™æœ€ä¸Šé¢ä¸€å±‚的物体åæ ‡ã€‚ .. tips:: å¦‚æžœæ‚¨æœ‰å †å 摆放的物体,需è¦æ¯æ¬¡æŠ“å–一层,然åŽæ¯å±‚从å³å¾€å·¦æŠ“。您å¯ä»¥è®¾ç½®ä½¿ç”¨å±‚过滤,然åŽä½¿ç”¨æŠ“å–顺åºï¼šXå€¼æœ€é«˜ã€‚è¿™æ ·å°±å¯ä»¥åˆ†å±‚+顺åºæŠ“å–。 探测和抓å–全部设置完æˆåŽï¼Œæ‚¨çš„任务就准备好进行部署了。请å‚考 :ref:`任务部署`