張 毅,王彥博,付華森,時峻峰,陳 霓
1.重慶郵電大學先進制造工程學院,重慶市南岸區崇文路2號 400065
2.湖北省煙草公司宜昌市公司,湖北省宜昌市西陵區沿江大道42號 443000
3.湖北眾與和智能裝備科技有限公司,湖北省宜昌市西陵區黃河路8號 443000
近年來工業機器人在工業生產和物流運輸領 域中發揮了重要作用[1],替代了大量重體力、重復性工作,而碼垛機器人在其中扮演著重要角色。目前常用的碼垛系統主要是對單一或規則的物體搬運碼垛[2],在此過程中動作固定且智能化程度較低,因此無法滿足多品種不規則組合碼垛需求。對此,李紅果等[3]設計了一種多垛型機器人碼垛系統,采用一次抓取分批次放置的整體方案,提出一種基于垛型數據結構的機構,解決了多垛型的碼垛問題,但該系統仍然針對的是單一品種碼垛。童上高等[4]提出了一種基于機器視覺的多品種包件碼垛方法,通過提取包件的圖像特征進行識別匹配,完成各品種包件識別并分類碼垛,但各品種之間缺乏互相組合匹配的碼垛要求。在煙草物流的碼垛裝配中,由于客戶訂單的復雜性和隨機性會導致不同數量的條煙包裝成形狀不同的煙包,且要求條煙交叉碼放,5層為一個整體,以利于碼放的穩定性,避免損壞條煙。因此,由25條煙組成的5×5煙包可以直接進行碼垛,而其他不規則形狀的煙包則需要匹配成整層煙包再進行碼垛操作。傳統的煙包碼垛通常由人工進行匹配和碼放,勞動強度大,工作效率低,無法滿足煙草物流現代化生產需求。目前機器視覺技術在生產制造領域得到廣泛應用[5],是獲得環境信息的主要手段之一,可以有效提高系統的靈活性。為此,設計了一種基于機器視覺的不規則煙包校對碼垛系統,以期實現條煙包裝自動匹配,提高物流系統碼垛效率。
該系統主要由組合碼垛系統和視覺識別系統兩部分構成,見圖1。通過機器視覺技術對輸送帶上的煙包動態檢測確定其形狀,判斷是否與上位機數據庫中的煙包信息一致,核對信息無誤后進行組合碼垛。在此過程中上位機監控軟件對設備運行狀態及煙包檢測結果進行實時監控,以方便了解系統工作狀況。

圖1 系統布局示意圖Fig.1 Schematic diagram of system layout
組合碼垛系統分為硬件部分和軟件部分,是整個系統的框架支撐,主要實現碼垛煙包的預排層、位姿調整、上位機界面顯示、機械臂動作編程與信號反饋等功能。
1.1.1 硬件部分
組合碼垛系統的硬件部分主要由翻轉機構、矯正裝置、碼垛機器人、機械抓手、氣動裝備、緩沖平臺、升降平臺和托盤管理裝置等部分組成。其中,翻轉機構對目標煙包完成180°翻轉;矯正裝置通過導條、擋板、氣缸和光電傳感器等調整煙包姿態,以方便碼垛機器人快速抓取;機械臂采用德國庫卡公司生產的六軸機械臂,末端執行機構為機械抓手,適合煙包抓放且不損壞煙包;升降平臺和托盤管理裝置共同實現托盤的固定、自由升降和自動輸送。
1.1.2 軟件部分
軟件部分包含上位機控制程序和底層PLC程序以及機器人執行程序的設計,見圖2。上位機界面程序由C#和SQL Sever實現,完成不規則煙包的預排層算法、煙包路徑規劃和實時信息的監控。PLC程序控制翻轉機構、矯正裝置、抓手、升降平臺以及傳感器的信號反饋。機器人執行程序包括接收啟動/停止信號,根據上位機發送的煙包路徑實時執行碼垛動作。
1.1.3 組合碼垛步驟

圖2 系統結構示意圖Fig.2 Schematic diagram of system structure
在上位機中將煙包訂單信息導入數據庫中,使用預排層算法[6]計算出每個煙包的處理步驟,包括是否需要匹配、待匹配煙包在緩沖區的暫放位置、是否需要翻轉、在緩沖區的擺放位置、在托盤上的擺放位置等。根據預排層算法每個煙包可能進行的操作有4種情況:①煙包內有25條煙,則將煙包直接放置在托盤上;②緩沖區沒有可以進行匹配的煙包,則將煙包放置在緩沖區的空閑位置上;③緩沖區有可以進行匹配的煙包,則將煙包匹配后放置在托盤上;④煙包進行兩次匹配,即匹配一個煙包后,在緩沖區找到另一個煙包匹配成符合要求的5層煙包。
本研究中采用碼放煙包不多于兩次匹配的方案,只有在緩沖區的煙包個數大于某一數量時,才采用3個煙包進行匹配,以快速減少緩沖區的煙包數量,提高碼垛效率。因此,完成煙包匹配需滿足以下3個條件。
第一,第一次匹配后的頂層或者匹配層的煙包數量大于等于3個,即:

