摘 要:針對機器人視覺分揀程序調(diào)試效率和安全性問題,本文設計了一種基于RobotStudio、In-Sight Explore和C#的虛擬仿真系統(tǒng)。系統(tǒng)利用RobotStudio導入真實工作站模型,結合PC SDK和Smart組件開發(fā)了自動截圖應用程序,使機器人視角能夠快速切換和截圖;使用In-Sight Explore軟件進行視覺識別和定位。系統(tǒng)完整模擬了相機拍照、視覺識別定位和機器人分揀的全流程。試驗結果表明,仿真調(diào)試后的程序經(jīng)過簡單設置就可以在真實機器人上運行,提高了調(diào)試效率和安全性,縮短了真實機器人的調(diào)試時間,降低了碰撞風險,對提升機器人視覺引導分揀技術的應用水平具有重要意義。
關鍵詞:機器人視覺;虛擬仿真;工業(yè)機器人;RobotStudio仿真;康耐視相機
中圖分類號:TP 241 " " " " " " 文獻標志碼:A
工業(yè)機器人是制造業(yè)在轉(zhuǎn)型升級過程中不可替代的重要裝備。ABB IRB 360工業(yè)機器人具有質(zhì)量輕、體積小和速度快等優(yōu)點,其廣泛應用于食品、電子和藥品等行業(yè)的物料分揀中[1]。機器人視覺引導技術為分揀機器人提供了視覺能力,極大程度地提高了機器人分揀物料的靈活性[2]。在機器人視覺引導分揀的過程中,相機自動實時計算產(chǎn)生機器人移動目標點的坐標,與示教編程相比,增加了機器人調(diào)試撞機的風險,因此本文針對該技術進行虛擬仿真研究[3]。在嵌入式視覺系統(tǒng)中,多數(shù)文獻只著重于整個流程中的單個環(huán)節(jié),例如對機器人運行等環(huán)節(jié)進行仿真演示,很少提及相機照片采集的仿真,也缺乏對仿真程序應用于真機的運行效果的分析。因此本文根據(jù)真實機器人工作站模型[4]搭建仿真環(huán)境,結合RobotStudio和In-Sight Explore仿真軟件,利用C#設計機器人視覺引導虛擬仿真平臺,完成相機拍照、視覺識別并定位以及機器人分揀的全流程仿真。進行簡單設置后,仿真程序能夠在真實工作站中運行,提高了仿真的真實度和應用價值。
1 虛擬仿真系統(tǒng)總體方案
為保障在仿真系統(tǒng)中運行的程序能夠直接應用于真實工作站中,須保持仿真系統(tǒng)和真實工作站的系統(tǒng)工作流程和工作原理一致。
1.1 真實機器人工作站系統(tǒng)組成
真實機器人視覺引導分揀工作站系統(tǒng)組成如圖1所示。在工作站中包括3個控制器:機器人、智能相機以及PLC。機器人位于工作站中央,使用ABB IRB360-1/0.8型號Delta機器人執(zhí)行分揀任務。智能相機安裝在工作區(qū)域上方,選擇康耐視8402 視覺傳感器,分辨率為1 600 ppi×1 200 ppi,其作用是拍照并識別傳送帶中藥丸的位置信息和顏色信息。PLC控制傳送帶和振動盤,實現(xiàn)藥丸自動上料和傳輸?shù)裙δ堋S捎跈C器人直接與相機通信,PLC與機器人視覺引導無關,因此本文不介紹PLC的選型和仿真。相機程序和機器人Rapid程序之間采用TCP通信,其工作流程如圖2所示。
智能相機使用康耐視In-Sight Explore編程環(huán)境,其工作流程包括以下5個步驟。1)初始化設置。使用9點標定法,建立像素坐標與機器坐標之間的轉(zhuǎn)換關系,供后續(xù)計算機器坐標;對4種藥丸的顏色進行學習,建立顏色庫,供后續(xù)提取藥丸顏色。2)圖片采集和圖片預處理。相機建立TCP服務器,監(jiān)聽相機客戶端發(fā)送的拍照指令,一旦接收到相機的拍照指令,就立即自動拍照,并對采集的圖片進行白平衡和灰度預處理。3)計算機器坐標。利用特征提取、特征匹配完成藥丸識別,并提取藥丸的像素坐標,再采用9點標定法得到的坐標轉(zhuǎn)換矩陣將像素坐標轉(zhuǎn)換為機器人的機器坐標。4)提取藥丸顏色信息。將圖片中識別的藥丸顏色與顏色學習中建立的顏色庫進行比較,提取藥丸顏色信息。5)TCP數(shù)據(jù)傳輸。利用TCP通信以字符串的形式將得到的藥丸的機器坐標和顏色坐標傳輸給機器人。
工業(yè)機器人的Rapid程序的工作流程包括以下4個步驟。1)與相機進行通信。建立Socket客戶端,發(fā)送拍照指令給相機服務器,觸發(fā)相機拍照,接收從相機端傳來的字符串數(shù)據(jù)。2)數(shù)據(jù)提取。從接收的字符串中提取坐標信息和顏色信息,并存儲到機器人的程序變量中。3)機器人抓取藥丸。機器人根據(jù)提取的藥丸坐標信息完成抓取藥丸動作。4)機器人放置藥丸。機器人根據(jù)提取的顏色信息將藥丸放置在對應顏色的輸出傳送帶上。
1.2 虛擬仿真平臺總體設計
根據(jù)真實工作站的結構,整個仿真平臺由RobotStudio軟件,In-Sight Explorer軟件以及C#應用程序組成。其中ABB機器人的離線編程軟件RobotStudio具有仿真功能,能夠搭建機器人工作站模型,并對機器人Rapid 程序進行虛擬仿真,軟件中的Smart組件可以完成工具吸盤的拾取和放置[5]、藥丸的隨機擺放以及視圖角度切換等動作的仿真??的鸵旾n-Sight Explorer軟件是配置和調(diào)試智能相機的工具,具有仿真功能,可以讀取離線圖片,進行視覺調(diào)試和仿真。需要實現(xiàn)物料自動生成、吸盤動態(tài)抓取以及自動對圖片進行采集和預處理等功能,來完成RobotStudio與In-Sight Explorer軟件的協(xié)調(diào)控制。為了解決上述問題,采用C#應用程序連接RobotStudio和In-Sight軟件,對機器人、相機和應用程序之間的數(shù)據(jù)進行傳輸和協(xié)調(diào),完成全流程的視覺引導虛擬仿真。
視覺引導虛擬調(diào)試平臺總體架構如圖3所示,虛擬仿真平臺工作流程如下。1)自動生成隨機擺放的藥丸。利用RobotStudio中的Smart組件模擬在實際生產(chǎn)過程中藥丸的隨機分布,在輸入傳送帶相機視角自動生成隨機擺放的藥丸。2)視角切換與截圖。利用RobotStudio中的Smart組件自動切換工作站模型視角。當需要模擬相機拍照時,C#應用程序調(diào)用PC SDK提供的API,控制RobotStudio中的Smart組件,使其將視角切換到指定的俯視截圖角度。3)自動截圖與圖片處理。當RobotStudio完成視角切換后,C#應用程序自動對屏幕指定區(qū)域進行截圖。對截圖得到的圖像進行處理,轉(zhuǎn)換為與康耐視8402相機1 600 ppi×1 200 ppi分辨率一致的彩色圖像,并存儲于計算機的指定路徑中,以供In-Sight Explorer軟件讀取。4)視覺處理與數(shù)據(jù)傳輸。In-Sight Explorer 軟件讀取存儲的截圖,采用相機配置的視覺算法對藥丸進行識別,提取藥丸的位置坐標和顏色信息。利用TCP/IP通信將提取的信息以字符串的形式發(fā)送至RobotStudio中的虛擬控制器。5) 機器人接收數(shù)據(jù)并執(zhí)行動作。RobotStudio中的Rapid程序接收來自相機的數(shù)據(jù),解析字符串,提取藥丸的位置信息和顏色信息。機器人根據(jù)接收的坐標信息在輸入傳送帶拾取對應的藥丸,再根據(jù)顏色信息將藥丸放置在對應的輸出傳送帶上,使RobotStudio的Smart組件設計的藥丸拾取放置動態(tài)效果更好。
2 RobotStudio系統(tǒng)軟件設計
在虛擬仿真平臺中RobotStudio系統(tǒng)軟件設計的任務主要是搭建機器人虛擬控制器和工作站仿真模型以及設計Smart組件。
2.1 工作站仿真模型搭建
在RobotStudio中搭建工作站仿真模型,具體步驟如下。1) 導入機器人模型。選擇 ABB IRB360-1/0.8型號的Delta機器人,在RobotStudio中導入其3D模型。2)創(chuàng)建虛擬控制器。使用RobotStudio“添加站和機器人”功能創(chuàng)建虛擬控制器。在創(chuàng)建過程中,需要勾選“709-1 DeviceNet Master/Slave”和“616-1 PC Interface”選項,以支持與相機進行 TCP/IP 通信。3)添加外圍設備。將傳送帶、振動盤和藥丸等模型導入工作站。
2.2 Smart組件設計
為實現(xiàn)機器人藥丸隨機擺放、吸盤拾取放置以及視角的自動切換等功能,需要設計和配置Smart組件。
2.2.1 藥丸隨機擺放組件
為了模擬在實際生產(chǎn)過程中藥丸的隨機分布,本文設計SC_RandomPills的Smart組件,具體技術細節(jié)如下。1)生成隨機位置。調(diào)用Random控件分別在相機視野范圍內(nèi)隨機生成藥丸的X、Y坐標。2)產(chǎn)生藥丸物料源。使用Source控件產(chǎn)生1個藥丸的拷貝。藥丸的位置屬性Position來源于生成的隨機位置X、Y坐標。Source控件采用事件觸發(fā)機制,機器人每完成一次搬運就觸發(fā)一次Source控件,生成一次藥丸。
2.2.2 吸盤拾取放置組件
為了模擬機器人的吸盤抓取和放置動作,設計了SC_VacuumGripper的Smart組件,具體技術細節(jié)如下。1)檢測藥丸。在吸盤中添加1個線傳感器控件LineSensor,來感知藥丸是否與吸盤接觸。2) 拾取和放置動作。利用控件Attacher和Detacher完成拾取動作和釋放動作,并將該控件的觸發(fā)信號與機器人Rapid程序中的真空開啟輸出信號do_Grip關聯(lián)。當do_Grip接通時,如果線傳感器中感知有藥丸,那么調(diào)用Attacher,將藥丸附著在吸盤上,隨吸盤一起移動;當do_Grip斷開時,如果線傳感器中感知有藥丸,那么調(diào)用Detacher,解除藥丸與吸盤的附著關系,藥丸停留在原地,不隨吸盤移動。
2.2.3 視角切換組件
設置視角切換的邏輯,在接收到C#應用程序的觸發(fā)信號后,自動將工作站由運行視角(如圖4(b)所示)切換至預設的俯視截圖角度(如圖4(a)所示)。Smart組件SC_ScreenShot技術細節(jié)如下。1)創(chuàng)建2個視角,分別為“視角_截圖”和“視角_運行”。2)視角切換。監(jiān)聽來自C#程序的布爾型信號diMoveView1,當信號為True時,調(diào)用MoveToViewpoint組件切換到“視角_截圖”,以保證截圖的統(tǒng)一性。視角切換完成后,發(fā)送布爾型信號do_View1Done至C#程序,通知C#可以進行截圖。當監(jiān)聽到來自C#程序的diMoveView1由1變?yōu)?時,說明C#已完成截圖,調(diào)用MoveToViewpoint組件切換至“視角_運行”。
3 C#程序設計
利用C#應用程序連接機器人仿真軟件RobotStudio軟件和相機仿真軟件In-Sight,利用ABB機器人提供的PC SDK控制RobotStudio進行視角轉(zhuǎn)換,使C#應用程序?qū)崿F(xiàn)自動截圖以及圖片處理等功能,以供In-Sight軟件讀取。
使用C#編程語言建立與RobotStudio中虛擬控制器的連接,需要在ABB官網(wǎng)下載并安裝對應的PC SDK安裝包[6],在Visual Studio解決方案中添加引用ABB.Robotics.Controllers.PC.dll。
C#應用程序流程如圖5所示,C#應用程序使用ABB.Robotics.Controllers類庫指令掃描并登錄ABB機器人系統(tǒng),獲得機器人虛擬控制器的控制權。讀取與前述機器人Smart組件相關的機器人I/O信號,控制機器人I/O信號do_View1Done啟動Smart組件轉(zhuǎn)換為截圖視角。檢測到機器人完成截圖視角轉(zhuǎn)換后使用System.Drawing類庫指令在指定屏幕區(qū)域內(nèi)自動截圖,將獲得的圖片進行處理,分辨率轉(zhuǎn)換為與真實康耐視8402相機規(guī)格一致的1 600 ppi×1 200 ppi,再將圖片存儲至指定目錄中,該目錄須與In-Sight Explorer軟件讀取離線圖像設定的目錄一致。將相關機器人信號do_MoveView1清零,使機器人回到正常運行視角,釋放機器人虛擬控制器的控制權,結束程序。
4 系統(tǒng)虛擬仿真測試
4.1 系統(tǒng)仿真運行
在開發(fā)好的RobotStudio工作站中導入機器人Rapid程序,在In-Sight Explore軟件中打開相機程序,設置讀取離線圖片的路徑,啟動C#應用程序,進行In-Sight Explore軟件聯(lián)機,啟動RobotStudio的仿真播放,完成隨機藥丸的機器人搬運仿真動作。
4.2 真機測試效果
將仿真調(diào)試好的機器人Rapid程序和相機程序部署至真實的機器人和相機上,須進行以下設置。1)IP地址配置。將機器人和相機的IP地址設置為實際網(wǎng)絡中的地址,保證雙方可以通信。2)坐標校準。對相機與真實機器人進行手眼標定,校正坐標系之間的關系。3)示教點調(diào)整。仿真模型與實際設備可能存在偏差,因此需要在機器人中重新示教關鍵點的坐標。4)顏色參數(shù)調(diào)整。在相機程序中,根據(jù)實際藥丸的顏色對顏色識別參數(shù)進行調(diào)整。測試結果表明,機器人能夠準確識別并分揀不同顏色的藥丸,驗證了系統(tǒng)的有效性。
5 結語
本文詳細介紹了基于RobotStudio仿真軟件進行機器人視覺引導系統(tǒng)的設計。利用開發(fā)定制的Smart組件(例如藥丸隨機擺放、吸盤拾取放置和視角切換)使仿真模型功能更強。利用PC SDK和C#語言開發(fā)了自動截圖和數(shù)據(jù)處理應用程序,完成了與仿真環(huán)境的交互。經(jīng)過實際部署和測試,驗證了系統(tǒng)的有效性。該系統(tǒng)提高了程序開發(fā)和調(diào)試的效率,縮短了使用真實機器人調(diào)試的時間,降低了風險,對工業(yè)機器人系統(tǒng)的開發(fā)具有重要的參考價值。
參考文獻
[1]葉暉,管小清.工業(yè)機器人實操與應用技巧[M].北京:機械工業(yè)出版社,2021.
[2]王成軍,韋志文,嚴晨.基于機器視覺技術的分揀機器人研究綜述[J].科學技術與工程,2022,22(3):893-902.
[3]李哲,張小剛,王耀南,等.機器人視覺引導運動控制虛擬仿真平臺設計[J].計算機仿真,2023,40(7):436-439.
[4]陳芳.基于視覺和輸送鏈跟蹤的機器人分揀系統(tǒng)設計[J].深圳職業(yè)技術學院學報,2023,22(4):95-102.
[5]郝瑞林,周利杰,蔡國慶,等.基于機器視覺與RobotStudio
的餅干包裝生產(chǎn)線仿真[J].包裝與食品機械,2022,40(1):64-69.
[6]陳瞭,肖步崧,肖輝.ABB工業(yè)機器人二次開發(fā)與應用[M].北京:電子工業(yè)出版社,2021.
第一作者:陳芳(1977-),女,漢族,湖南省桃源縣人,深圳職業(yè)技術大學機電工程學院副教授,主要研究方向為機電一體化、電氣自動化技術等。
電子郵箱:chenfangsz@szpu.edu.cn。
通信作者:付強(1986-),男,漢族,陜西省略陽縣人,深圳職業(yè)技術大學機電工程學院講師,主要研究方向為虛擬儀器測控技術、電氣自動化技術等。
電子郵箱:fuqiang@szpu.edu.cn。