程丙南,郭 俊,梅志松,李艷軍,王 陳
(蕪湖安普機器人產業技術研究院有限公司,安徽 蕪湖 241007)
在工業生產中,存在著大量重復性動作,例如組裝、搬運、打包等。隨著人力成本的日漸增加,工業機器人越來越多地被應用于這些場合,尤其是碼垛作業[1]。
碼垛大多為工業生產的后道工序,產品種類多,體積、重量較大,導致人工作業效率低、危險性高。將工業機器人用于碼垛工序,使其按照預先設定的碼垛方式,逐個逐層將各種產品從生產線上取走,分類擺放在規定托盤或其他載體上,無需人工操作,極大地提高了效率和安全,降低了生產成本[2]。
對于碼垛機器人,若使用示教再現的現場編程方式,則存在精度低、效率低、后期改動維護復雜等問題。所以,為提高編程效率,使編程者遠離危險的工作環境,改善編程環境,機器人虛擬離線編程逐漸被廣泛應用[3]。但在很多情況下,離線編程未能很好地考慮實際情況,例如速度、垛型等問題。其基本思想是利用離線仿真技術,構造虛擬機器人及其工作環境;在虛擬模型中引入機器人和場景,同時操作者能夠操縱機器人在場景中移動,可以選擇不同的觀察角度,從不同的側面觀察機器人的運動情況;可以在計算機屏幕上引導虛擬機器人末端執行器運動,進行虛擬在線示教,產生機器人作業軌跡,由此生成機器人語言程序,將編輯好的程序保存在PC機上,并傳送給機器人控制器。
本文以四自由度關節型機器人IRB660為研究對象,運用SolidWorks軟件建立碼垛工作站的三維實體模型,導入RobotStudio,再利用Smart組件設置動態效果[4],并進行仿真,為機器人編程和調試提供安全靈活的環境,提高編程效率,指導現場生產,在一定程度上提高了現場操作人員的安全性,減輕了現場調試的工作量。
整體思路如圖1流程圖所示。工作站中的物體模型利用SolidWorks繪制,機器人模型由RobotStudio創建,二者共同組建工作站硬件部分;產品在傳送帶上運行及信號傳遞的仿真效果,則由Smart組件負責;機器人程序與Smart組件共同構成工作站的軟件部分。

圖1 設計流程圖
工作站總覽如圖2所示。主體機器人型號為IRB660;碼垛盤和機器人底座、夾具均用SolidWorks繪制;輸送鏈、控制柜、示教器、安全圍欄均來自RobotStudio自帶部件庫。其中,夾具需要添加工具屬性,創建工具坐標系,使其能被RobotStudio識別為工具,并通過拖動安裝至機器人法蘭盤上,控制柜、示教器、安全圍欄僅作為圖形,不參與仿真。

圖2 工作站總圖
目前,大多同類設計采用的是,產生一個物體,機器人將其搬走,再產生下一個物體,這與實際嚴重不符。所以,本工作站設計物體連續產生,且種類隨機。那么,則存在當輸送鏈前端產生物體模型時,控制產生此物體模型的信號并不能立即發送至機器人,而是在物體到達輸送鏈末端時,才向機器人發送對應信號。所以,產生物體模型和向機器人傳送信號的動作不是同步進行,即連續產生了多個物體模型后,第一個物體模型才到達輸送鏈末端。因此,當Smart組件發出信號,產生物體模型時,要鎖存此信號,并在需要時發送至機器人。為解決此問題,本文采用動態設計。工作站動態設計為Smart組件的編制,主要有兩部分:一是隨機產生兩種不同物體模型,二是向機器人發送物體對應信號[5]。
用SolidWorks繪制機器人底座、夾具、托盤模型,保存為STEP格式,然后導入RobotStudio,由于本文著重介紹工作站設計,對SolidWorks建模不做贅述。需要注意的是,將機器人夾具模型導入后,由于后續坐標系建立及Smart組件編輯需要,必須對其進行設置,將其設定為系統可以識別的工具,可以直接安裝到機器人六軸法蘭盤上。
第一步,修改機器人底座的本地原點,將底座原點修改至頂部合適位置,這樣即可通過拖動直接將機器人安裝至底座上;第二步,打開機器人工作空間顯示,將兩個托盤排放至合適位置;第三步,從RobotStudio自帶的模型庫中,導入輸送鏈模型,為了仿真更接近實際效果,使輸送鏈上可以同時存在多個物體,導入了兩個模型,并進行拼接,再結合機器人工作區域,擺放至合適位置,如圖3所示。至此,已完成工作站設計必要硬件部分的搭建[6]。

圖3 工作站必要硬件部分圖
2.3.1準備工作
仿真中,Smart組件整體邏輯為:仿真開始后,產生一個物體模型,顏色隨機,紅色或藍色(代表兩類不同產品);該物體模型從輸送鏈前端往機器人方向運動,當一個物體模型移動一段距離后,產生下一個物體模型,這樣依此類推,達到傳送帶運送產品的仿真效果,且每次產生的物體模型是隨機的,即不確定紅色還是藍色,這樣模擬實際生產效果。最后,當物體模型移動到輸送鏈末端時,所有物體模型暫停運動,并向機器人發送對應信號,機器人控制工具移動至設定位置,抓取物體模型,將其擺放至設定位置,其中,工具抓取、松開物體模型的動作,也是由Smart組件完成。
2.3.2隨機產生兩種不同物體模型
利用Smart組件中的“生成隨機數”組件,結合判斷大小的組件,即可實現隨機產生兩種信號的組件結構,如圖4所示。之后,在將這兩個信號接入Source組件,產生模型復制體,模擬產品連續進入輸送鏈的效果。

