婷婷中文字幕视频在线,成人亚洲AV无码专区在线电影,黄网在线看免费,日韩无码性爱视频,日本成熟牲交视频,国产无夜精华无码网站

更多聯(lián)系我們

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

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


官方微信


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

首頁 > ABB機器人維修 >

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

日期:2018-05-22 人氣: 來源:www.dianziyouhuiquan.cn 作者: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):www.dianziyouhuiquan.cn

北碚区| 冷水江市| 龙里县| 辽阳市| 沈丘县| 长岭县| 车险| 临潭县| 兴安盟| 屏南县| 马山县| 积石山| 秦皇岛市| 合作市| 瓦房店市| 偃师市| 衡水市| 息烽县| 金溪县|