Robotstudio軟體:工具機上下料工作站機器人示教編程

工業機器人虛擬調試 發佈 2020-02-29T02:29:12+00:00

MoveJ Target_110,v500,fine,TCP2\WObj:=wobj0;除此之外還有主程序Main,它是用來編程機器人運行控制邏輯的,同時還有機器人抓取與放置工件的信號控制指令,這些內容都會在下一期介紹。

工業機器人工具機上下料工作站示教編程相對來講還是比較簡單的,本質上就是機器人搬運的一個具體應用,無非就是把工件由上料位置搬運到數控工具機上,再把加工完成的工件從數控工具機上拆卸下來,然後搬運到工件下料位置,如此循環往復而已。

工藝說明

在虛擬仿真軟體Robotstudio軟體中,機器人示教編程有多種方式,你可以使用「路徑編輯」功能選項卡中的相關功能進行示教編程;也可以使用虛擬示教器,按照機器人現場示教的方法進行示教編程;當然如果你對ABB機器人指令足夠熟悉,你也可以使用Robotstudio軟體自帶的「RAPID」程序編輯器進行示教編程。無論使用哪一種方法進行示教編程,最終實現的都是工件加工工藝過程。

按照機器人工具機上下料工藝,本例我們需要創建6條例行程序,分別是開始與結束位置的機器人Home點程序,自動給料裝置A位置處的取料程序Pick_FA,自動給料裝置B位置處的取料程序Pick_FB,數控工具機上下料程序Machine_Drop_Pick,輸送帶放料程序Conveyor_Drop,以及機器人主程序Main。

Home點程序

機器人Home點程序是機器人加工開始的初始位置點程序,同時加工結束後機器人返回後的最終位置。ABB機器人Home點程序通常使用絕對位置運動指令MoveAbsJ,因為MoveAbsJ指令是使用的機器人6個運動軸的軸角度值來定義目標位置的,機器人執行此指令過程中不受空間姿態影響,直接運行到各軸指定的目標角度位置。將機器人手動運行到合適的位置處,為其示教當前點位置,作為機器人Home點程序,程序中機器人工具選擇tool0。

示教完成的機器人Home程序如下所示:

       PROC Home()
            MoveAbsJ JointTarget_1,v500,fine,tool0\WObj:=wobj0;
        ENDPROC

給料裝置取料與輸送帶放料程序編寫

給料裝置A取料程序是典型的機器人搬運程序,它屬於搬運程序中的取料程序。這類程序有一個共同的特點,就是在可以使用較少的示教位置點實現複雜的機器人搬運程序,因為程序中大部分示教點可以被重複使用。最簡潔的機器人取料程序,只需要示教兩個機器人位置點即可實現,其中一個點用來調整機器人工具姿態,另一個點是機器人的工件取料位置點。比如我們本例中的這個機器人取料程序,只需要示教三個位置點即可,其中的Target_10是機器人工具姿態調整點,也就是把機器人工具調整到與工件垂直的姿態。Target_30是機器人抓取工件位置點,在這一點處機器人實現對工件的抓取。

Target_20是工件抓取上方位置點,這一點是機器人對工件抓取的位置調整點,在這一點處機器人工具要完全對準工件的抓取位置,然後使用線性運動指令MoveL,直接運行機器人準確到達工件抓取位置處,同時機器人抓取完工件後的返回過程中,為了避免工件與周邊設備發生干涉,因此同樣需要準確的向上運行到抓取上方位置處,然後再進行自由運動。所以,這裡的工件抓取上方位置點我們重複使用了兩次,示教編程過程中只需要複製粘貼即可,然後修改一下指令的運動類型即可。由於這一點是Target_30的垂直正上方位置點,因此這裡我們完全可以使用ABB機器人的位置偏移功能Offs(),直接對Target_30在Z軸方向上偏移一個合適的距離,這樣我們就不需要手動示教Target_20點位置了,此時的機器人抓取工件程序也就變成了最簡潔的兩點機器人搬運程序。

示教編程過程中,我們規定機器人工具的TCP1作為機器人從自動給料裝置取料的TCP,而TCP2作為機器人從數控工具機上取料的TCP,機器人例行程序如下圖所示。

       PROC Pick_FA()
            MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
            MoveJ Target_20,v500,z100,TCP1\WObj:=wobj0;
            MoveL Target_30,v500,fine,TCP1\WObj:=wobj0;
            MoveL Target_20,v500,z100,TCP1\WObj:=wobj0;
            MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
        ENDPROC

