張自強,程 科
(江蘇科技大學 計算機科學與工程學院,江蘇 鎮江 212000)
隨著消費者的需求不斷升級和電商行業的發展,快遞、快運產業發生變革,物流配送呈現出小批量、多品種發展的趨勢,配送的商品種類和數量急劇增加,國家郵政局中國快遞大數據平臺實時監測數據顯示,截至2021年7月4日,全國快遞業務量突破500億件,接近2018年全年水平,用時僅6個月[1]。快遞行業的迅猛發展對快遞網點的分揀效率、準確率等提出了更高的要求。
傳統分揀主要以人工為主,人工分揀需要根據單號的地址,匹配對應的物流網點。在這種操作模式中,分揀員需要熟練記憶快遞網點與地址的對應關系;且由于快遞業的快速發展,地址與網點的對應關系常常發生變化。造成了分揀難、分揀慢、分揀錯等問題,直接影響到快遞公司的服務質量。大型分揀系統雖然效率高,但占地面積大,投入成本高,回報周期長,不適合中小型快遞公司的使用[2-4]。針對現有快遞分揀設備存在的問題,本文設計了一種新型的擺輪式快遞分揀控制系統,可適用于不同形狀、大小的包裹,實現連續、大批量地分揀作業。
擺輪式快遞分揀機在整條快遞分揀線中的布局如圖1所示。分揀線主要由前端條碼掃描系統和多臺擺輪分揀機組成,每臺擺輪分揀機有左右兩個出口,最后一級分揀機的出口區作為疑難件、錯誤件等包裹的舍棄口。分揀機可連續級聯使用,無需拉距機,級聯數量可根據分揀需求靈活配置[5]。下面將據圖闡述系統工作過程:

圖1 分揀線布局圖
1)首先包裹被傳送到條碼掃描區,掃碼設備識別到貨物后掃描包裹的快遞單號,主機根據快遞單號獲取包裹配送地址信息,按照系統預先設定值匹配分揀口。
2)主機廣播分揀任務信息,包括單號、指定分揀口等信息。
3)分揀機控制柜接收分揀任務信息,判斷包裹是否在本機分揀,若在本機分揀裝載任務,不在本機分揀則判斷包裹是否需要經過本機,經過本機的包裹需要裝載直行任務讓包裹直行通過。
4)分揀機檢測到包裹到達本機,執行對應分揀任務。
本系統主要針對擺輪分揀機的包裹位置檢測、動作執行等方面進行設計,配合條碼掃描主機完成分揀任務。擺輪分揀機結構如圖2所示,其主要由一臺控制柜、出入口包裹檢測裝置、伺服轉向機構和傳送機構組成。其中,轉向機構分為前后兩個部分,分別由兩個伺服電機控制轉向,前后兩部分可轉不同的角度;傳送輪安裝在每個擺輪上,使用直流無刷電機驅動4個傳送軸轉動,傳送輪的速度可調[6];包裹檢測裝置包括前后各兩組紅外對管傳感器,用于檢測貨物在當前分揀口的位置以及作為分揀是否成功的判斷依據。系統工作時,擺輪分揀機轉向回正,等待主機下發分揀任務信息,接收到任務信息后存入到任務隊列中,紅外檢測裝置檢測貨物進入到分揀口后按順序從隊列中提取包裹信息,確定包裹的走向,如果貨物沒有按照預定線路傳送,則觸發錯誤處理機制,避免分揀錯誤累積[7-10]。

圖2 擺輪式分揀機結構圖
擺輪式快遞分揀機電路硬件結構如圖3所示,由轉向單元、傳送單元、包裹檢測單元、控制單元共4部分組成??刂茊卧ɑ赟TM32F103ZET6的嵌入式控制器、以太網通信模塊、無刷電機伺服電機驅動等功能模塊。

圖3 擺輪式分揀機硬件結構
包裹檢測模塊選用NPN型紅外對管傳感器,該傳感器為點對點光束檢測方式,如果有物體遮擋顯示則會觸發電平信號變化,相對于其他測距型、反射性傳感器靈敏度更高,不容易造成誤判。紅外對管傳感器采用24 V電源供電,為解決電源串擾以及電平信號匹配問題,選用6N137光耦芯片實現信號隔離和電平轉換。單片機通過檢測電平跳變沿確定是否有貨物經過,出現下降沿則為貨物進入,出現上升沿則說明貨物已經通過。包裹檢測模塊電路結構如圖4所示。