式中:a為待匹配煙包的條煙數量,取值范圍為[5,25];b為緩沖區待匹配煙包的條煙數量,取值范圍為[5,25];%為除以5之后取其余數,下同。
第二,第二個緩沖區待匹配煙包要滿足頂層數量大于等于3個,即:

式中:c為第二個待匹配煙包的條煙數量。
第三,3個煙包匹配后的層數為5層,即:

式中:/為除以5之后取其整數。
由此得到預排層算法流程,見圖3。經過計算,將這些數據保存在上位機中等待PLC調用。計數器將采集到的計數值發送到上位機,用于確定當前待處理煙包的序列,上位機再將此序列煙包需要進行的操作編碼發送給PLC,由PLC控制各設備實現對煙包的翻轉和矯正。
根據計算結果,系統最終確定煙包是否可以直接在托盤上碼放,如果不能則在緩沖區中尋找合適的煙包進行匹配再進行碼垛;如果仍然無法滿足條件,則將煙包放置在緩沖區中等待后面煙包進行匹配。煙包的匹配和碼放均由機械臂和抓手配合完成,機械臂移動路徑由上位機計算并由PLC控制。組合碼垛流程見圖4。

圖3 預排程算法流程圖Fig.3 Flowchart of pre-scheduling algorithm
視覺識別系統主要由光源、CCD相機、計算機、圖像處理單元、機器視覺處理軟件、人機接口、通訊接口等組成。根據碼垛系統的性能要求,視覺識別系統應具有正確、快速和及時響應等特性。在組合碼垛過程中保證煙包實時信息的正確非常重要,一旦因人工失誤或者包裝出錯導致煙包實時信息與數據庫信息不匹配,則會造成后續操作連續錯誤。為此,通過引入機器視覺技術對不規則煙包識別和校對,及時反饋煙包信息,避免碼垛時出現組合匹配錯誤,進而提高整個系統的智能化程度和安全性。

圖4 組合碼垛流程圖Fig.4 Flowchart of parcel stacking
對不規則煙包的識別過程見圖5。采集目標圖像信息后快速進行圖像預處理,提取圖像特征并進行匹配,根據匹配結果選擇組合碼垛或者出錯報警,以保證系統順利運行和煙包正確輸送。
相機直接提取的圖片中含有大量數據信息,例如灰度、顏色、邊緣、紋理等特性,以及由于相機自身或是環境影響產生的噪聲[7]。因圖像預處理不僅能消除部分噪聲,提升圖像質量,還可以提高圖像的處理速度,有利于后續特征的提取和匹配。圖像預處理[8]主要包括圖像增強、圖像濾波、圖像二值化以及孔洞填充[9]。圖像增強是通過改變灰度值使圖像中目標物體與背景差距更明顯,進而達到增強對比度的效果。在采集圖像時,因相機曝光時間過短等原因會出現圖像質量差、對比度弱等問題[10],可能導致目標在圖像上表現出較為模糊的邊角特征。圖像的平滑濾波可以去除圖像在獲取及傳輸過程中所攜帶的部分噪聲,圖像二值化[11]是以閾值為標準進行圖像分割,將目標區域從原圖中區分出來。圖6可見,在預處理后的目標二值圖像中,局部區域仍然處于未分割狀態,這可能是由于目標物體所帶的毛刺噪聲以及孔洞噪聲造成的,利用數學形態學進行運算處理則可以消除這種影響。
經過圖像預處理得到較為理想的目標二值圖后就可以進行特征提取,考慮到本系統中的不規則煙包由條煙組成,具有明顯的角點、邊緣特征[12],因此提取煙包目標圖像中的Harris角點特征,通過歸一化互相關匹配法完成角點特征的粗匹配,再利用改進的RANSAC算法建立特征點雙向斜率關系,剔除誤匹配點,實現不規則煙包的準確匹配。
2.2.1 Harris角點檢測
圖像的角點特征是圖像中具有強烈突變性的點,例如邊緣曲線上曲率極大值的點或者亮度劇烈變化的點。角點特征對旋轉、亮度變化都有較強的魯棒性,抗干擾能力強[13],且角點提取過程簡單,有利于后續特征匹配。角點檢測則是基于灰度檢測或者通過邊緣檢測來計算其特征[14]。其中,邊緣檢測計算量較大,而基于灰度的角點檢測可采用圖像梯度及曲率作為檢測信息,適用于本系統。圖7可見,Harris角點檢測原理是通過一個小窗口使其任意移動,若窗口內灰度值變化幅度大,則窗口內含有角點;若灰度值變化只在某個方向上移動,則判定為邊緣;若灰度值幾乎不發生變化,則判定為正常區域。

