張立婷 鐘楊?!±讉ゾ↑S輝 陳劍鋒



摘 要:隨著電商平臺的發展,快遞行業的整體規模迅速壯大,在物流成交量比較高的狀態下,極容易出現“錯件”分揀、快遞分揀速度慢等問題,將嚴重影響快遞包裹分揀?,F對工業機器人分揀系統的性能、功能等方面進行研究,用機械臂代替人工分揀,設計出一種基于OpenCV圖像識別的工業機器人分揀系統,進一步提升了工業機器人分揀水平。
關鍵詞:OpenCV;目標檢測;圖像處理;tesseract-OCR;機器人分揀系統
中圖分類號:TP242;TP391.4? 文獻標志碼:A? 文章編號:1671-0797(2023)09-0034-04
DOI:10.10.19514/j.cnki.cn32-1628/tm.2023.09.010
0? ? 引言
隨著各大電商的快速發展,我國快遞行業的整體規模迅速壯大,包裹數量逐年增多,快遞的錯派、丟件等問題也日漸凸顯,傳統人工分揀已經無法適應當前的分揀需求,亟需一種用于自動檢驗、工件加工和裝配自動化以及生產過程的控制和監視的圖像識別機器,按任務需要從原始圖像數據中提取有關信息、高度概括地描述圖像內容,以便對圖像的某些內容加以解釋和判斷。
目前,針對機器人分揀系統的方案研究成為眾多學者關注的熱點。韋志文[1]基于機器視覺設計了一種輕量化的分揀機器人,搭建了實驗平臺并完成了小型鑄件的分揀。李殷[2]基于深度學習提出了工業機器人物品識別分揀系統設計,在建模解析分類之后工業機器人對物品進行實踐分揀操作。馬澤明等人[3]將視覺技術、搬運機器人和無線控制網相結合,設計了一種智能搬運機器人的實驗平臺。王連慶等人[4]構建了一套針對無序來料的定位系統,引導機械手對無序物料進行精確抓取和有序擺放。
本文設計的工業機器人分揀系統與工業相機的快速拍照功能相結合,可實現包裹讀碼后的快速分揀及信息記錄交互等功能,大量減少了分揀過程中的人工需求,提高了分揀效率及自動化程度,并大幅度提高了分揀準確率。
1? ? OpenCV圖像識別
圖像處理技術是用計算機對圖像信息進行處理的技術,通過圖像處理可以提取圖像中的有用信息并精簡數據量,是決定分揀過程是否能夠達到精準且高效的關鍵。本設計采用OpenCV[5]對原始圖像進行預處理,提取圖像特征,進行圖像識別。本項目通過掃描物流包裹上的數字,對包裹進行識別,構建坐標系對機械臂完成協同控制,實現在復雜環境下的包裹分揀,提高了分揀過程中機械臂末端執行器的效能,物流快遞包裹可進行有效分揀,達到快速分揀的目的,提高了工業生產效率,降低了工作成本。OpenCV圖像處理流程圖如圖1所示。
1.1? ? 基于OpenCV的OCR文字識別
傳統的條形碼雖然識別簡單,但是需要學習多種編碼方式。識別條形碼下方數字單號可以直接把數據錄入計算機進行數據處理,得到快遞信息。
OCR文字識別是指對圖像文件進行分析識別處理,獲取文字及版面信息的過程。首先,對快遞信息進行圖像讀取及圖像預處理,再用OpenCV內置的圖像檢測算子進行檢測,最后傳入tesseract-OCR進行識別。這種方法不僅速度快,而且抗外部干擾能力也比較好,可以準確識別快遞的相關數字信息。OCR的技術路線如圖2所示。
1.2? ? 圖像預處理
圖像預處理是在圖片識別之前對圖片進行前期處理,抑制圖片中的無關信息,增強開發者想要的重要信息。
1.2.1? ? 圖像灰度化
圖像灰度化是將一張彩色圖像向灰色圖像轉化的過程。相比于彩色圖像,灰色圖像更容易處理,可以消除顏色干擾。原圖像如圖3所示,灰度圖像如圖4所示。cv2.cvtColor()函數是顏色空間轉換函數,可以實現圖像的灰度化,代碼如下:
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
1.2.2? ? 圖像掩膜
圖像掩膜是用選定的圖形對需要處理的圖像(局部或全部)進行遮擋,來處理圖像特定區域的處理過程。提取感興趣區,用預先制作的感興趣區掩膜與待處理圖像相乘,得到感興趣區圖像,感興趣區內圖像值保持不變,而區外圖像值都為0。掩膜圖像如圖5所示。
1.2.3? ? 黑帽操作(突出更黑暗的區域)
黑帽運算就是取出圖片中亮度低的地方,即突出更黑暗的區域。黑帽操作圖像如圖6所示。morphologyEx()是形態學操作函數,可以方便地對圖像進行黑帽操作,代碼如下:
heiphat = cv2.morphologyEx(gray, cv2.MORPH_BLACKHAT, rectKernel)
1.3? ? 文字檢測
1.3.1? ? 邊緣檢測
圖像邊緣檢測可以大幅減少數據量,并剔除可以認為不相關的信息,保留圖像重要的結構屬性。基于查找的方法,通過尋找圖像一階導數中的最大和最小值來檢測邊界,通常是將邊界定位在梯度最大的方向。Canny算子邊緣檢測函數的目標是找到一個最優的邊緣檢測算法,從而檢測出圖像邊緣,代碼如下:
edged = cv2.Canny(gray, 75, 200)
1.3.2? ? 獲取輪廓
cv2.findContours()函數用于查找檢測物體的輪廓,cv2.drawContours()函數用于在圖像上繪制輪廓。代碼如下:
(1)檢測輪廓:
cnts = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
(2)繪制輪廓:
cv2.drawContours(image, [screenCnt], -1, (0, 255, 0), 2)
1.4? ? 文本識別
文本識別采用tesseract-OCR識別技術,tesseract-OCR是由Tesseract Google開發并維護的OCR開源庫,有著極高的精確度和靈活性,它可以通過訓練識別出任何字體,也可以識別出數字和字符。識別出的輪廓圖如圖7所示,文本識別圖如圖8所示。
2? ? 分揀機器人系統
2.1? ? 系統整體方案
本文對小型工業機械臂進行了運動學分析,并使用計算機建模軟件(UG)對工業機器人及其運動空間進行了建模。該工業機器人分揀系統[6]采用樹莓派和Arduino開發板作為控制單元,兩個控制芯片以串口連接進行通信,樹莓派用于對圖像進行處理與識別;Arduino開發板用于控制步進電機、舵機和超聲波紅外測距模塊。其中舵機用于控制機器人的轉向,也用于控制機械夾爪的張合;超聲波紅外測距模塊用于檢測與物體的距離。整體流程圖如圖9所示。
2.2? ? 機械結構
機械臂各部件通過UG建模,采用3D打印技術打印。在結構設計時使用平面軸承、滾動軸承、線性軸承等一系列標準件,具有增加精度、減少摩擦力等作用。機械臂底座采用鋁板與機械臂連接,一定程度上減少了機械臂前傾現象。機械臂Z軸的上下移動采用絲桿傳動,傳動軸向力大、可自鎖、定位精度高。使用同步帶傳動,避免步進電機在低轉速下產生振動及噪聲。機械臂整體裝配圖如圖10所示。
2.3? ? 硬件系統設計
2.3.1? ? 主控電路
本系統由Arduino開發板和Arduino CNC電機擴展板組成,Arduino CNC電機擴展板直接連接在Arduino開發板上即可。主控芯片圖如圖11所示。
2.3.2? ? 超聲波測距模塊
超聲波測距模塊采用的是HC-SR04,可提供約2 cm的非接觸式距離感測功能,機械臂可以及時感測與快遞包裹的距離,抓取物體。如圖12所示,超聲波測距模塊包括VCC供5 V電源、GND地線、Trig觸發控制信號輸入、Echo回響信號輸出等4個接口端。
2.4? ? 軟件系統設計
首先,通過OpenCV圖像處理技術識別快遞單上的數字串和快遞的坐標,判斷快遞運往方向;再由樹莓派通過串口發送信息給Arduino Uno開發板,Arduino Uno開發板逆運動求解出各電機旋轉角度;然后,控制各電機旋轉角度到達目標位置,打開夾爪,當機械臂的Z軸下降到合適位置時,閉合夾爪,夾取快遞;當夾取動作完成后,機械臂的Z軸上升,移動到快遞發往地,將物品放到相應位置。主控流程圖如圖13所示。
3? ? 結語
本文設計了一種基于OpenCV的機器人分揀系統,運用OpenCV對快遞信息進行圖像讀取及圖像預處理,再用OpenCV內置的圖像檢測算子進行檢測,最后傳入tesseract-OCR進行識別,協同控制機械臂,實現在復雜環境下的包裹分揀。該設計大量減少了分揀過程中的人工需求,提高了分揀效率及自動化程度,并大幅提高了分揀準確率。同時,將視覺技術應用到工業分揀中,提高了企業運營效率,降低了企業生產成本,能夠促進工廠和企業的升級,因而具有較好的應用前景。
[參考文獻]
[1] 韋志文.基于機器視覺的分揀機器人設計與研究[D].淮南:安徽理工大學,2022.
[2] 李殷.基于深度學習的工業機器人物品識別分揀系統設計[J].湖北農機化,2019(20):159.
[3] 馬澤明,俞曉丹,鄧雨晴,等.基于機器視覺的物體分揀系統設計[J].科學技術創新,2022(36):159-162.
[4] 王連慶,錢莉.基于視覺引導的工業機器人無序抓取系統設計[J].制造業自動化,2022,44(3):86-89.
[5] 胡文,馬玲玉.基于OpenCV手機拍照快遞單文字識別的研究[J].哈爾濱商業大學學報(自然科學版),2015,31(5):564-568.
[6] 金高威,董錚.基于Arduino的六自由度機械臂控制系統設計[J].科學技術創新,2019(35):64-65.
收稿日期:2023-02-09
作者簡介:張立婷(2002—),女,安徽人,研究方向:機器人工程。