圖4 包裹檢測模塊電路結構圖
快遞包裹的重量體積參差不齊,一般較輕較小的貨物在擺輪分揀機上容易存在跳躍現象,如果恰巧在檢測光束上跳過將會導致包裹漏檢,造成分揀錯誤。因此選用出入口各兩組垂直布置的結構,第一組貼近平面,第二組抬高5 cm,正常運行的貨物會同時觸發兩組傳感器,跳躍的貨物可能掠過第一組但受到跳躍高度限制仍然會觸發第二組傳感器,采用這種方式對包裹形態體積適應性更強,不會造成漏檢情況。
在傳送過程中由于機械運轉、傳送帶不平整燈情況會存在包裹晃動情況,因此在觸發的臨界位置很容易產生連續的脈沖式觸發信號,從而讓系統誤認為有多個包裹經過。包裹分揀過程中一旦發生錯誤檢測的情況,很容易造成包裹隊列的順序出錯。如圖5所示,P1兩組傳感器被連續觸發時記錄第一個觸發脈沖的時間為起點,以最后一個傳感器觸發結束信號P2作為終點計算時間差值tp,當差值大于誤觸發值時判斷為一件貨物,并且每個下降沿均會開始重新計時,當有連續脈沖觸發時值將會不斷被清零,直到脈沖結束數值才會累計,當大于檢測閾值時,即確定一件貨物觸發結束。檢測閾值范圍的大小直接決定了貨物的運送速度和傳輸間隔,其必須滿足公式:

圖5 包裹觸發邏輯信號
Dp>td×vp
(1)
式中,Dp為傳輸間隔,tq為檢測閾值,vp為運行速度。
即當傳送帶以1 m/s的速度運行時,要保證包裹間隔距離大于5 cm,如果低于這個值,系統將會誤認為是連續脈沖,將兩個貨物識別成一個貨物。
包裹進入分揀機時觸發入口檢測裝置,擺輪分揀機獲取包裹分揀信息,驅動傳送單元轉向單元執行動作,包裹按指定路徑前進,當前包裹的目標分揀口為當前分揀機的左/右分揀口時直接擺出,如果目標分揀口不在當前分揀機,則直行觸發出口檢測模塊。采用出入口兩級紅外檢測裝置,能夠及時發現分揀過程中的錯誤情況,避免錯誤累積[11]。例如當前分揀機從入口進入一件包裹,包裹本該直行通過當前分揀機,但由于其他原因造成貨物從兩邊的分揀口掉落,此時包裹出口的檢測模塊一直沒有檢測到包裹觸發,即可認為當前包裹分揀出錯;同理本該在此級分揀機分揀出去的貨物沒有成功分揀,則會觸發到出口檢測模塊,分揀出錯仍然可被發現。
轉向傳送控制模塊能夠控制包裹的前進方向以及前進速度,主要為協調控制14個直流無刷電機,其分布在14個轉向機構上,分為兩組由伺服電機控制其轉向不同的角度,如圖6所示,系統分為雙級轉向,伺服1控制前級轉向,伺服2控制后級轉向。傳統單級擺的方式由于角度固定,如果角度過小,貨物可能因慣性作用無法擺出,直接觸發到后一級擺輪機;如果角度過大,貨物可能直接從包裹檢測傳感器傳感器上方翻越[12-14]。采用雙級轉向的方式可以靈活調節兩級角度,精確控制貨物的位置,前級擺動較小角度,后級擺動較大角度,貨物能夠完全進入到分揀機,當進入到中間位置觸碰到后級擺輪,可以讓貨物始終在中間區域離開出口。

圖6 轉向傳送機構示意圖
傳送輪的速度可根據貨物的大小自動調節,正常運行時傳送輪的速度跟隨前一臺分揀機的速度,貨物進入時系統根據貨物遮擋檢測傳感器的時間估算貨物的大小。在傳送線上,包裹體積越小越容易發生翻滾跳躍,因此傳送單元設定正常運行速度為500 rpm,對應默認貨物長度為40 cm,實際運行速度按照:
v>500+k×(l-40)
(2)
進行調節,式中,v為運行速度、k為調節系數,默認為16.7、l為貨物長度。
網絡通信模塊用于分揀機與主機間的相互通信,實現分揀機的運行控制和狀態監測,接口采用以太網接口,通信方式為UDP協議,選用WIZnet的W5500以太網控制芯片,W5500芯片是一款集成全硬件TCP/IP 協議棧的嵌入式以太網控制器,支持TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE協議[15]。W5500與STM32通過SPI接口相連,理論速率最大可達80 MHz,完全能夠滿足系統設計需求。
為保障系統系統實時可靠運行,系統采用了FreeRTOS嵌入式實時操作系統。程序使用多任務執行方式,如圖7所示,通用任務為優先級最低的任務,主要負責按鍵、指示燈、顯示部分等人機交互功能;電機控制任務負責控制伺服電機和直流無刷電機,直流無刷電機控制器采用485總線控制,伺服電機驅動器采用canFestival框架的CanOpen協議??刂?,canFestival完全符合CanOpen標準,能夠運行于多種類型的平臺,有較高的開發便利性;主控制任務為優先級最高的任務,主要實現包裹檢測、隊列管理以及錯誤檢測處理功能;網絡通信任務則負責與主機通信,實現指令收發、寄存器讀寫等功能。