圖5 視覺處理流程圖Fig.5 Flowchart of visual processing

圖6 圖像預處理Fig.6 Image preprocessing

圖7 角點示意圖Fig.7 Schematic diagram of corner points
2.2.2 歸一化互相關匹配法
歸一化互相關匹配法是一種簡單有效的角點匹配方法,并在一定程度上改善了錯誤匹配問題。其原理是通過一個窗口對比原圖與模板圖像在窗口內灰度值的相似度,若是符合設定的閾值則判斷為匹配點對,進而完成角點特征匹配。圖8為目標煙包與模塊庫煙包的二值圖角點匹配效果圖,其中大部分角點實現了正確匹配,但仍然存在少量的誤匹配點對。因此,提出了一種改進的RANSAC(Random Sample Consensus)算法[15]剔除誤匹配點對,以提高匹配精度。

圖8 歸一化互相關角點匹配Fig.8 NCC corner point matching
2.2.3改進的RANSAC算法剔除誤匹配
針對歸一化互相關匹配法中存在的誤匹配點問題,提出了一種改進的RANSAC算法來改善,通過正確的匹配點對之間具有相對斜率的關系來篩選其中不符合要求的點對。設定(Ai,Aj)是目標煙包A中的特征點,(Bi,Bj)為模板庫中煙包的特征點,如果兩者為正確匹配關系,則Ai和Bi的絕對斜率k(Ai,Bi)應該等于Aj和Bj的絕對斜率k(Aj,Bj)。于是,利用特征點之間的雙向斜率關系完成篩選,評價函數為:

其中,R(i,j)表示Ai,Bi與各自圖像每個特征點斜率的相對差異;K(i,j)表示Ai,Bi與各自圖像每個特征點斜率。圖9可見,經過改進的RANSAC算法有效剔除了其中的誤匹配點,模板圖像與目標圖像實現了精確特征點配對。

圖9 改進的RANSAC算法角點匹配Fig.9 Corner point matching of modified RANSAC algorithm
材料:“紅金龍(硬盒)”牌卷煙(由湖北省煙草公司宜昌市公司提供)。
設備:庫卡KR 470-2 PA工業機械臂(德國庫卡機器人有限公司);歐姆龍CP1H-E型號PLC(日本歐姆龍自動化有限公司);R-125-30uc型CCD相機(北京大恒圖像視覺有限公司),214-MP2鏡頭(日本Computar公司)。軟件:Halcon13、Visual Studio2017、OpenCV和SQL Sever;計算機CPU為Intel CORE i5。
方法:將不規則煙包視覺系統與組合碼垛系統集成整合,進行煙包匹配和組合碼垛試驗,以驗證系統的準確性和穩定性。隨機選取某一訂單總計85包,其中包含所有形狀的不規則煙包。根據上位機獲取的訂單信息按順序將煙包放在輸送帶上,依次通過視覺檢測后進行組合碼垛,統計組合碼垛數據;隨機取5種煙包分別重復試驗100次,統計煙包識別速度、匹配正確率等數據。
表1可見,視覺系統能夠準確判斷輸送煙包是否有誤,出現錯誤時發出報警并啟動預排層算法重新規劃,防止因煙包錯放而導致后續工序出錯。根據煙包輸送速度和碼垛機器人運行速度,可以滿足800包/h的碼垛要求。
表2可見,采用視覺識別系統后,煙包匹配正確率在97%以上,特征提取時間不超過360 ms/次,總匹配時間不超過1.6 s,各項指標均滿足煙包碼垛速度和可靠性要求,實現了基于機器視覺的煙包識別功能。

表1 煙包碼垛試驗結果①Tab.1 Results of cigarette parcel stacking experiment

表2 煙包匹配試驗結果①Tab.2 Results of cigarette parcel matching experiment
針對煙草物流中不規則煙包的碼垛流程,設計了一種基于機器視覺的不規則煙包自動碼垛系統。利用翻轉機構和矯正裝置調整煙包位姿實現精確定位,保證碼垛機器人的準確抓取;利用機器視覺技術對煙包識別匹配并用改進的RANSAC算法剔除誤匹配點對,提高識別精度實現不規則煙包的實時校對。現場測試結果表明:煙包匹配正確率在97%以上,特征提取時間不超過360 ms/次,總匹配時間不超過1.6 s。本系統在保證可靠性的同時可以滿足碼垛生產要求,有效減輕工人勞動強度,提高煙草物流智能化水平。