王振 高嘉勝
摘? ?要:我國(guó)是物流大國(guó),為了提高貨物運(yùn)輸效率,近年出現(xiàn)了各式新型運(yùn)輸平臺(tái),如用大量小型普通驅(qū)動(dòng)輪代替?zhèn)鹘y(tǒng)傳送履帶。對(duì)于這種新式運(yùn)輸平臺(tái),文章提出了一種基于圖像處理技術(shù)的驅(qū)動(dòng)控制方法。主要思想是:基于Python的OpenMV進(jìn)行圖像處理識(shí)別來分析待分揀物品的大小、顏色等特征,并以小型驅(qū)動(dòng)輪為基礎(chǔ)(驅(qū)動(dòng)輪的主控芯片為51或STM32),控制物品在平臺(tái)上的位置和方向,使物品以預(yù)定的姿態(tài)到達(dá)指定的位置,達(dá)到自動(dòng)分揀以及運(yùn)輸?shù)哪康?,減少人力、物力。
關(guān)鍵詞:運(yùn)輸平臺(tái);自動(dòng)運(yùn)輸分揀;OpenMV庫
近年來,隨著網(wǎng)購(gòu)消費(fèi)方式逐漸被大眾接收以及大型企業(yè)產(chǎn)品的批量化生產(chǎn),傳統(tǒng)傳動(dòng)帶存在運(yùn)輸效率低、運(yùn)輸數(shù)量少等缺點(diǎn),已經(jīng)不能滿足運(yùn)輸行業(yè)的要求。針對(duì)這個(gè)問題,出現(xiàn)了更加智能化的運(yùn)輸平臺(tái),加入了自動(dòng)控制的因素,大幅度提高了運(yùn)輸效率。國(guó)內(nèi)外對(duì)智能分揀平臺(tái)的研究也有很多,且發(fā)展迅速,目前已經(jīng)研制出基于全向輪的模塊拼接形式的智能分揀平臺(tái),在一些地方已投入使用。但目前大多數(shù)分揀平臺(tái)分揀傳送帶種類單一,對(duì)如今的物流產(chǎn)業(yè)來說還不夠,還有很大的發(fā)展空間。
為了更加充分地發(fā)揮該智能平臺(tái)的優(yōu)勢(shì),提出了基于圖像處理技術(shù)的運(yùn)動(dòng)控制方式。旨在將圖像處理技術(shù)和物品分揀平臺(tái)相結(jié)合,通過攝像頭采集物品的圖像,然后通過圖像識(shí)別技術(shù)得到物品的類型、姿態(tài)和位置等信息,再用基于全向輪的智能分揀平臺(tái)對(duì)物品進(jìn)行智能分揀,使待分揀物品以預(yù)訂的姿態(tài)進(jìn)入預(yù)訂的出口。傳統(tǒng)傳送帶通過皮帶或滾筒對(duì)物品進(jìn)行運(yùn)輸,需要操作人員或機(jī)械臂在傳送帶旁對(duì)物品進(jìn)行分揀或姿態(tài)的調(diào)整。近年來,人工成本愈來愈高,機(jī)械臂的使用也會(huì)提高成本。將圖像識(shí)別技術(shù)與多功能分揀平臺(tái)相結(jié)合,使平臺(tái)能同時(shí)挑選、調(diào)整和分揀物品,甚至能夠?qū)崟r(shí)錄取物品信息,大大節(jié)省了成本。
1? ? 圖像識(shí)別
通過攝像頭傳回的圖像對(duì)物體的類型、位置進(jìn)行識(shí)別。攝像頭類型的選取以及攝像頭數(shù)量的使用根據(jù)具體使用環(huán)境來確定。對(duì)圖像的識(shí)別是基于Python3.7的OpenMV庫。
1.1? 物品類型的確定
考慮到網(wǎng)購(gòu)物品包裝上均有條形碼,以及大多數(shù)產(chǎn)品都有二維碼或者條形碼作為信息的貼附,所以物品類型的確定可以通過攝像頭掃描二維碼獲得。OpenMV中有關(guān)二維碼的庫為Pyzar。將掃描的圖像經(jīng)過Qrcade-Scanning()函數(shù)處理后獲得物品信息,以此判斷物品類型。
1.2? 物品位置的確定
對(duì)攝像頭實(shí)時(shí)傳回的圖像運(yùn)用背景減除法進(jìn)行處理。常用函數(shù)為cv2.createBackgroundSubtractorMOG2()。
或者cv2.createBackgroundSubtractorKNN()[1-2],特點(diǎn)是為每個(gè)像素點(diǎn)選擇一個(gè)合適的高斯分布或者合適的分類規(guī)則。這兩種函數(shù)中都有一個(gè)參數(shù)detectShadows,默認(rèn)為True,會(huì)進(jìn)行檢測(cè)并且將陰影部分標(biāo)識(shí)出來以便識(shí)別。但這樣會(huì)降低處理速度,建議在處理大量圖片時(shí),無須標(biāo)識(shí)陰影部分,僅提取所需信息即可。背景提取后,為了更加準(zhǔn)確地確定物品的位置,需要對(duì)圖像的閾值等進(jìn)行再次處理。具體處理方法:首先,將背景分離后的圖像進(jìn)行二值化處理。其次,在此基礎(chǔ)上運(yùn)用dilate()[3]函數(shù)對(duì)輸入圖像用特定結(jié)構(gòu)元素進(jìn)行膨脹操作,該結(jié)構(gòu)元素確定膨脹操作過程中領(lǐng)域的形狀,各點(diǎn)像素值被替換為對(duì)應(yīng)領(lǐng)域上的最大值。最后,在經(jīng)過膨脹操作后的圖像上尋找出運(yùn)動(dòng)物品的邊框,使用findContours()完成邊框的尋找。
上述均是對(duì)圖像進(jìn)行的預(yù)處理,只有經(jīng)過預(yù)處理之后的圖像才能給出想要的信息,不然噪聲的干擾會(huì)大大降低信息的可靠性和準(zhǔn)確度。
使用boundingRect()函數(shù)對(duì)圖片中想要區(qū)域進(jìn)行邊框繪制,該函數(shù)的返回值包括了邊框在圖片中位置、左上角的坐標(biāo)以及邊框的寬和高。利用這些信息足以得到物品的坐標(biāo)位置。因此只要不斷返回坐標(biāo)位置就可以實(shí)時(shí)確定物品位置。
2? ? 運(yùn)輸分揀
基于全向輪的模塊拼接形式的智能分揀平臺(tái),以物品的類型、位置和姿態(tài)作為輸入量,控制一個(gè)物品以指定的姿態(tài)進(jìn)入指定的位置,實(shí)現(xiàn)物品的智能分揀。
驅(qū)動(dòng)輪的控制,即通常意義上的下位機(jī)控制。通過上位機(jī),即經(jīng)過Python的處理后,將圖像中實(shí)時(shí)提取的信息給下位機(jī),下位機(jī)通過比較實(shí)時(shí)的物品位置坐標(biāo)和期望的物品坐標(biāo)位置后,根據(jù)位置偏差進(jìn)行位置控制和調(diào)節(jié),直到物品到達(dá)指定位置。
一般應(yīng)用中,驅(qū)動(dòng)輪的控制使用51單片機(jī)或者STM32就足以,或者根據(jù)具體需要選擇合適的控制芯片。大型工業(yè)中的應(yīng)用務(wù)必考慮可靠性和經(jīng)濟(jì)性。
上位機(jī)和下位機(jī)的通信:根據(jù)上位機(jī)和下位機(jī)距離的長(zhǎng)短,可選用的通信方式有串口通信(距離極短,且為有線通信)、藍(lán)牙通信(無線通信,較長(zhǎng)距離)、WiFi通信(無線通信,較長(zhǎng)距離)。
串口通信:Python庫中Serial庫已經(jīng)非常成熟,可以與51單片機(jī)、STM32等進(jìn)行串口通信。值得注意的是,上位機(jī)和下位機(jī)的通信端口、波特率等的配置需要一致。同理,藍(lán)牙、WiFi通信也可以通過Python庫的配置和下位機(jī)控制芯片進(jìn)行通信。
3? ? 結(jié)語
伴隨著現(xiàn)代化技術(shù)的高速發(fā)展,物流行業(yè)的發(fā)展趨勢(shì)是信息化、自動(dòng)化。想要提高運(yùn)輸效率、減少成本,與自動(dòng)控制相結(jié)合是正確的選擇。對(duì)運(yùn)輸平臺(tái)的改善必不可少,同時(shí)控制方法也需要進(jìn)行改善,才能相得益彰。
上述控制方法的提出是在充分考慮既有運(yùn)輸平臺(tái)和現(xiàn)有技術(shù)的前提下,結(jié)合了輕工業(yè)發(fā)展問題和火熱的圖像處理技術(shù),不僅滿足快速發(fā)展的物流行業(yè)提出的新要求,而且對(duì)已有知識(shí)進(jìn)行了充分的應(yīng)用。
[參考文獻(xiàn)]
[1]畢波,邵永謙,孫冬軍,等.基于OpenCV的車牌識(shí)別[J].電子設(shè)計(jì)工程,2019(1):43-47.
[2]唐世豪.基于KNN的手寫數(shù)字識(shí)別分析[J].通信世界,2019(1):15.
[3]洪傳豪,丁兵兵,靳偉.基于OpenCv的車牌識(shí)別研[J].福建電腦,2018(12):9-12.