圖7 系統整體架構圖
分揀線入口安裝有快遞掃描設備,每個包裹送到分揀線上首先要經過掃碼區,掃碼區掃描到貨物信息會確定當前包裹的分揀口,然后掃碼主機會將此包裹的分揀信息通過網絡寫入到每臺設備的分揀任務寄存器中[16]。所有的分揀機按照級聯的方式依次往后排序編號,每臺分揀機輪詢自己的分揀任務寄存器,當有數據裝入寄存器,系統會提取分揀信息,判斷分揀任務是否在本機執行。如果是在本機執行直接裝載動作,不在本機執行則判斷分揀任務在本機之前還是之后,如果是在本機之前由于包裹不會從本設備經過,則直接舍棄本次數據,清空分揀任務寄存器;如果是在本機之后,則貨物需要經過本臺分揀機而不參與分揀,所以直接在包裹隊列中裝入一個直行任務,當對應包裹經過此分揀機,分揀口則會直接提取到此直行任務,包裹直接通過,具體執行流程如圖8所示[17]。

圖8 分揀任務軟件流程
包裹的管理隊列按照先入先出式按序執行方法,隊列中的數據相當于按照分揀線上的包裹的順序排列,當一個貨物掃碼后就會將分揀數據存入的隊列當中,貨物分揀完成就會在隊列中清除掉包裹信息,如圖9所示[18]。

圖9 包裹管理隊列
分揀機與主機之間采用讀寫變量的方式通信,通過模擬軟寄存器可以實現主機對每臺設備所有參數的訪問。采用結構體形式定義,其主要由變量地址、字節長度兩部分組成。部分常用的寄存器如表1所示。

表1 部分常用軟寄存器
軟寄存器可以存放任意大小的變量,只需對變量進行取值操作即可,變量占用空間的大小由字節長度字段決定。寄存器表是由結構體數組的方式實現,將數組的索引值作為寄存器的地址值,采用此方式,無需輪詢遍歷直接通過數組索引便可對相應變量鏡像操作。根據對變量使用權限的不同,分別建立了兩個寄存器表來存儲只讀寄存器和可讀可寫寄存器,寄存器地址的最高位作為判斷寄存器類型的依據,當最高位為0時則操作只讀寄存器,為1時操作可讀可寫寄存器。寄存器的讀寫通信協議如表2所示。

表2 軟寄存器讀寫通信協議
通信協議采用不定長幀傳送方式,幀首字節為設備地址段,表示分揀機的地址編號,其中將0×FF作為廣播地址,因此此協議能夠容納最多255臺設備;命令字段分為讀寫命令,0×03為讀寄存器數據指令,0×06為寫寄存器數據指令,0×01為應答指令;寄存器地址段是設備軟寄存器表中所配置的變量參數,如設備運行狀態、電機速度、轉動角度、檢測數量等;寄存器數量段為以當前寄存器地址開始往后需要連續讀寫的寄存器數量;數據段則需要根據讀寫寄存器的數量裝入相應長度的字節數;校驗段采用16位CRC對數據幀進行校驗。
以寫軟寄存器數據為例,主機發送寫指令,同一網段內所有分揀機都會收到指令幀,分揀機根據設備地址和校驗字段判斷幀是否有效。幀有效時根據寄存器的起始地址依次查找寄存器數組中存儲的變量地址,并將數據段中的數據按序寫入到變量地址中。所有寄存器寫入成功后,控制器返回一條應答指令給主機。
采用軟寄存器讀寫訪問的方式對分揀機進行控制,能夠有效降低通信總線的負載壓力,同時設備之間依賴性小,只需要修改設備編號就可以完成設備的更替,為系統搭建、設備維護帶來極大便利性[19]。
實驗選用5臺分揀機級聯組成10個分揀口,實驗場景如圖10所示。包裹選用小型、中小型、中型、大型包裹、書本件以及信封型超薄件。每種包裹分別準備100件,一共600件貨物貼好快遞單并且錄入分揀信息。由于包裹數量有限,分揀口貨物分揀完成后可重新放到分揀線再次參與分揀,分揀時間設定為1小時,其分揀效果如表3所示。

圖10 試驗場景

表3 不同大小包裹分揀結果
由實驗結果可得,該系統的分揀效率較高,每小時分揀可達6 000多件,揀貨范圍較廣,除了信封型超薄的物件分揀效果較差之外,其他尺寸的包裹分揀正確率基本都能保持在99.78 %以上。信封型超薄件由于厚度太薄,無法完全遮擋紅外檢測的光束,因此很容易造成觸發失敗,另外此類超薄件重量過輕,與傳送輪的摩擦力不夠特別容易造成信件卡住,無法前進,由此表明擺輪式分揀機不適用于超輕超薄型包裹,對大型重貨更有優勢。
本文主要針對以往快遞分揀系統占地面積大,投入成本高,無法滿足不同的應用場景需求等問題,設計并實現了一款可靈活擴展的擺輪式快遞分揀機控制系統[20]。采用該擺輪分揀機控制系統能夠增加揀貨范圍,縮短項目回報周期,提升相應的工作效率與準確率,降低了算法復雜度;本系統擴展性強,可根據分揀需求靈活配置分揀機數量,占用空間小極大地滿足了中小型快遞公司對物流配送貨物分揀的需要,具有廣闊的市場前景和極大推廣價值[21]。