王臘苗
(寶雞職業技術學院,陜西 寶雞 721013)
分揀工作已逐漸發展為工業生產、物流運輸、航空航天、教育醫療等領域不可或缺的重要環節。在傳統的分揀作業工作中,多利用純人工方式進行工件抓取、分揀等存在分揀效率低、分揀錯誤率高等弊端。為此,有研究機構開始嘗試利用圖像識別技術結合PLC等開發出一種能夠自動完成工件分揀工作的機械臂系統,大大降低了工件分揀工作中的人力成本,縮短了分揀工作所耗時間。然而,隨著現代工業等領域對重復性強、場景單一地分揀作業系統分揀智能化要求的不斷提升,利用傳統圖像方法完成機械臂分揀作業逐漸暴露出準確率低、魯棒性差以及可移植性不足等問題,需要一種更加智能化的方法進行機械臂分揀系統工作優化。本文所開發系統,具備一定的目標檢測模型配置選擇優越性,能夠一定程度提升機械臂分揀系統工作成功率和穩定性。
傳統分揀系統作業需要通過人工手段提前為機械臂分揀系統構建工件構造特征,將構造特征錄入系統以后作為模板進行分揀作業工件定位、識別等,一旦工件發生變化,則需要再次對檢測目標進行特征構造,重新錄入系統開展后續工作。而利用深度學習目標檢測算法,可以實現機械臂分揀系統特征構造環節的機器學習,不再需要對工件特征進行多次構造,進而增強分揀系統的可移植性。機械臂分揀系統整體架構如圖1所示。

圖1 機械臂分揀系統整體架構Fig.1 The overall structure of sorting system of robot arm
該層主要由機械臂和圖像采集裝置(攝像頭)構成:機械臂負責接收上層指令完成對工件的抓取和分揀工作;圖像采集裝置負責對工件的圖像信息進行獲取并傳送至上層控制層。系統應用層是外部能夠直接觀察到的層面。
該層主要負責處理圖像采集裝置傳送的圖像并對機械臂發送控制指令。首先,圖像預處理軟件接收圖像采集裝置利用USB通信發送的圖像信息;其次,將預處理完畢后的圖像矩陣發送至圖像處理單元對獲取的工件信息和模型進行預測,得到工件的位置、類別等目標檢測信息;最后,將目標檢測信息發送至機械臂控制模塊生成G代碼等控制指令。
該層主要用于對機械臂分揀系統的搭建,為系統運行提供算法資源并對基于深度學習目標檢測算法的機械臂分揀系統工件模型進行訓練評估。服務器層在完成算法訓練后,能夠得到大量浮點數組成的模型配置權重文件,利用該文件能夠準確描述多種構造特征工件的結構和參數值。服務器層通過系統搭建和算法訓練,能夠將機械臂分揀系統中的工件模型部署和封裝到控制層,進而對應用層的機械臂具體動作與形態進行控制。
機械臂分揀性能對系統硬件設備依賴性極強,本研究在一定預算要求下對系統硬件設備進行了籌備,詳細系統硬件設備選型如表1所示。本次機械臂分揀系統硬件設備主要包括服務器、圖像處理平臺等。

表1 機械臂分揀系統硬件選型Tab.1 Hardware selection of sorting system of robot arm
與系統整體框架對應所得機械臂分揀系統硬件架構如圖2所示。工件在處于USB工作環境下后,通過攝像頭USB方式將拍攝圖片傳輸至Jetson Xavier;圖片信息經Jetson Xavier中的預處理模塊處理完成以后生成圖像矩陣;圖像矩陣發送給Jetson Xavier目標檢測模塊獲取工件的位置、形狀、類別等特征后發送給Jetson Xavier中的機械臂控制模塊生成G代碼,進而實現對機械臂的控制。該硬件架構實現了機械臂分揀系統中指令與數據的回路。

圖2 機械臂分揀系統硬件架構Fig.2 Hardware architecture of sorting system of robot arm
一般的機械臂分揀系統中,目標檢測模塊通過高清攝像設備中顏色模塊的感知等很容易對某物體進行定位并分類。但是當背景復雜或存在多個物體混雜在一起時,單純的目標檢測難度往往迅速提升,一般的算法將很難從圖像中提取某些抽象概念并進行準確定位。
深度學習是一種發源于人工神經網絡的學習結構,深度學習理論與目標檢測算法的融合,能夠通過組合圖像中的底層特征形成更加抽象的高層表示屬性類別或特征,以發現待檢測目標圖像中各區域數據的分布式特征表示。基于深度學習的目標檢測算法,能夠利用服務區期限算法進行不斷的訓練,使機械臂分揀系統構造特征能夠適應工件類型、位置等的不斷 變化,具有較強的泛化性和高移植性如圖3所示。

圖3 基于深度學習的目標檢測算法流程Fig.3 Flow chart of object detection algorithm based on deep learning
圖3虛線框中目標檢測算法流程中RPN本質上是一個能夠反映風險順序數的全卷積神經網絡,RPN接收的特征圖是經卷積層、池化層等作用以后部分輸出的特征圖,輸出為待檢測目標圖像中某候選區域預測及算法對該檢測區域屬于背景/目標等的判斷結果。RPN的輸出結果將會在ROI池化層中伴隨工件構造特征數據庫提供數據生成固定長度的特征向量,之后通過全連接層對特征向量進行目標分類,進入最優抓取位置檢測。
本文構建基于深度學習目標檢測算法的機械臂分揀模型主要通過兩部分進行優化:①構建了用于提取待檢測工件圖像候選區域的RPN模塊;②構建了用于檢測并識別待檢測工件圖像候選區目標的快速R-CNN模塊。其中RPN模塊框架如圖4所示。

