亚州永久无码一级,国产又粗又猛又黄又爽的视频 ,国产日韩欧美制服丝袜,国产娇喘喷水呻吟在线观看,久热中文字幕在线精品观 ,韩国精品无码一区二在线

更多聯(lián)系我們

廣州子銳機器人技術(shù)有限公司

電話:400-878-2528
手機:15889988091
傳真:020-32887675
地址:廣州市番禺區(qū)東環(huán)街金山谷創(chuàng)意八街1號109


官方微信


添加微信幫助解決機器人故障

首頁 > ABB機器人維修 >

ABB機器人維修-ABB機器人創(chuàng)建碼垛程序

日期:2018-05-22 人氣: 來源:etongyue.com 作者:ABB機器人維修

簡介:1)什么是碼垛? 有規(guī)律的移動機器人進行抓取及放置 2)ABB機器人維修-如何簡便碼垛程序 設置好工件坐標系,工具,對第一個碼垛放置點進行示教,xyz方向的間距和個數(shù)可設 3)如何創(chuàng)建 創(chuàng)建m_pallet模塊 建立兩個 在init 程序里,設置xyz方向個數(shù)和各方向間距……
  
  1)什么是碼垛?
  有規(guī)律的移動機器人進行抓取及放置
  2)ABB機器人維修-如何簡便碼垛程序
  設置好工件坐標系,工具,對第一個碼垛放置點進行示教,xyz方向的間距和個數(shù)可設
  3)如何創(chuàng)建
  創(chuàng)建m_pallet模塊
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  建立兩個
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  在init 程序里,設置xyz方向個數(shù)和各方向間距
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  在p_main程序里,創(chuàng)建機器人移動到pHome點,pPick位置(抓取位置),以及第一個放置點
  通過三層for循環(huán),進行碼垛。實例程序為先x方向,再y方向,再z方向    
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
 
  其中偏移如下:
  創(chuàng)建有規(guī)律的機器人旋轉(zhuǎn)
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  1)如果有上圖所示6個產(chǎn)品位置要吸取,如何最快速的創(chuàng)建點位?(純示教?Naive,太體力活了。)
  2)如下圖,我們可以發(fā)現(xiàn)1號位置和0號位置姿態(tài)一樣,1號相對于0號就是一個半徑的偏移,2-6號位置相對于0號也都是一個半徑的偏移,2-6號姿態(tài)均朝向圓心。由于圖中為6個,即從2號開始,每個點姿態(tài)相對于1號旋轉(zhuǎn)了60°
        ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  3)是不是可以只要示教0號點位置,同時已知半徑(未知的話,自己量一下),就能自動算出其他6個點位置而不用示教了呢?答案當然是可以的!。
  4)由于涉及到坐標系偏移和旋轉(zhuǎn),所以要做好Tool和工件坐標系
  5)創(chuàng)建工具gripper_dual,假設z方向100,工具的Z方向為工具延伸方向
         ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  6)如下圖創(chuàng)建坐標系,圓心在中間,0號到1號方向為X,y如圖。下圖中的工件坐標系Z朝下(滿足右手法則)。這樣創(chuàng)建主要是為了計算方便。
         ABB機器人維修-ABB機器人創(chuàng)建碼垛程序
  7)在workwobject2坐標系,gripper_dual工具下,示教中間產(chǎn)品位置Target_center,此時工具的Z必須垂直于產(chǎn)品平面,即工具的Z朝下。(其實只是要用這個點的姿態(tài)和z,這個點的xy都是0,因為這個點在workobject2坐標系處于原點,即xy都是0)
  8)設置圓心到第一個產(chǎn)品的距離(即半徑radius),這里舉例
  9)我們假設第一個位置叫Target1,則在workobject2坐標系下
  Target1:=Target_center;!先讓Target1位置和姿態(tài)都等于
  Target1.trans.x:=radius*cos(60*0);!重新計算位置的
  Target1.trans.y:=radius*sin(60*0);!重新計算位置的
  Target1:=RelTool(Target1,0,0,0Rz:=0*60);!得到計算后的位置x和y后,tcp繞著工具的Z旋轉(zhuǎn)60°。
  10)通過上述例子,就得到了Target1位置,注意是在workobject2坐標系下。
  11)再配合test等流程,就可以比較簡單的完成6個位置的計算和移動,如下
    PROC main()
    radius:=21.45;
    count1:=1;
    WHILEcount1<7 DO
    rHome;
    cal;
    routine1;
    count1:=count1+1;
    ENDWHILE
    ENDPROC 
    PROC routine1()
    MoveJoffs(Target_temp,0,0,-30),v500,z1,gripper_dualWObj:=Workobject_2;
    MoveLTarget_temp,v500,z1,gripper_dualWObj:=Workobject_2;
    WaitTime 1;
    MoveLoffs(Target_temp,0,0,-30),v500,z1,gripper_dualWObj:=Workobject_2;
    ENDPROC
    PROC cal()
    Target_temp:=Target_center;
    TEST count1
    CASE 1:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=(count1-1)*60);
    CASE 2:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=60);
    CASE 3:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=120);
    CASE 4:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=180);
    CASE 5:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=-120);
    CASE 6:
    Target_temp.trans.x:=radius*cos(60*(count1-1));
    Target_temp.trans.y:=radius*sin(60*(count1-1));
    Target_temp:=RelTool(Target_temp,0,0,0Rz:=-60);
    ENDTEST
    ENDPROC
    PROC rHome()
    MoveJpHome,v500,z1,gripper_dualWObj:=wobj0;
    ENDPROC

文章來源,工業(yè)機器人維修官網(wǎng):etongyue.com

托克托县| 宜兰县| 通渭县| 太谷县| 江都市| 京山县| 泾川县| 太康县| 大方县| 阿瓦提县| 调兵山市| 彭阳县| 珠海市| 景洪市| 山西省| 阿尔山市| 灵川县| 红桥区| 沙湾县|