基于OpenCV的機(jī)器人分揀系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著各大電商的快速發(fā)展,我國快遞行業(yè)的整體規(guī)模迅速壯大,包裹數(shù)量逐年增多,快遞的錯(cuò)派、丟件等問題也日漸凸顯,傳統(tǒng)人工分揀已經(jīng)無法適應(yīng)當(dāng)前的分揀需求,亟需一種用于自動(dòng)檢驗(yàn)、工件加工和裝配自動(dòng)化以及生產(chǎn)過程的控制和監(jiān)視的圖像識(shí)別機(jī)器,按任務(wù)需要從原始圖像數(shù)據(jù)中提取有關(guān)信息、高度概括地描述圖像內(nèi)容,以便對(duì)圖像的某些內(nèi)容加以解釋和判斷。
目前,針對(duì)機(jī)器人分揀系統(tǒng)的方案研究成為眾多學(xué)者關(guān)注的熱點(diǎn)。韋志文基于機(jī)器視覺設(shè)計(jì)了一種輕量化的分揀機(jī)器人,搭建了實(shí)驗(yàn)平臺(tái)并完成了小型鑄件的分揀。李殷基于深度學(xué)習(xí)提出了工業(yè)機(jī)器人物品識(shí)別分揀系統(tǒng)設(shè)計(jì),在建模解析分類之后工業(yè)機(jī)器人對(duì)物品進(jìn)行實(shí)踐分揀操作。馬澤明等人將視覺技術(shù)、搬運(yùn)機(jī)器人和無線控制網(wǎng)相結(jié)合,設(shè)計(jì)了一種智能搬運(yùn)機(jī)器人的實(shí)驗(yàn)平臺(tái)。王連慶等人構(gòu)建了一套針對(duì)無序來料的定位系統(tǒng),引導(dǎo)機(jī)械手對(duì)無序物料進(jìn)行精確抓取和有序擺放。
本文設(shè)計(jì)的工業(yè)機(jī)器人分揀系統(tǒng)與工業(yè)相機(jī)的快速拍照功能相結(jié)合,可實(shí)現(xiàn)包裹讀碼后的快速分揀及信息記錄交互等功能,大量減少了分揀過程中的人工需求,提高了分揀效率及自動(dòng)化程度,并大幅度提高了分揀準(zhǔn)確率。
1 OpenCV圖像識(shí)別
圖像處理技術(shù)是用計(jì)算機(jī)對(duì)圖像信息進(jìn)行處理的技術(shù),通過圖像處理可以提取圖像中的有用信息并精簡數(shù)據(jù)量,是決定分揀過程是否能夠達(dá)到精準(zhǔn)且高效的關(guān)鍵。本設(shè)計(jì)采用OpenCV對(duì)原始圖像進(jìn)行預(yù)處理,提取圖像特征,進(jìn)行圖像識(shí)別。本項(xiàng)目通過掃描物流包裹上的數(shù)字,對(duì)包裹進(jìn)行識(shí)別,構(gòu)建坐標(biāo)系對(duì)機(jī)械臂完成協(xié)同控制,實(shí)現(xiàn)在復(fù)雜環(huán)境下的包裹分揀,提高了分揀過程中機(jī)械臂末端執(zhí)行器的效能,物流快遞包裹可進(jìn)行有效分揀,達(dá)到快速分揀的目的,提高了工業(yè)生產(chǎn)效率,降低了工作成本。OpenCV圖像處理流程圖如圖1所示。
1.1基于OpenCV的OCR文字識(shí)別
傳統(tǒng)的條形碼雖然識(shí)別簡單,但是需要學(xué)習(xí)多種編碼方式。識(shí)別條形碼下方數(shù)字單號(hào)可以直接把數(shù)據(jù)錄入計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,得到快遞信息。
OCR文字識(shí)別是指對(duì)圖像文件進(jìn)行分析識(shí)別處理,獲取文字及版面信息的過程。首先,對(duì)快遞信息進(jìn)行圖像讀取及圖像預(yù)處理,再用openCV內(nèi)置的圖像檢測算子進(jìn)行檢測,最后傳入tesseract一OCR進(jìn)行識(shí)別。這種方法不僅速度快,而且抗外部干擾能力也比較好,可以準(zhǔn)確識(shí)別快遞的相關(guān)數(shù)字信息。OCR的技術(shù)路線如圖2所示。
1.2圖像預(yù)處理
圖像預(yù)處理是在圖片識(shí)別之前對(duì)圖片進(jìn)行前期處理,抑制圖片中的無關(guān)信息,增強(qiáng)開發(fā)者想要的重要信息。
1.2.1圖像灰度化
圖像灰度化是將一張彩色圖像向灰色圖像轉(zhuǎn)化的過程。相比于彩色圖像,灰色圖像更容易處理,可以消除顏色干擾。原圖像如圖3所示,灰度圖像如圖3所示。c42.c4tCv1vr()函數(shù)是顏色空間轉(zhuǎn)換函數(shù),可以實(shí)現(xiàn)圖像的灰度化,代碼如下:
1.2.2圖像掩膜
圖像掩膜是用選定的圖形對(duì)需要處理的圖像(局部或全部)進(jìn)行遮擋,來處理圖像特定區(qū)域的處理過程。提取感興趣區(qū),用預(yù)先制作的感興趣區(qū)掩膜與待處理圖像相乘,得到感興趣區(qū)圖像,感興趣區(qū)內(nèi)圖像值保持不變,而區(qū)外圖像值都為Y。掩膜圖像如圖4所示。
1.2.3黑帽操作(突出更黑暗的區(qū)域)
黑帽運(yùn)算就是取出圖片中亮度低的地方,即突出更黑暗的區(qū)域。黑帽操作圖像如圖5所示。mvrphv1vgyEx()是形態(tài)學(xué)操作函數(shù),可以方便地對(duì)圖像進(jìn)行黑帽操作,代碼如下:
1.3文字檢測
1.3.1邊緣檢測
圖像邊緣檢測可以大幅減少數(shù)據(jù)量,并剔除可以認(rèn)為不相關(guān)的信息,保留圖像重要的結(jié)構(gòu)屬性?;诓檎业姆椒?通過尋找圖像一階導(dǎo)數(shù)中的最大和最小值來檢測邊界,通常是將邊界定位在梯度最大的方向。Canny算子邊緣檢測函數(shù)的目標(biāo)是找到一個(gè)最優(yōu)的邊緣檢測算法,從而檢測出圖像邊緣,代碼如下:
1.3.2獲取輪廓
cv2.findContours()函數(shù)用于查找檢測物體的輪廓,cv2.drawContours()函數(shù)用于在圖像上繪制輪廓。代碼如下:
(1)檢測輪廓:
cnts=cv2.findContours(edged.copy(),cv2.RETR一1IT,
cv2.CsH1AHNNRoxI1MN一E)
(2)繪制輪廓:
cv2.drawContours(image,[screenCnt],-1,(0,255,0),2)
1.4文本識(shí)別
文本識(shí)別采用tesseract-OCR識(shí)別技術(shù),tesseract-OCR是由TesseractGoog1e開發(fā)并維護(hù)的OCR開源庫,有著極高的精確度和靈活性,它可以通過訓(xùn)練識(shí)別出任何字體,也可以識(shí)別出數(shù)字和字符。識(shí)別出的輪廓圖如圖7所示,文本識(shí)別圖如圖8所示。
圖7 輪廓圖
2分揀機(jī)器人系統(tǒng)
2.1系統(tǒng)整體方案
本文對(duì)小型工業(yè)機(jī)械臂進(jìn)行了運(yùn)動(dòng)學(xué)分析,并使用計(jì)算機(jī)建模軟件(UG)對(duì)工業(yè)機(jī)器人及其運(yùn)動(dòng)空間進(jìn)行了建模。該工業(yè)機(jī)器人分揀系統(tǒng)采用樹莓派和Hrduino開發(fā)板作為控制單元,兩個(gè)控制芯片以串口連接進(jìn)行通信,樹莓派用于對(duì)圖像進(jìn)行處理與識(shí)別:Hrduino開發(fā)板用于控制步進(jìn)電機(jī)、舵機(jī)和超聲波紅外測距模塊。其中舵機(jī)用于控制機(jī)器人的轉(zhuǎn)向,也用于控制機(jī)械夾爪的張合:超聲波紅外測距模塊用于檢測與物體的距離。整體流程圖如圖9所示。
2.2機(jī)械結(jié)構(gòu)
機(jī)械臂各部件通過UG建模,采用3D打印技術(shù)打印。在結(jié)構(gòu)設(shè)計(jì)時(shí)使用平面軸承、滾動(dòng)軸承、線性軸承等一系列標(biāo)準(zhǔn)件,具有增加精度、減少摩擦力等作用。機(jī)械臂底座采用鋁板與機(jī)械臂連接,一定程度上減少了機(jī)械臂前傾現(xiàn)象。機(jī)械臂Z軸的上下移動(dòng)采用絲桿傳動(dòng),傳動(dòng)軸向力大、可自鎖、定位精度高。使用同步帶傳動(dòng),避免步進(jìn)電機(jī)在低轉(zhuǎn)速下產(chǎn)生振動(dòng)及噪聲。機(jī)械臂整體裝配圖如圖10所示。
2.3硬件系統(tǒng)設(shè)計(jì)
2.3.1主控電路
本系統(tǒng)由Hrduino開發(fā)板和HrduinoCAC電機(jī)擴(kuò)展板組成,HrduinoCAC電機(jī)擴(kuò)展板直接連接在Hrduino開發(fā)板上即可。主控芯片圖如圖11所示。
2.3.2超聲波測距模塊
超聲波測距模塊采用的是sC-IR04,可提供約2cm的非接觸式距離感測功能,機(jī)械臂可以及時(shí)感測與快遞包裹的距離,抓取物體。如圖12所示,超聲波測距模塊包括VCC供5V電源、GAD地線、Trig觸發(fā)控制信號(hào)輸入、Echo回響信號(hào)輸出等4個(gè)接口端。
2.4軟件系統(tǒng)設(shè)計(jì)
首先,通過openCV圖像處理技術(shù)識(shí)別快遞單上的數(shù)字串和快遞的坐標(biāo),判斷快遞運(yùn)往方向:再由樹莓派通過串口發(fā)送信息給ArduinoUno開發(fā)板,ArduinoUno開發(fā)板逆運(yùn)動(dòng)求解出各電機(jī)旋轉(zhuǎn)角度:然后,控制各電機(jī)旋轉(zhuǎn)角度到達(dá)目標(biāo)位置,打開夾爪,當(dāng)機(jī)械臂的Z軸下降到合適位置時(shí),閉合夾爪,夾取快遞:當(dāng)夾取動(dòng)作完成后,機(jī)械臂的Z軸上升,移動(dòng)到快遞發(fā)往地,將物品放到相應(yīng)位置。主控流程圖如圖13所示。
3結(jié)語
本文設(shè)計(jì)了一種基于openCV的機(jī)器人分揀系統(tǒng),運(yùn)用openCV對(duì)快遞信息進(jìn)行圖像讀取及圖像預(yù)處理,再用openCV內(nèi)置的圖像檢測算子進(jìn)行檢測,最后傳入tesseract-OCR進(jìn)行識(shí)別,協(xié)同控制機(jī)械臂,實(shí)現(xiàn)在復(fù)雜環(huán)境下的包裹分揀。該設(shè)計(jì)大量減少了分揀過程中的人工需求,提高了分揀效率及自動(dòng)化程度,并大幅提高了分揀準(zhǔn)確率。同時(shí),將視覺技術(shù)應(yīng)用到工業(yè)分揀中,提高了企業(yè)運(yùn)營效率,降低了企業(yè)生產(chǎn)成本,能夠促進(jìn)工廠和企業(yè)的升級(jí),因而具有較好的應(yīng)用前景。