圖4 模塊框架Fig.4 Module framework
RPN框架主要由卷積層和全連接層構成。如圖4所示,卷基層位于模塊框架下層,以一個像素為1,將若干個像素構成的矩形作為圖像信息獲取中使用的矩形滑動窗口,在RPN框架中進行二維到三維的位姿轉換,得到該滑動窗口掃過圖片區域的256維特征向量。將所得特征向量按照cls、reg層兩種劃分原則進行分類,分別用于定位滑動窗口位置以及判斷掃過位置圖片信息屬于目標或者背景。將矩形滑動窗口中心作為錨點,分別生成基于該圖片的k個形狀各不相同的一系列矩形錨框,按照cls、reg層兩種劃分原則進行錨框目標得分和回歸邊界劃分。
快速R-CNN模塊利用CNN網絡結構用來進行目標檢測和語義分割任務。快速R-CNN模塊工作流程主要分兩步:將卷積神經網絡CNN運用到自下而上的region proposals上來定位和分割目標,當標簽訓練樣本不足時,可以在相關監督學習任務上進行精調,能產生顯著的性能提升。
本文利用深度學習優化后的目標檢測算法,將機械臂最佳分揀位置檢測分為兩步級聯系統:第1步,利用RPN模塊和快速R-CNN模塊選擇一系列包含目標物的待檢測區域;第2步,將第1步獲取的檢測區域錨框目標得分和回歸邊界進行計算,得到最優分揀框并表示為圖5所示的機械臂分揀位置示意圖。

圖5 機械臂最佳分揀位置示意圖Fig.5 Schematic diagram of optimal sorting position of robot arm
其中橢圓部分表示工件帶分揀目標;(,)表示待檢測區域最佳分揀框在圖像坐標系中的中心位置;矩形框表示機械臂夾持器位置,實線部分待檢測區域分揀框的“長”為夾持器開口方向;表示待檢測區域分揀框的“長”與坐標系縱軸之間的夾角。利用深度學習算法對不同矩形框的表面法向量特征進行提取,經過旋轉、白化數據等操作,得到待檢測區域最佳分揀位置的若干組搜索框,通過權值訓練得到最優的唯一一個搜索框,該搜索框即為機械臂最佳分揀位置分揀框。
為驗證本次構建基于目標檢測算法的機械臂分揀系統工作性能,本文設計兩組實驗對機械臂分揀中的分揀動作成功率、準確率等進行分析。其中,實驗一為未進行深度學習的一般目標檢測算法機械臂分揀系統與本系統工作性能對比實驗;實驗二為兩種不同工藝、材料以及構造特征工件利用本系統進行抓取時的性能驗證實驗。
以一般目標檢測算法機械臂分揀系統為對照組(A),深度學習優化目標檢測算法機械臂分揀系統為實驗組(B),對同一工件進行抓取分揀進行30次對比試驗,機械臂抓取分揀成功則記錄為1,未抓取分揀成功則記錄為0,所得實驗結果如表2所示。

表2 不同算法機械臂分揀系統抓取分揀結果Tab.2 Grasping and sorting results of robot arm sorting system of different algorithms
按照“成功率=成功樣本數/總樣本數”進行計算,A組整體分揀成功率為46.7%,B組分揀成功率為93.3%,實驗組分揀成功率優勢明顯更高,同時,利用深度學習優化后的目標檢測算法,除第一次及第二次未抓取分揀成功以外,其余抓取分揀動作均成功,可見該學習算法在對機械臂分揀抓取動作進行訓練后取得了明顯成效。
以某一號工件為對實驗組Ⅰ,以某二號工件為實驗組Ⅱ,利用深度學習優化目標檢測算法機械臂分揀系統進行30次抓取分揀試驗,機械臂抓取分揀成功則記錄為1,未抓取分揀成功則記錄為0,所得實驗結果如表3所示。

表3 不同工件機械臂分揀系統抓取分揀結果Tab.3 Grasping and sorting results of robot arm sorting system of different workpieces
從整體成功率角度分析,兩組試樣分揀成功率相同均為96.7%,表明了本系統進行工件分揀時的優越性;但工件二在進行第五次實驗時出現了一次抓取失敗,按照理論上對深度學習優化以后的目標檢測算法分析,越往后抓取分揀的成功率應越高,本文通過對實驗過程進行復原推理,并未發現實驗中存在不嚴謹情況,屬正常結論。
綜上,本文構建了一種基于目標檢測的機械臂分揀系統,該系統的目標檢測算法在經過深度學習優化以后,能夠獲得遠高于一般目標檢測算法的抓取分揀成功率。隨著現代工業對機械臂分揀系統應用范圍的擴大,分揀系統抓取分揀工件成功率、準確率成為機械臂分揀系統發展過程中最為主要的研究領域,本研究旨在為工業分揀、機械臂等研究領域提供理論與經驗借鑒。