圖4 產生兩種不同物體模型Smart組件邏輯原理圖
2.3.3物體運動及信號傳遞
前文提到,利用Source組件產生模型復制體。但是,由于復制體不止一個,需要將Source組件產生的復制體添加至Queue組件中,再利用LinearMover組件,使這些復制體沿直線運動,模擬產品在輸送鏈上運動的效果。
利用PlaneSensor組件(面傳感器)來傳遞信號,如圖5所示。當工作站開始運行時,只有第一次產生模型復制體的信號由仿真組件給出,之后,利用1號面傳感器的下降沿信號,觸發產生模型復制體;當復制體運動到輸送鏈末端,觸發8號面傳感器時,再把此復制體對應的信號傳給機器人;所以,產生一個模型復制體的信號,需要利用2次,因此要用多個面傳感器,結合LogicSRLatch組件和LogicGate組件,將信號保持并傳遞下去,圖6表示了復制體經過1號、2號面傳感器時的信號保持及傳遞,第3至7號面傳感器同理。

圖5 面傳感器布局圖

圖6 面傳感器信號傳遞圖
2.3.4機器人抓取、松開動作
抓取、松開動作所需的組件為Attacher和Detacher組件。將LineSensor組件(線傳感器)安裝到夾具中心,當復制體移動到輸送鏈末端,機器人接收到產品信號后,則激活線傳感器,同時,末端復制體觸發線傳感器,激活Attacher組件,實現夾具抓住物體的效果;當機器人將物體移動至設定位置時,機器人取消激活線傳感器,利用此信號激活Detacher組件,實現夾具松開物體的效果[5]。
機器人的標準I/O板提供的信號有數字輸入DI、數字輸出DO、模擬輸入AI、模擬輸出AO。I/O板是下掛在DeviceNet現場總線下的設備,此處采用DSQC651板,設定地址為10,連接總線為DeviceNet。碼垛工作站I/O信號如表1所示[8]。

表1 機器人I/O信號
碼垛程序編寫思路:示教基準點、計算擺放偏移量。碼垛程序編寫主要示教點:起始點、抓取基準點、擺放基準點(兩個)、過渡點。不同于大多碼垛工作站,將產品緊密擺放,本項目為了接近實際效果,模型之間留出空隙;將模型的一個面設置為白色,代表實際生產中粘貼產品信息的位置。所以,碼垛時這一面始終對著外面,利用過渡點進行姿態調整,奇數層和偶數層的垛型如圖7a、b所示[9]。

圖7 垛型及基準點圖
以圖7c圈中基準點為原點建立工件坐標系,所有產品的擺放位置,即相對于基準點的空間坐標,將由此點偏移計算得出。圖中標注了XY軸正方向,Z軸正方向為豎直向上。許多碼垛項目采用物體頂點進行偏移計算,存在無法兼容多種不同尺寸產品的問題,所以,這里使用物體的中心點,結合其長寬高數據,可以使偏移計算公式,適用任意尺寸,計算得出各點坐標如表2所示。

表2 各碼垛點坐標
需要注意的是,由于每層的第二個物體相對于第一個物體,均需要旋轉180°,而機器人編程時,旋轉180°無法確定方向,不能直接使用軸運動指令旋轉,所以需要拆分成兩次旋轉,每次旋轉90°。
最后,設計復位程序,利用CRobT指令讀取當前位置,再改變其Z軸坐標值,即可實現豎直向上移動,最后移動到Home點,完成復位。比起許多設計中采用的過渡點復位法,這種復位方法,在實際中可以有效避免機器人碰撞周圍物體,更加安全、高效。
機器人系統與Smart組件的I/O邏輯連接,即為工作站邏輯設定,如圖8所示。

圖8 工作站邏輯圖
完成上述設定,進行仿真模擬,期間效果如圖9所示。當某一托盤滿垛(8層、每層5個),仿真會自動停止并復位。效率上可達到10 s碼垛一個產品,足以滿足實際生產中的需求。

圖9 仿真模擬圖
本文根據工業實際生產情況,用SolidWorks繪制所需模型,在RobotStudio中選擇合適的四自由度工業機器人,搭建一個自動化碼垛工作站。為了更加貼近實際,利用Smart組件,對被碼垛物體的種類進行設定;再通過編程、工作站邏輯設定,實現全自動碼垛仿真。
與大多碼垛工作站設計相比,本工作站設計更加貼近實際效果,在仿真中實現了產品連續、種類隨機、垛型合理;在程序設計上,示教點極少,程序精煉,效率高。
該設計為實際生產中碼垛機器人編程提供了可靠的思路、方法,但存在實際生產中,坐標系建立及碼垛位置偏移方向達不到理論精度的問題,因此程序無法直接套用至實際項目中。所以,優化程序、路徑等內容將作為后續的研究目標。
簡而言之,仿真設計是為了方便現場調試,減少工程師任務量,降低調試危險度,提高編程效率;同時,使工業機器人在碼垛作業上的應用更加便捷、廣泛、安全、可靠。