張自強(qiáng),程 科
(江蘇科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 鎮(zhèn)江 212000)
隨著消費(fèi)者的需求不斷升級(jí)和電商行業(yè)的發(fā)展,快遞、快運(yùn)產(chǎn)業(yè)發(fā)生變革,物流配送呈現(xiàn)出小批量、多品種發(fā)展的趨勢(shì),配送的商品種類(lèi)和數(shù)量急劇增加,國(guó)家郵政局中國(guó)快遞大數(shù)據(jù)平臺(tái)實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)顯示,截至2021年7月4日,全國(guó)快遞業(yè)務(wù)量突破500億件,接近2018年全年水平,用時(shí)僅6個(gè)月[1]??爝f行業(yè)的迅猛發(fā)展對(duì)快遞網(wǎng)點(diǎn)的分揀效率、準(zhǔn)確率等提出了更高的要求。
傳統(tǒng)分揀主要以人工為主,人工分揀需要根據(jù)單號(hào)的地址,匹配對(duì)應(yīng)的物流網(wǎng)點(diǎn)。在這種操作模式中,分揀員需要熟練記憶快遞網(wǎng)點(diǎn)與地址的對(duì)應(yīng)關(guān)系;且由于快遞業(yè)的快速發(fā)展,地址與網(wǎng)點(diǎn)的對(duì)應(yīng)關(guān)系常常發(fā)生變化。造成了分揀難、分揀慢、分揀錯(cuò)等問(wèn)題,直接影響到快遞公司的服務(wù)質(zhì)量。大型分揀系統(tǒng)雖然效率高,但占地面積大,投入成本高,回報(bào)周期長(zhǎng),不適合中小型快遞公司的使用[2-4]。針對(duì)現(xiàn)有快遞分揀設(shè)備存在的問(wèn)題,本文設(shè)計(jì)了一種新型的擺輪式快遞分揀控制系統(tǒng),可適用于不同形狀、大小的包裹,實(shí)現(xiàn)連續(xù)、大批量地分揀作業(yè)。
擺輪式快遞分揀機(jī)在整條快遞分揀線中的布局如圖1所示。分揀線主要由前端條碼掃描系統(tǒng)和多臺(tái)擺輪分揀機(jī)組成,每臺(tái)擺輪分揀機(jī)有左右兩個(gè)出口,最后一級(jí)分揀機(jī)的出口區(qū)作為疑難件、錯(cuò)誤件等包裹的舍棄口。分揀機(jī)可連續(xù)級(jí)聯(lián)使用,無(wú)需拉距機(jī),級(jí)聯(lián)數(shù)量可根據(jù)分揀需求靈活配置[5]。下面將據(jù)圖闡述系統(tǒng)工作過(guò)程:
圖1 分揀線布局圖
1)首先包裹被傳送到條碼掃描區(qū),掃碼設(shè)備識(shí)別到貨物后掃描包裹的快遞單號(hào),主機(jī)根據(jù)快遞單號(hào)獲取包裹配送地址信息,按照系統(tǒng)預(yù)先設(shè)定值匹配分揀口。
2)主機(jī)廣播分揀任務(wù)信息,包括單號(hào)、指定分揀口等信息。
3)分揀機(jī)控制柜接收分揀任務(wù)信息,判斷包裹是否在本機(jī)分揀,若在本機(jī)分揀裝載任務(wù),不在本機(jī)分揀則判斷包裹是否需要經(jīng)過(guò)本機(jī),經(jīng)過(guò)本機(jī)的包裹需要裝載直行任務(wù)讓包裹直行通過(guò)。
4)分揀機(jī)檢測(cè)到包裹到達(dá)本機(jī),執(zhí)行對(duì)應(yīng)分揀任務(wù)。
本系統(tǒng)主要針對(duì)擺輪分揀機(jī)的包裹位置檢測(cè)、動(dòng)作執(zhí)行等方面進(jìn)行設(shè)計(jì),配合條碼掃描主機(jī)完成分揀任務(wù)。擺輪分揀機(jī)結(jié)構(gòu)如圖2所示,其主要由一臺(tái)控制柜、出入口包裹檢測(cè)裝置、伺服轉(zhuǎn)向機(jī)構(gòu)和傳送機(jī)構(gòu)組成。其中,轉(zhuǎn)向機(jī)構(gòu)分為前后兩個(gè)部分,分別由兩個(gè)伺服電機(jī)控制轉(zhuǎn)向,前后兩部分可轉(zhuǎn)不同的角度;傳送輪安裝在每個(gè)擺輪上,使用直流無(wú)刷電機(jī)驅(qū)動(dòng)4個(gè)傳送軸轉(zhuǎn)動(dòng),傳送輪的速度可調(diào)[6];包裹檢測(cè)裝置包括前后各兩組紅外對(duì)管傳感器,用于檢測(cè)貨物在當(dāng)前分揀口的位置以及作為分揀是否成功的判斷依據(jù)。系統(tǒng)工作時(shí),擺輪分揀機(jī)轉(zhuǎn)向回正,等待主機(jī)下發(fā)分揀任務(wù)信息,接收到任務(wù)信息后存入到任務(wù)隊(duì)列中,紅外檢測(cè)裝置檢測(cè)貨物進(jìn)入到分揀口后按順序從隊(duì)列中提取包裹信息,確定包裹的走向,如果貨物沒(méi)有按照預(yù)定線路傳送,則觸發(fā)錯(cuò)誤處理機(jī)制,避免分揀錯(cuò)誤累積[7-10]。
圖2 擺輪式分揀機(jī)結(jié)構(gòu)圖
擺輪式快遞分揀機(jī)電路硬件結(jié)構(gòu)如圖3所示,由轉(zhuǎn)向單元、傳送單元、包裹檢測(cè)單元、控制單元共4部分組成??刂茊卧ɑ赟TM32F103ZET6的嵌入式控制器、以太網(wǎng)通信模塊、無(wú)刷電機(jī)伺服電機(jī)驅(qū)動(dòng)等功能模塊。
圖3 擺輪式分揀機(jī)硬件結(jié)構(gòu)
包裹檢測(cè)模塊選用NPN型紅外對(duì)管傳感器,該傳感器為點(diǎn)對(duì)點(diǎn)光束檢測(cè)方式,如果有物體遮擋顯示則會(huì)觸發(fā)電平信號(hào)變化,相對(duì)于其他測(cè)距型、反射性傳感器靈敏度更高,不容易造成誤判。紅外對(duì)管傳感器采用24 V電源供電,為解決電源串?dāng)_以及電平信號(hào)匹配問(wèn)題,選用6N137光耦芯片實(shí)現(xiàn)信號(hào)隔離和電平轉(zhuǎn)換。單片機(jī)通過(guò)檢測(cè)電平跳變沿確定是否有貨物經(jīng)過(guò),出現(xiàn)下降沿則為貨物進(jìn)入,出現(xiàn)上升沿則說(shuō)明貨物已經(jīng)通過(guò)。包裹檢測(cè)模塊電路結(jié)構(gòu)如圖4所示。
圖4 包裹檢測(cè)模塊電路結(jié)構(gòu)圖
快遞包裹的重量體積參差不齊,一般較輕較小的貨物在擺輪分揀機(jī)上容易存在跳躍現(xiàn)象,如果恰巧在檢測(cè)光束上跳過(guò)將會(huì)導(dǎo)致包裹漏檢,造成分揀錯(cuò)誤。因此選用出入口各兩組垂直布置的結(jié)構(gòu),第一組貼近平面,第二組抬高5 cm,正常運(yùn)行的貨物會(huì)同時(shí)觸發(fā)兩組傳感器,跳躍的貨物可能掠過(guò)第一組但受到跳躍高度限制仍然會(huì)觸發(fā)第二組傳感器,采用這種方式對(duì)包裹形態(tài)體積適應(yīng)性更強(qiáng),不會(huì)造成漏檢情況。
在傳送過(guò)程中由于機(jī)械運(yùn)轉(zhuǎn)、傳送帶不平整燈情況會(huì)存在包裹晃動(dòng)情況,因此在觸發(fā)的臨界位置很容易產(chǎn)生連續(xù)的脈沖式觸發(fā)信號(hào),從而讓系統(tǒng)誤認(rèn)為有多個(gè)包裹經(jīng)過(guò)。包裹分揀過(guò)程中一旦發(fā)生錯(cuò)誤檢測(cè)的情況,很容易造成包裹隊(duì)列的順序出錯(cuò)。如圖5所示,P1兩組傳感器被連續(xù)觸發(fā)時(shí)記錄第一個(gè)觸發(fā)脈沖的時(shí)間為起點(diǎn),以最后一個(gè)傳感器觸發(fā)結(jié)束信號(hào)P2作為終點(diǎn)計(jì)算時(shí)間差值tp,當(dāng)差值大于誤觸發(fā)值時(shí)判斷為一件貨物,并且每個(gè)下降沿均會(huì)開(kāi)始重新計(jì)時(shí),當(dāng)有連續(xù)脈沖觸發(fā)時(shí)值將會(huì)不斷被清零,直到脈沖結(jié)束數(shù)值才會(huì)累計(jì),當(dāng)大于檢測(cè)閾值時(shí),即確定一件貨物觸發(fā)結(jié)束。檢測(cè)閾值范圍的大小直接決定了貨物的運(yùn)送速度和傳輸間隔,其必須滿足公式:
圖5 包裹觸發(fā)邏輯信號(hào)
Dp>td×vp
(1)
式中,Dp為傳輸間隔,tq為檢測(cè)閾值,vp為運(yùn)行速度。
即當(dāng)傳送帶以1 m/s的速度運(yùn)行時(shí),要保證包裹間隔距離大于5 cm,如果低于這個(gè)值,系統(tǒng)將會(huì)誤認(rèn)為是連續(xù)脈沖,將兩個(gè)貨物識(shí)別成一個(gè)貨物。
包裹進(jìn)入分揀機(jī)時(shí)觸發(fā)入口檢測(cè)裝置,擺輪分揀機(jī)獲取包裹分揀信息,驅(qū)動(dòng)傳送單元轉(zhuǎn)向單元執(zhí)行動(dòng)作,包裹按指定路徑前進(jìn),當(dāng)前包裹的目標(biāo)分揀口為當(dāng)前分揀機(jī)的左/右分揀口時(shí)直接擺出,如果目標(biāo)分揀口不在當(dāng)前分揀機(jī),則直行觸發(fā)出口檢測(cè)模塊。采用出入口兩級(jí)紅外檢測(cè)裝置,能夠及時(shí)發(fā)現(xiàn)分揀過(guò)程中的錯(cuò)誤情況,避免錯(cuò)誤累積[11]。例如當(dāng)前分揀機(jī)從入口進(jìn)入一件包裹,包裹本該直行通過(guò)當(dāng)前分揀機(jī),但由于其他原因造成貨物從兩邊的分揀口掉落,此時(shí)包裹出口的檢測(cè)模塊一直沒(méi)有檢測(cè)到包裹觸發(fā),即可認(rèn)為當(dāng)前包裹分揀出錯(cuò);同理本該在此級(jí)分揀機(jī)分揀出去的貨物沒(méi)有成功分揀,則會(huì)觸發(fā)到出口檢測(cè)模塊,分揀出錯(cuò)仍然可被發(fā)現(xiàn)。
轉(zhuǎn)向傳送控制模塊能夠控制包裹的前進(jìn)方向以及前進(jìn)速度,主要為協(xié)調(diào)控制14個(gè)直流無(wú)刷電機(jī),其分布在14個(gè)轉(zhuǎn)向機(jī)構(gòu)上,分為兩組由伺服電機(jī)控制其轉(zhuǎn)向不同的角度,如圖6所示,系統(tǒng)分為雙級(jí)轉(zhuǎn)向,伺服1控制前級(jí)轉(zhuǎn)向,伺服2控制后級(jí)轉(zhuǎn)向。傳統(tǒng)單級(jí)擺的方式由于角度固定,如果角度過(guò)小,貨物可能因慣性作用無(wú)法擺出,直接觸發(fā)到后一級(jí)擺輪機(jī);如果角度過(guò)大,貨物可能直接從包裹檢測(cè)傳感器傳感器上方翻越[12-14]。采用雙級(jí)轉(zhuǎn)向的方式可以靈活調(diào)節(jié)兩級(jí)角度,精確控制貨物的位置,前級(jí)擺動(dòng)較小角度,后級(jí)擺動(dòng)較大角度,貨物能夠完全進(jìn)入到分揀機(jī),當(dāng)進(jìn)入到中間位置觸碰到后級(jí)擺輪,可以讓貨物始終在中間區(qū)域離開(kāi)出口。
圖6 轉(zhuǎn)向傳送機(jī)構(gòu)示意圖
傳送輪的速度可根據(jù)貨物的大小自動(dòng)調(diào)節(jié),正常運(yùn)行時(shí)傳送輪的速度跟隨前一臺(tái)分揀機(jī)的速度,貨物進(jìn)入時(shí)系統(tǒng)根據(jù)貨物遮擋檢測(cè)傳感器的時(shí)間估算貨物的大小。在傳送線上,包裹體積越小越容易發(fā)生翻滾跳躍,因此傳送單元設(shè)定正常運(yùn)行速度為500 rpm,對(duì)應(yīng)默認(rèn)貨物長(zhǎng)度為40 cm,實(shí)際運(yùn)行速度按照:
v>500+k×(l-40)
(2)
進(jìn)行調(diào)節(jié),式中,v為運(yùn)行速度、k為調(diào)節(jié)系數(shù),默認(rèn)為16.7、l為貨物長(zhǎng)度。
網(wǎng)絡(luò)通信模塊用于分揀機(jī)與主機(jī)間的相互通信,實(shí)現(xiàn)分揀機(jī)的運(yùn)行控制和狀態(tài)監(jiān)測(cè),接口采用以太網(wǎng)接口,通信方式為UDP協(xié)議,選用WIZnet的W5500以太網(wǎng)控制芯片,W5500芯片是一款集成全硬件TCP/IP 協(xié)議棧的嵌入式以太網(wǎng)控制器,支持TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE協(xié)議[15]。W5500與STM32通過(guò)SPI接口相連,理論速率最大可達(dá)80 MHz,完全能夠滿足系統(tǒng)設(shè)計(jì)需求。
為保障系統(tǒng)系統(tǒng)實(shí)時(shí)可靠運(yùn)行,系統(tǒng)采用了FreeRTOS嵌入式實(shí)時(shí)操作系統(tǒng)。程序使用多任務(wù)執(zhí)行方式,如圖7所示,通用任務(wù)為優(yōu)先級(jí)最低的任務(wù),主要負(fù)責(zé)按鍵、指示燈、顯示部分等人機(jī)交互功能;電機(jī)控制任務(wù)負(fù)責(zé)控制伺服電機(jī)和直流無(wú)刷電機(jī),直流無(wú)刷電機(jī)控制器采用485總線控制,伺服電機(jī)驅(qū)動(dòng)器采用canFestival框架的CanOpen協(xié)議??刂?,canFestival完全符合CanOpen標(biāo)準(zhǔn),能夠運(yùn)行于多種類(lèi)型的平臺(tái),有較高的開(kāi)發(fā)便利性;主控制任務(wù)為優(yōu)先級(jí)最高的任務(wù),主要實(shí)現(xiàn)包裹檢測(cè)、隊(duì)列管理以及錯(cuò)誤檢測(cè)處理功能;網(wǎng)絡(luò)通信任務(wù)則負(fù)責(zé)與主機(jī)通信,實(shí)現(xiàn)指令收發(fā)、寄存器讀寫(xiě)等功能。
圖7 系統(tǒng)整體架構(gòu)圖
分揀線入口安裝有快遞掃描設(shè)備,每個(gè)包裹送到分揀線上首先要經(jīng)過(guò)掃碼區(qū),掃碼區(qū)掃描到貨物信息會(huì)確定當(dāng)前包裹的分揀口,然后掃碼主機(jī)會(huì)將此包裹的分揀信息通過(guò)網(wǎng)絡(luò)寫(xiě)入到每臺(tái)設(shè)備的分揀任務(wù)寄存器中[16]。所有的分揀機(jī)按照級(jí)聯(lián)的方式依次往后排序編號(hào),每臺(tái)分揀機(jī)輪詢自己的分揀任務(wù)寄存器,當(dāng)有數(shù)據(jù)裝入寄存器,系統(tǒng)會(huì)提取分揀信息,判斷分揀任務(wù)是否在本機(jī)執(zhí)行。如果是在本機(jī)執(zhí)行直接裝載動(dòng)作,不在本機(jī)執(zhí)行則判斷分揀任務(wù)在本機(jī)之前還是之后,如果是在本機(jī)之前由于包裹不會(huì)從本設(shè)備經(jīng)過(guò),則直接舍棄本次數(shù)據(jù),清空分揀任務(wù)寄存器;如果是在本機(jī)之后,則貨物需要經(jīng)過(guò)本臺(tái)分揀機(jī)而不參與分揀,所以直接在包裹隊(duì)列中裝入一個(gè)直行任務(wù),當(dāng)對(duì)應(yīng)包裹經(jīng)過(guò)此分揀機(jī),分揀口則會(huì)直接提取到此直行任務(wù),包裹直接通過(guò),具體執(zhí)行流程如圖8所示[17]。
圖8 分揀任務(wù)軟件流程
包裹的管理隊(duì)列按照先入先出式按序執(zhí)行方法,隊(duì)列中的數(shù)據(jù)相當(dāng)于按照分揀線上的包裹的順序排列,當(dāng)一個(gè)貨物掃碼后就會(huì)將分揀數(shù)據(jù)存入的隊(duì)列當(dāng)中,貨物分揀完成就會(huì)在隊(duì)列中清除掉包裹信息,如圖9所示[18]。
圖9 包裹管理隊(duì)列
分揀機(jī)與主機(jī)之間采用讀寫(xiě)變量的方式通信,通過(guò)模擬軟寄存器可以實(shí)現(xiàn)主機(jī)對(duì)每臺(tái)設(shè)備所有參數(shù)的訪問(wèn)。采用結(jié)構(gòu)體形式定義,其主要由變量地址、字節(jié)長(zhǎng)度兩部分組成。部分常用的寄存器如表1所示。
表1 部分常用軟寄存器
軟寄存器可以存放任意大小的變量,只需對(duì)變量進(jìn)行取值操作即可,變量占用空間的大小由字節(jié)長(zhǎng)度字段決定。寄存器表是由結(jié)構(gòu)體數(shù)組的方式實(shí)現(xiàn),將數(shù)組的索引值作為寄存器的地址值,采用此方式,無(wú)需輪詢遍歷直接通過(guò)數(shù)組索引便可對(duì)相應(yīng)變量鏡像操作。根據(jù)對(duì)變量使用權(quán)限的不同,分別建立了兩個(gè)寄存器表來(lái)存儲(chǔ)只讀寄存器和可讀可寫(xiě)寄存器,寄存器地址的最高位作為判斷寄存器類(lèi)型的依據(jù),當(dāng)最高位為0時(shí)則操作只讀寄存器,為1時(shí)操作可讀可寫(xiě)寄存器。寄存器的讀寫(xiě)通信協(xié)議如表2所示。
表2 軟寄存器讀寫(xiě)通信協(xié)議
通信協(xié)議采用不定長(zhǎng)幀傳送方式,幀首字節(jié)為設(shè)備地址段,表示分揀機(jī)的地址編號(hào),其中將0×FF作為廣播地址,因此此協(xié)議能夠容納最多255臺(tái)設(shè)備;命令字段分為讀寫(xiě)命令,0×03為讀寄存器數(shù)據(jù)指令,0×06為寫(xiě)寄存器數(shù)據(jù)指令,0×01為應(yīng)答指令;寄存器地址段是設(shè)備軟寄存器表中所配置的變量參數(shù),如設(shè)備運(yùn)行狀態(tài)、電機(jī)速度、轉(zhuǎn)動(dòng)角度、檢測(cè)數(shù)量等;寄存器數(shù)量段為以當(dāng)前寄存器地址開(kāi)始往后需要連續(xù)讀寫(xiě)的寄存器數(shù)量;數(shù)據(jù)段則需要根據(jù)讀寫(xiě)寄存器的數(shù)量裝入相應(yīng)長(zhǎng)度的字節(jié)數(shù);校驗(yàn)段采用16位CRC對(duì)數(shù)據(jù)幀進(jìn)行校驗(yàn)。
以寫(xiě)軟寄存器數(shù)據(jù)為例,主機(jī)發(fā)送寫(xiě)指令,同一網(wǎng)段內(nèi)所有分揀機(jī)都會(huì)收到指令幀,分揀機(jī)根據(jù)設(shè)備地址和校驗(yàn)字段判斷幀是否有效。幀有效時(shí)根據(jù)寄存器的起始地址依次查找寄存器數(shù)組中存儲(chǔ)的變量地址,并將數(shù)據(jù)段中的數(shù)據(jù)按序?qū)懭氲阶兞康刂分?。所有寄存器?xiě)入成功后,控制器返回一條應(yīng)答指令給主機(jī)。
采用軟寄存器讀寫(xiě)訪問(wèn)的方式對(duì)分揀機(jī)進(jìn)行控制,能夠有效降低通信總線的負(fù)載壓力,同時(shí)設(shè)備之間依賴性小,只需要修改設(shè)備編號(hào)就可以完成設(shè)備的更替,為系統(tǒng)搭建、設(shè)備維護(hù)帶來(lái)極大便利性[19]。
實(shí)驗(yàn)選用5臺(tái)分揀機(jī)級(jí)聯(lián)組成10個(gè)分揀口,實(shí)驗(yàn)場(chǎng)景如圖10所示。包裹選用小型、中小型、中型、大型包裹、書(shū)本件以及信封型超薄件。每種包裹分別準(zhǔn)備100件,一共600件貨物貼好快遞單并且錄入分揀信息。由于包裹數(shù)量有限,分揀口貨物分揀完成后可重新放到分揀線再次參與分揀,分揀時(shí)間設(shè)定為1小時(shí),其分揀效果如表3所示。
圖10 試驗(yàn)場(chǎng)景
表3 不同大小包裹分揀結(jié)果
由實(shí)驗(yàn)結(jié)果可得,該系統(tǒng)的分揀效率較高,每小時(shí)分揀可達(dá)6 000多件,揀貨范圍較廣,除了信封型超薄的物件分揀效果較差之外,其他尺寸的包裹分揀正確率基本都能保持在99.78 %以上。信封型超薄件由于厚度太薄,無(wú)法完全遮擋紅外檢測(cè)的光束,因此很容易造成觸發(fā)失敗,另外此類(lèi)超薄件重量過(guò)輕,與傳送輪的摩擦力不夠特別容易造成信件卡住,無(wú)法前進(jìn),由此表明擺輪式分揀機(jī)不適用于超輕超薄型包裹,對(duì)大型重貨更有優(yōu)勢(shì)。
本文主要針對(duì)以往快遞分揀系統(tǒng)占地面積大,投入成本高,無(wú)法滿足不同的應(yīng)用場(chǎng)景需求等問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一款可靈活擴(kuò)展的擺輪式快遞分揀機(jī)控制系統(tǒng)[20]。采用該擺輪分揀機(jī)控制系統(tǒng)能夠增加揀貨范圍,縮短項(xiàng)目回報(bào)周期,提升相應(yīng)的工作效率與準(zhǔn)確率,降低了算法復(fù)雜度;本系統(tǒng)擴(kuò)展性強(qiáng),可根據(jù)分揀需求靈活配置分揀機(jī)數(shù)量,占用空間小極大地滿足了中小型快遞公司對(duì)物流配送貨物分揀的需要,具有廣闊的市場(chǎng)前景和極大推廣價(jià)值[21]。