江西理工大學(xué) 機(jī)電工程學(xué)院 江西贛州 341000
隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,電子商務(wù)行業(yè)發(fā)展迅猛,隨之而來(lái)的是海量的快遞件需要分揀和配送。傳統(tǒng)的人工分揀效率低下,已經(jīng)無(wú)法滿足要求。在一些大型倉(cāng)儲(chǔ)中心,雖然已經(jīng)實(shí)現(xiàn)快遞件的自動(dòng)化分揀[1],但是整套分揀系統(tǒng)體積龐大,價(jià)格昂貴。在小型快遞中轉(zhuǎn)站,依然需要人工分揀,龐大的快遞量讓工人處于繁重的勞動(dòng)中。筆者設(shè)計(jì)了一種基于OpenMV機(jī)器視覺(jué)模塊識(shí)別的快遞分揀機(jī)器人控制系統(tǒng)[2],主要功能是在小型快遞中轉(zhuǎn)站替代人工進(jìn)行快遞件分揀,通過(guò)機(jī)器視覺(jué)實(shí)現(xiàn)快遞件的識(shí)別、定位、掃碼、分類(lèi),降低工人的勞動(dòng)強(qiáng)度,提高快遞分揀的效率及物流行業(yè)的自動(dòng)化水平。這一項(xiàng)目具有較好的工作基礎(chǔ),借助中國(guó)工程機(jī)器人大賽平臺(tái),已經(jīng)制作出樣機(jī),運(yùn)行效果良好。
快遞分揀機(jī)器人控制系統(tǒng)硬件組成如圖1所示,以STM32單片機(jī)為核心,通過(guò)接口電路連接機(jī)器視覺(jué)模塊、舵機(jī)、電機(jī)驅(qū)動(dòng)模塊、傳感器模塊和氣泵吸盤(pán)控制模塊[3-4]。單片機(jī)通過(guò)傳感器感知機(jī)器人的狀態(tài),并控制以上模塊協(xié)調(diào)運(yùn)作,完成快遞分揀的任務(wù)。
▲圖1 快遞分揀機(jī)器人控制系統(tǒng)硬件組成
快遞分揀機(jī)器人控制系統(tǒng)硬件電路可以分為邏輯電路和驅(qū)動(dòng)電路。邏輯電路主要包括各型傳感器和單片機(jī),對(duì)電源的穩(wěn)定性要求較高。驅(qū)動(dòng)電路電流較大,要求電子元器件能夠在大電流的條件下穩(wěn)定工作。
快遞分揀機(jī)器人在到達(dá)快遞件識(shí)別區(qū)后,要判斷區(qū)域內(nèi)是否存在快遞件,這時(shí)需要使用機(jī)器視覺(jué)模塊進(jìn)行識(shí)別。由于現(xiàn)有的快遞件絕大多數(shù)都由標(biāo)準(zhǔn)的快遞盒封裝,為長(zhǎng)方體形狀,因此只要識(shí)別到有矩形存在,就說(shuō)明有快遞件。為達(dá)到這一目的,筆者采用了邊緣檢測(cè)算法和矩形識(shí)別算法。通過(guò)調(diào)用官方庫(kù)提供的變形動(dòng)畫(huà)函數(shù)morph對(duì)圖像進(jìn)行卷積[5],然后調(diào)用二進(jìn)制功能函數(shù)binary對(duì)圖像進(jìn)行閾值分割,最后調(diào)用腐蝕函數(shù)erode去除邊緣相鄰處多余的點(diǎn),從而得到快遞件輪廓清晰的灰度二值化圖像??爝f件輪廓識(shí)別如圖2所示,實(shí)踐證明以上方法具有可行性。
▲圖2 快遞件輪廓識(shí)別
得到灰度二值化圖像后,可以調(diào)用矩形識(shí)別算法,得到快遞件表面四個(gè)角的坐標(biāo)[6],從而引導(dǎo)機(jī)械臂前往抓取。對(duì)于快遞件上的條形碼,可以調(diào)用條形碼檢索函數(shù)find_barcodes進(jìn)行識(shí)別,通過(guò)無(wú)線局域網(wǎng)上傳識(shí)別結(jié)果,更新物流信息。
快遞分揀機(jī)器人控制系統(tǒng)采用鋰離子電池供電,電池電壓變化范圍為21.6~25.2 V。當(dāng)電壓低于21.6 V時(shí),需要充電。邏輯電路包括三部分:機(jī)器視覺(jué)模塊、單片機(jī)和傳感器。采用5 V直流電供電,則降壓穩(wěn)壓電路的輸入電壓為21.6~25 V,輸出電壓為5 V??紤]到要給機(jī)器視覺(jué)模塊、單片機(jī)及傳感器供電,供電電路采用LM2596穩(wěn)壓芯片[7],最大輸出電流可達(dá)3 A,能夠滿足邏輯電路的工作要求。邏輯電路的電源電路如圖3所示,圖3中Uin為輸入電壓,Uout為輸出電壓。
快遞分揀機(jī)器人控制系統(tǒng)采用三種電機(jī),分別為直流電機(jī)、步進(jìn)電機(jī)和舵機(jī)。直流電機(jī)需要通過(guò)程序控制啟動(dòng)、停止、正反轉(zhuǎn)、加減速[8],調(diào)速性能要求高,筆者采用MC33886全橋驅(qū)動(dòng)芯片進(jìn)行驅(qū)動(dòng)[9]。步進(jìn)電機(jī)需要控制轉(zhuǎn)速、轉(zhuǎn)向,以及旋轉(zhuǎn)角度,筆者采用TB6560步進(jìn)電機(jī)驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng)。舵機(jī)作為機(jī)械臂的原動(dòng)件,需要精確控制轉(zhuǎn)角,信號(hào)線直接與單片機(jī)引腳接口連接,由此進(jìn)行控制。
▲圖3 邏輯電路電源電路
快遞分揀機(jī)器人控制系統(tǒng)所應(yīng)用的接近傳感器由紅外對(duì)光管組成,其工作原理為紅外光源發(fā)出紅外線,紅外線敏感元件檢測(cè)反射回的紅外線;當(dāng)反射回的紅外線達(dá)到一定強(qiáng)度時(shí),觸發(fā)電平變化,可見(jiàn),當(dāng)與快遞件之間的距離小于某定值時(shí),傳感器輸出電平發(fā)生變化,從而確認(rèn)快遞分揀機(jī)器人的位置。紅外對(duì)光管電路如圖4所示,圖4中UCC為供電電壓,OUT為輸出。
▲圖4 紅外對(duì)光管電路
應(yīng)用巡線傳感器,使快遞分揀機(jī)器人按照預(yù)先設(shè)計(jì)的路線移動(dòng),所巡的線可以是白色或黑色膠帶。每個(gè)巡線傳感器由八路獨(dú)立小單元組成,每個(gè)小單元由發(fā)光二極管燈、光敏電阻和電壓比較器組成,八路小單元一字排開(kāi)。位于線正上方的小單元和位于其它位置的小單元狀態(tài)是不一樣的,通過(guò)讀取每個(gè)小單元的狀態(tài),就可以知道快遞分揀機(jī)器人偏離黑線或白線的程度,進(jìn)而控制電機(jī)轉(zhuǎn)速,修正快遞分揀機(jī)器人的位置,直至沒(méi)有偏離或到達(dá)目的地為止。
氣泵用于產(chǎn)生真空,連接吸盤(pán)后可用于快遞件的抓取。氣泵與吸盤(pán)間連接一個(gè)氣閥,通過(guò)控制氣閥來(lái)控制快遞件的吸取與放下。氣泵和氣閥均采用5 V直流電供電,使用電子開(kāi)關(guān)控制。氣泵、氣閥控制電路分別如圖5、圖6所示,使用單片機(jī)的PC6、PC7引腳進(jìn)行控制。單片機(jī)引腳輸出高電平時(shí),氣泵、氣閥工作;輸出低電平時(shí),氣泵、氣閥停止工作。
▲圖5 氣泵控制電路▲圖6 氣閥控制電路
快遞分揀機(jī)器人啟動(dòng)后,為保證能夠正常運(yùn)作,首先進(jìn)行自檢,包括網(wǎng)絡(luò)連接狀況、機(jī)械臂復(fù)位、轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)復(fù)位。自檢無(wú)誤后,快遞分揀機(jī)器人由起點(diǎn)出發(fā),到達(dá)識(shí)別區(qū)。啟動(dòng)機(jī)器視覺(jué)模塊識(shí)別快遞件。機(jī)器臂將識(shí)別成功的快遞件放入轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán),快遞分揀機(jī)器人將快遞件運(yùn)往傾倒區(qū),將對(duì)應(yīng)類(lèi)別的快遞件倒出,最后回到識(shí)別區(qū)。如此循環(huán)運(yùn)行,直到快遞分揀完畢為止??爝f分揀機(jī)器人控制程序流程如圖7所示。
快遞分揀機(jī)器人控制系統(tǒng)中使用了較多的接近傳感器,這些傳感器通過(guò)接口電路與單片機(jī)引腳相連??爝f分揀機(jī)器人運(yùn)行過(guò)程中,通過(guò)讀取這些接近傳感器所探測(cè)到的信息,就可以了解快遞分揀機(jī)器人所處的狀態(tài)。這些接近傳感器只有兩種狀態(tài),沒(méi)有觸發(fā)時(shí)為高電平,觸發(fā)時(shí)為低電平,因此只需要讀取對(duì)應(yīng)引腳的電平即可。接近傳感器信息讀取程序流程如圖8所示,巡線傳感器信息讀取程序流程類(lèi)似。
單片機(jī)與機(jī)器視覺(jué)模塊之間采用串口通信[10],為保證信息傳輸?shù)臏?zhǔn)確性,需要約定傳輸協(xié)議。根據(jù)實(shí)際情況,約定每次傳輸五位8 bit二進(jìn)制數(shù),前兩位為0xAA,即十進(jìn)制數(shù)170。第三、第四位為有效信息數(shù)據(jù)。
▲圖7 快遞分揀機(jī)器人控制程序流程▲圖8 接近傳感器信息讀取程序流程
第五位為0x55,即十進(jìn)制數(shù)85。只有第一、第二位為170且第五位為85時(shí),傳輸數(shù)據(jù)才有效,這樣可以大大提高傳輸?shù)臏?zhǔn)確性。單片機(jī)與機(jī)器視覺(jué)模塊通信程序流程如圖9所示??爝f分揀機(jī)器人到達(dá)識(shí)別區(qū)后,單片機(jī)發(fā)送開(kāi)始識(shí)別指令,機(jī)器視覺(jué)模塊開(kāi)始輪廓識(shí)別。如果有快遞件,則向單片機(jī)發(fā)送有快遞件指令。單片機(jī)接收后,判斷轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)情況。在轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)未滿的情況下,發(fā)送掃碼指令。機(jī)器視覺(jué)模塊開(kāi)始掃碼,并將中心坐標(biāo)、路徑信息,以及快遞件類(lèi)別和編號(hào)發(fā)送至單片機(jī)。單片機(jī)控制機(jī)械臂將快遞件抓取至轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)后,機(jī)器視覺(jué)模塊繼續(xù)開(kāi)始輪廓識(shí)別。直至轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)裝滿或沒(méi)有快遞件,快遞分揀機(jī)器人前往傾倒區(qū)。
▲圖9 單片機(jī)與機(jī)器視覺(jué)模塊通信程序流程
筆者制作快遞分揀機(jī)器人樣機(jī),旨在驗(yàn)證控制系統(tǒng)的可行性,完成中國(guó)工程機(jī)器人大賽快遞分揀賽項(xiàng)任務(wù)。
快遞分揀機(jī)器人實(shí)物制作指標(biāo)如下:
(1)轉(zhuǎn)運(yùn)轉(zhuǎn)盤(pán)容量為三種類(lèi)型快遞件,每類(lèi)三件;
(2)單件抓取時(shí)間為15 s;
(3)機(jī)械臂活動(dòng)范圍為400 mm;
(4)最大移動(dòng)速度為0.2 m/s;
(5)電池電壓為24 V;
(6)連續(xù)工作時(shí)間為2 h。
快遞分揀機(jī)器人樣機(jī)如圖10所示。經(jīng)過(guò)調(diào)試,快遞分揀機(jī)器人能夠完成比賽規(guī)則中規(guī)定的任務(wù),運(yùn)行情況穩(wěn)定??爝f分揀機(jī)器人機(jī)械臂使用吸盤(pán)吸起快遞件如圖11所示。
▲圖10 快遞分揀機(jī)器人樣機(jī)
▲圖11 快遞分揀機(jī)器人吸盤(pán)吸起快遞件
筆者在分析目前國(guó)內(nèi)外快遞分揀機(jī)器人的基礎(chǔ)上,設(shè)計(jì)了快遞分揀機(jī)器人控制系統(tǒng)。根據(jù)實(shí)際應(yīng)用需求,將機(jī)器視覺(jué)技術(shù)應(yīng)用于快遞分揀中,設(shè)計(jì)了硬件電路和軟件程序??爝f分揀機(jī)器人樣機(jī)達(dá)到預(yù)期的設(shè)計(jì)要求,能夠自動(dòng)分揀放置在地面上的快遞件,順利完成了中國(guó)工程機(jī)器人大賽快遞分揀賽項(xiàng),驗(yàn)證了控制系統(tǒng)設(shè)計(jì)的合理性。