給料裝置B取料程序與給料裝置A取料程序是一致的,由於機器人是對同一個給料裝置進行取料,而這兩個取料位置的所需的工具姿態又相同,所以給料裝置B取料的機器人程序中可以與給料裝置A取料程序共用一個機器人工具姿態調整點Target_10,示教時只需把Target_10點程序複製粘貼即可,完整機器人例行程序如下所示。

   PROC Pick_FB()
            MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
            MoveJ Target_40,v500,fine,TCP1\WObj:=wobj0;
            MoveL Target_50,v500,fine,TCP1\WObj:=wobj0;
            MoveL Target_40,v500,fine,TCP1\WObj:=wobj0;
            MoveJ Target_10,v500,z100,TCP1\WObj:=wobj0;
        ENDPROC

輸送帶的放料程序的示教編程思想與機器人自動給料裝置取料程序的編程思想類似,同樣可以用三個機器人位置點完成示教編程,如下圖中的Target_140、Target_150、Target_160所示,只是前者的目的是放置工件,而後者的目的是放置工件,這裡就不過多介紹了。

機器人輸送帶放料例行程序,如下圖所示。

    PROC Conveyor_Drop()
            MoveJ Target_140,v500,fine,TCP2\WObj:=wobj0;
            MoveJ Target_150,v500,fine,TCP2\WObj:=wobj0;
            MoveL Target_160,v500,fine,TCP2\WObj:=wobj0;
            MoveL Target_150,v500,fine,TCP2\WObj:=wobj0;
            MoveJ Target_140,v500,fine,TCP2\WObj:=wobj0;
        ENDPROC

數控工具機上下料編程

數控工具機上下料機器人程序與自動給料裝置取料程序、輸送帶放料程序不同。我們試想一下,機器人從自動給料裝置上取來待加工工件,如果是工作站剛啟動運行,那麼此時數控工具機上並沒有加工完成的工件,所以此時機器人直接將取來的工件安裝到數控工具機上即可;但是如果工作站並不是剛啟動運行,那麼此時的數控工具機上必定有加工工件,機器人在安裝新的待加工工件之前,需要先把加工完成的工件取下來,然後再進行安裝。這也就是機器人工具上有兩個工作位置的原因。

示教數控工具機上下料機器人程序時,我們暫時不用考慮第一次啟動運行的情況,直接按照正常運行的情況進行示教。上面我們已經規定了機器人工具的TCP1作為機器人從自動給料裝置取料的TCP,TCP2作為機器人從數控工具機上取料的TCP。正常情況下需要先從數控工具機上取下加工完成的工件,因此這裡首先使用機器人TCP2進行示教編程。選擇合適位置點Target_100進行示教,作為機器人工具機上下料起始位置點。

Target_110~ Target_130點與自動給料裝置抓取工件程序類似,Target_110是機器人工具姿態調整點。在Target_110點位置處,機器人工具旋轉90°,因為工具機上的工件是垂直狀態安裝的,工具旋轉之後才能實現抓取拆除工作。Target_130點是機器人在數控工具機上抓取已加工完成工件的位置點,Target_120點是抓取位置上方點。

​Target_80、Target_90點是機器人放置待加工工件程序點,Target_90點是機器人在數控工具機上安裝工件的位置點,Target_80點是安裝工件上方位置點,這與機器人輸送帶放料程序完全一致。同時,Target_80點位置與Target_120點相同,Target_90點位置與Target_130點相同,不同的是Target_80、Target_90點使用的是機器人工具的TCP1。機器人由Target_120點向Target_80點運行過程中實現工具工作位置的切換,即由TCP2轉換為TCP1,以實現由抓取工件轉換為放置工件。

完整的機器人工具機上下料例行程序如下圖所示。

    PROC Machine_Pick_Drop()
        MoveJ Target_100,v500,fine,TCP2\WObj:=wobj0;
        MoveJ Target_110,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_120,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_130,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_120,v500,fine,TCP2\WObj:=wobj0;
        MoveL Target_80,v500,fine,TCP1\WObj:=wobj0;
        MoveL Target_90,v500,fine,TCP1\WObj:=wobj0;
        MoveL Target_80,v500,fine,TCP1\WObj:=wobj0;
        MoveJ Target_110,v500,fine,TCP2\WObj:=wobj0;
        MoveJ Target_100,v500,fine,TCP2\WObj:=wobj0;
    ENDPROC

運行效果如下圖。

除此之外還有主程序Main,它是用來編程機器人運行控制邏輯的,同時還有機器人抓取與放置工件的信號控制指令,這些內容都會在下一期介紹。

總結

通過上述工具機上下料程序的示教,可以看出機器人搬運類程序的共有特點是,以機器人工作位置點(抓取點、放置點)為中心,工作點前後的程序點完全對稱,示教編程時可以充分利用這一大特點,簡化程序數量,降低示教編程工作量,提高編程效率。

The End


上一篇:Robotstudio軟體:機器人後台運行程序創建與運行測試

關鍵字: