








摘 要:隨著我國(guó)經(jīng)濟(jì)的蓬勃發(fā)展,實(shí)體經(jīng)濟(jì)的重要性逐漸凸顯,而倉(cāng)儲(chǔ)作為實(shí)體經(jīng)濟(jì)循環(huán)的重要環(huán)節(jié),亟需加速其智能化建設(shè)進(jìn)程。當(dāng)前,我國(guó)智慧倉(cāng)儲(chǔ)仍處在快速發(fā)展階段,尚存在諸多待優(yōu)化設(shè)計(jì)之處。為此,通過(guò)將物聯(lián)網(wǎng)、云平臺(tái)、自動(dòng)導(dǎo)航車、機(jī)器視覺(jué)等技術(shù)相結(jié)合,針對(duì)智慧倉(cāng)儲(chǔ)系統(tǒng)中存在的信息流通不暢、自動(dòng)化程度較低等痛點(diǎn),提供了一種原理簡(jiǎn)潔、成本相對(duì)較低且性價(jià)比較高的物聯(lián)網(wǎng)智慧倉(cāng)儲(chǔ)系統(tǒng)。利用ESP32、OpenMV等模塊開(kāi)發(fā)出了具備機(jī)器視覺(jué)和自主避障功能的物流機(jī)器人,并借助物聯(lián)網(wǎng)云平臺(tái)等技術(shù)實(shí)現(xiàn)了物流機(jī)器人的智能調(diào)度,提高了物流倉(cāng)儲(chǔ)的流轉(zhuǎn)效率,為新時(shí)代倉(cāng)儲(chǔ)物流提供了一種更具可行性的方案。
關(guān)鍵詞:智慧倉(cāng)儲(chǔ);物流機(jī)器人;物聯(lián)網(wǎng);AGV;OpenMV;機(jī)器視覺(jué);智能貨架
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)11-00-05
0 引 言
智慧倉(cāng)儲(chǔ)又稱智能倉(cāng)儲(chǔ)系統(tǒng)或全自動(dòng)倉(cāng)儲(chǔ)管理系統(tǒng),是利用RFID射頻識(shí)別、機(jī)器人堆碼垛、立體化倉(cāng)庫(kù)等技術(shù)構(gòu)建的一種全新業(yè)務(wù)流程模式,在物流管理的倉(cāng)儲(chǔ)環(huán)節(jié)得到廣泛應(yīng)用[1-2]。據(jù)統(tǒng)計(jì),2020年全國(guó)實(shí)物商品網(wǎng)上零售額達(dá)9.8萬(wàn)億元人民幣,占社會(huì)消費(fèi)品零售總額比重高達(dá)24.9%,標(biāo)志著中國(guó)已連續(xù)8年穩(wěn)居全球第一大網(wǎng)絡(luò)零售市場(chǎng)的地位[3]。在此背景下,國(guó)內(nèi)以智慧倉(cāng)儲(chǔ)為代表的物流、電商零售領(lǐng)域發(fā)展勢(shì)頭迅猛。相較而言,國(guó)外的智慧倉(cāng)儲(chǔ)發(fā)展步伐則較為緩慢,除了因國(guó)外勞動(dòng)力成本較高迫使倉(cāng)儲(chǔ)勞動(dòng)結(jié)構(gòu)升級(jí)外,國(guó)外也缺乏智慧倉(cāng)儲(chǔ)持續(xù)發(fā)展的優(yōu)越環(huán)境和廣闊市場(chǎng)。相反,早期集成化、自動(dòng)化的倉(cāng)儲(chǔ)模式已在極大程度上滿足了電商行業(yè)的緩慢增長(zhǎng)需求,使得智慧倉(cāng)儲(chǔ)在國(guó)外主要作為一種替代性倉(cāng)儲(chǔ)模式。
智慧倉(cāng)儲(chǔ)是現(xiàn)代物流管理的重要議題,也是制造業(yè)智能化轉(zhuǎn)型和實(shí)體經(jīng)濟(jì)領(lǐng)域的熱點(diǎn)話題,它在多個(gè)行業(yè)領(lǐng)域中發(fā)揮著不可替代的作用,并展現(xiàn)出巨大的發(fā)展?jié)摿ΑV腔蹅}(cāng)儲(chǔ)的出現(xiàn)有效地緩解了土地資源緊張的問(wèn)題,通過(guò)自動(dòng)化設(shè)備取代人力,打破了土地縱深的限制,提高了單位土地的利用率和存儲(chǔ)容量。此外,智能倉(cāng)儲(chǔ)技術(shù)還提高了生產(chǎn)效率和勞動(dòng)效能,降低了勞動(dòng)成本和產(chǎn)品損耗率。同時(shí),智慧倉(cāng)儲(chǔ)技術(shù)在精細(xì)作業(yè)領(lǐng)域展現(xiàn)出了極強(qiáng)的適應(yīng)性。
因此,智能倉(cāng)儲(chǔ)技術(shù)對(duì)于推動(dòng)倉(cāng)儲(chǔ)產(chǎn)業(yè)的發(fā)展具有重要的意義。本文致力于設(shè)計(jì)一款融合物聯(lián)網(wǎng)和人工智能技術(shù)的智慧倉(cāng)儲(chǔ)系統(tǒng),旨在實(shí)現(xiàn)倉(cāng)庫(kù)物品的實(shí)時(shí)監(jiān)控和管理,進(jìn)而提高倉(cāng)儲(chǔ)運(yùn)作的效率。
1 系統(tǒng)概述
1.1 總體系統(tǒng)組成
本文所設(shè)計(jì)的系統(tǒng)主要包括入庫(kù)區(qū)平臺(tái)、倉(cāng)儲(chǔ)物流機(jī)器人、智能貨架及云平臺(tái)4個(gè)部分。入庫(kù)區(qū)平臺(tái)集成智能化技術(shù),實(shí)現(xiàn)貨物的快速精準(zhǔn)分發(fā)。物流機(jī)器人則融合人工智能算法,能夠自主規(guī)劃最優(yōu)路徑并搬運(yùn)貨物,提高倉(cāng)庫(kù)的運(yùn)作效率。智能貨架的設(shè)計(jì)采用嵌入式技術(shù),實(shí)現(xiàn)貨物的自動(dòng)識(shí)別和分類存儲(chǔ)。最后,可視化云平臺(tái)為用戶提供實(shí)時(shí)的倉(cāng)庫(kù)狀態(tài)信息,幫助用戶更好地管理倉(cāng)庫(kù)。系統(tǒng)結(jié)構(gòu)如圖1所示。
1.2 系統(tǒng)各組成部分概述
1.2.1 入庫(kù)區(qū)概述
入庫(kù)區(qū)主要由置貨架、條形碼/二維碼掃描攝像頭及無(wú)線通信模塊組成。當(dāng)攝像頭捕捉到條形碼/二維碼時(shí),向無(wú)線通信模塊傳輸條形碼/二維碼的內(nèi)容,然后無(wú)線通信模塊向云平臺(tái)發(fā)送這部分內(nèi)容,內(nèi)容一般為物流編號(hào),同時(shí)發(fā)送入庫(kù)請(qǐng)求。圖2為入庫(kù)請(qǐng)求產(chǎn)生流程。
無(wú)線通信模塊應(yīng)在發(fā)送內(nèi)容前對(duì)攝像頭識(shí)別到的信息進(jìn)行格式判定,以減少因圖像干擾或非物流二維碼導(dǎo)致的攝像頭識(shí)別錯(cuò)誤,從而避免發(fā)送錯(cuò)誤指令。
1.2.2 物流機(jī)器人概述
智能倉(cāng)儲(chǔ)物流系統(tǒng)由3種智能物流機(jī)器人組成,分別是分體曳引式小車、叉車托舉式小車和夾抓式小車。分體曳引式小車主要承擔(dān)大型貨物的水平運(yùn)輸和搬運(yùn)任務(wù)。叉車托舉式小車能夠根據(jù)貨架高度完成托舉任務(wù)。夾抓式小車可進(jìn)行抓取操作,適用于全流程中的貨物搬運(yùn)和移位。這3款智能物流機(jī)器人共同組成了倉(cāng)儲(chǔ)內(nèi)部的無(wú)人運(yùn)輸生態(tài)系統(tǒng),可以替代人力完成入庫(kù)、出庫(kù)、盤庫(kù)、移庫(kù)等任務(wù),滿足了產(chǎn)品重新排列、規(guī)模產(chǎn)品移動(dòng)和高流速產(chǎn)品輸出/輸入等操作需求。
1.2.3 云平臺(tái)概述
云平臺(tái)系統(tǒng)是一個(gè)智能化的系統(tǒng),它負(fù)責(zé)接收入庫(kù)區(qū)、物流機(jī)器人及用戶網(wǎng)頁(yè)端上傳的信息,并對(duì)這些信息進(jìn)行智能化判斷和處理,然后將相關(guān)信息存入對(duì)應(yīng)的數(shù)據(jù)庫(kù)中,自動(dòng)判定物流貨物及物流機(jī)器人狀態(tài),根據(jù)物流貨物及倉(cāng)儲(chǔ)機(jī)器人狀態(tài)自動(dòng)下發(fā)相關(guān)指令實(shí)現(xiàn)系統(tǒng)流轉(zhuǎn)運(yùn)行。
在云平臺(tái)系統(tǒng)中,當(dāng)實(shí)時(shí)數(shù)據(jù)活躍時(shí),系統(tǒng)可以將數(shù)據(jù)庫(kù)中的對(duì)應(yīng)內(nèi)容發(fā)送至用戶客戶端。用戶可以在移動(dòng)端的軟件或Web頁(yè)面查詢可視化數(shù)據(jù),從而實(shí)現(xiàn)倉(cāng)儲(chǔ)系統(tǒng)整體狀態(tài)及各部分、各物流貨物狀態(tài)的監(jiān)控。同時(shí),云平臺(tái)還扮演著上下游數(shù)據(jù)串聯(lián)的關(guān)鍵角色。憑借地緣特性,每個(gè)獨(dú)立的智慧倉(cāng)儲(chǔ)可以在倉(cāng)儲(chǔ)持有者的上游平臺(tái)中集中展示倉(cāng)儲(chǔ)情況,確保運(yùn)營(yíng)多個(gè)智慧倉(cāng)儲(chǔ)的物流公司能夠享有同時(shí)遠(yuǎn)程管理和監(jiān)控的權(quán)限。不同類型的智慧倉(cāng)儲(chǔ)平臺(tái)也可以通過(guò)信息加密、隱蔽傳送技術(shù),單方向上傳數(shù)據(jù)至監(jiān)管部門,如冷鮮倉(cāng)儲(chǔ)實(shí)時(shí)向食品藥品監(jiān)督管理局上傳數(shù)據(jù),危化物倉(cāng)儲(chǔ)則實(shí)時(shí)向環(huán)保部門上傳數(shù)據(jù)。這種數(shù)據(jù)交互方式不僅便利了政企工作,提升了監(jiān)管效能,還有效降低了安全風(fēng)險(xiǎn),減少了法律糾紛,從而推動(dòng)了智慧倉(cāng)儲(chǔ)在物流領(lǐng)域的廣泛應(yīng)用和可持續(xù)發(fā)展。
1.2.4 智能貨架概述
智能貨架系統(tǒng)是一種結(jié)合物聯(lián)網(wǎng)、云計(jì)算和人工智能等技術(shù),對(duì)貨架進(jìn)行智能化管理和優(yōu)化的系統(tǒng)。該系統(tǒng)通過(guò)傳感器、攝像頭等設(shè)備實(shí)時(shí)監(jiān)測(cè)貨架上的商品情況,對(duì)商品進(jìn)行分類、定位、計(jì)數(shù)、管理和優(yōu)化,以提高貨架的利用率和運(yùn)轉(zhuǎn)效率。針對(duì)目前國(guó)內(nèi)倉(cāng)儲(chǔ)的主要供需特性,特別聚焦于日常生活用品、生鮮食品和交易運(yùn)輸物品的需求,本系統(tǒng)將貨架分為普通貨架、冷藏貨架和大件貨架3種。
2 硬件系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)模塊選型及對(duì)比
2.1.1 入庫(kù)區(qū)模塊選型
入庫(kù)區(qū)的主要功能模塊為掃碼攝像頭與無(wú)線通信模塊。
掃碼攝像頭通過(guò)微控制器的攝像頭捕獲圖像,并在本地或云端處理圖像中的條形碼/二維碼信息。本文所設(shè)計(jì)的系統(tǒng)需要實(shí)時(shí)判斷畫面內(nèi)圖像中是否有二維碼信息,考慮到網(wǎng)絡(luò)波動(dòng)和延遲等因素,選擇在本地處理圖像信息。本文使用OpenMV開(kāi)源視覺(jué)處理方案實(shí)現(xiàn)掃碼功能,該方案使用MicroPython語(yǔ)言開(kāi)發(fā),具有很強(qiáng)的擴(kuò)展性,除了完成掃碼任務(wù)外,也可以完成深度學(xué)習(xí)模型運(yùn)行等其他任務(wù),為產(chǎn)品功能迭代升級(jí)提供了良好的硬件基礎(chǔ)。同時(shí),OpenMV具有體積小和功耗低的特點(diǎn),集成了多種常用的機(jī)器視覺(jué)功能和算法,例如圖像采集、處理、分析、識(shí)別等,相對(duì)來(lái)說(shuō)是本文所述環(huán)境下極為適配的機(jī)器視覺(jué)解決方案。
本文的研究環(huán)境設(shè)定為固定空間下的室內(nèi)環(huán)境,因此選擇WiFi通信作為無(wú)線通信模塊。系統(tǒng)中所有WiFi模塊均選擇樂(lè)鑫科技公司出品的ESP32/8266系列。具體而言,入庫(kù)區(qū)選擇了ESP8266模塊,其具有成本低、集成度高、開(kāi)發(fā)環(huán)境簡(jiǎn)單的特點(diǎn),支持多種無(wú)線通信協(xié)議,兼容多種編程語(yǔ)言,擁有強(qiáng)大的社區(qū)支持,符合本文設(shè)計(jì)系統(tǒng)追求長(zhǎng)期穩(wěn)定運(yùn)行的目的。
2.1.2 物流機(jī)器人模塊選型
物流機(jī)器人主要由主控模塊、運(yùn)動(dòng)模塊、指令接收模塊、避障導(dǎo)航模塊及作業(yè)模塊構(gòu)成。
主控模塊主要由微控制器(MCU)及其外圍電路構(gòu)成,本文選擇ST公司出品的STM32F103RCT6為微控制器,其具有豐富的外設(shè),且功耗較低,可以滿足物流機(jī)器人所有外設(shè)模塊的驅(qū)動(dòng)需求。
運(yùn)動(dòng)模塊主要由車輪、電機(jī)以及電機(jī)驅(qū)動(dòng)構(gòu)成。鑒于本文所設(shè)計(jì)的系統(tǒng)主要應(yīng)用于倉(cāng)儲(chǔ)環(huán)境,具有較為平整的地面條件,因此省略懸掛等底盤結(jié)構(gòu)。本文采用TB6612驅(qū)動(dòng)直流電機(jī)及麥克納姆輪進(jìn)行運(yùn)動(dòng)。TB6612具備過(guò)流保護(hù)、過(guò)熱保護(hù)和低電壓保護(hù)等功能,特別適用于電池供電的應(yīng)用場(chǎng)景。TB6612的控制方式非常靈活,可以通過(guò)PWM信號(hào)控制電機(jī)的速度和轉(zhuǎn)向。因此選擇TB6612驅(qū)動(dòng)直流電機(jī)。麥克納姆輪相較于蝸桿曲柄轉(zhuǎn)向結(jié)構(gòu)來(lái)說(shuō)轉(zhuǎn)彎半徑更小,移動(dòng)更加靈活,適合在本文研究的倉(cāng)儲(chǔ)環(huán)境下進(jìn)行移動(dòng)[4]。為了實(shí)現(xiàn)指令接收功能,本模塊選擇了ESP32微控制器。
避障導(dǎo)航模塊主要由避障模塊和機(jī)器視覺(jué)識(shí)別模塊構(gòu)成。避障功能主要依托激光雷達(dá)實(shí)現(xiàn)。激光雷達(dá)相較于紅外對(duì)管及超聲波而言,輪詢速率更快,精度更高,極其適用于車載測(cè)距避障系統(tǒng)。機(jī)器視覺(jué)識(shí)別模塊的主要功能為識(shí)別機(jī)器人所處區(qū)域,滿足機(jī)器人精準(zhǔn)定位并送貨至指定倉(cāng)庫(kù)的作業(yè)需求[5]。識(shí)別模塊可以應(yīng)用RFID標(biāo)簽、攝像頭識(shí)別AprilTag標(biāo)簽、攝像頭識(shí)別二維碼標(biāo)簽等解決方案。其中,攝像頭識(shí)別AprilTag標(biāo)簽相較于RFID標(biāo)簽來(lái)說(shuō)成本更低、更加靈活、更適用于室內(nèi)環(huán)境下的物體跟蹤和定位[6]。相較于攝像頭識(shí)別二維碼信息來(lái)說(shuō),AprilTag標(biāo)簽雖然承載信息量小,但是可以滿足本系統(tǒng)的需求,且攝像頭識(shí)別AprilTag標(biāo)簽內(nèi)容時(shí)可以同時(shí)對(duì)其進(jìn)行視覺(jué)距離旋角定位[7],輔助激光雷達(dá)進(jìn)行機(jī)器人避障導(dǎo)航。圖3為AprilTag中的TAG36H11家族標(biāo)簽。
作業(yè)模塊主要由3種機(jī)器人組成,分別為夾爪式、曳引式及叉舉式。其中夾爪式機(jī)器人是由多個(gè)機(jī)械臂和機(jī)械爪組成的,采用串行總線舵機(jī)驅(qū)動(dòng),其通過(guò)串行總線控制器進(jìn)行控制,可以實(shí)現(xiàn)精確的位置控制和速度控制[8]。此外,串行總線舵機(jī)還具有較高的精度和可靠性,更適合復(fù)雜多樣的倉(cāng)儲(chǔ)類別。曳引式機(jī)器人主要采用電磁鐵與曳引車鏈接。叉舉式機(jī)器人主要采用直流電機(jī)驅(qū)動(dòng)的叉舉臂完成叉舉。
2.1.3 云平臺(tái)結(jié)構(gòu)選型
云平臺(tái)采用騰訊云輕量應(yīng)用服務(wù)器進(jìn)行開(kāi)發(fā)測(cè)試。基于Webman+GatewayWorker框架,使用PHP+HTML語(yǔ)言進(jìn)行設(shè)計(jì),采用MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)。系統(tǒng)數(shù)據(jù)上下行通信采用基于TCP/IP協(xié)議的WebSocket進(jìn)行TCP長(zhǎng)連接,上下行報(bào)文格式均為JSON。JSON數(shù)據(jù)格式為當(dāng)前主流的數(shù)據(jù)報(bào)文格式,具有易于讀寫、擴(kuò)展性強(qiáng)、支持語(yǔ)言多等特點(diǎn),非常適合進(jìn)行不同平臺(tái)之間的數(shù)據(jù)交換[9]。車載監(jiān)控、視頻監(jiān)控及園區(qū)監(jiān)控的圖像數(shù)據(jù)則通過(guò)UDP協(xié)議傳輸至服務(wù)器。Webman+GatewayWorker框架可以保證系統(tǒng)在高并發(fā)環(huán)境下的穩(wěn)定性,為后續(xù)新設(shè)備的接入提供了條件。
2.1.4 智能貨架模塊選型
智能貨架配備了AHT10溫濕度傳感器,該傳感器具有高精度、低功耗、易于使用、高可靠性等優(yōu)點(diǎn),被廣泛應(yīng)用于各種環(huán)境監(jiān)測(cè)和控制領(lǐng)域[10]。低溫存儲(chǔ)倉(cāng)庫(kù)采用半導(dǎo)體制冷技術(shù)。相較于傳統(tǒng)的制冷方式,半導(dǎo)體制冷具有高效節(jié)能、高可靠性以及環(huán)保等諸多優(yōu)勢(shì),不需要使用氟利昂等有害制冷劑,具有廣闊的應(yīng)用前景[11]。本文采用半導(dǎo)體制冷技術(shù)為物流產(chǎn)品創(chuàng)造冷藏或冷凍環(huán)境。
2.2 系統(tǒng)搭建
2.2.1 入庫(kù)區(qū)功能實(shí)現(xiàn)
入庫(kù)區(qū)使用OpenMV讀取入庫(kù)區(qū)畫面,當(dāng)畫面內(nèi)出現(xiàn)條形碼/二維碼時(shí),OpenMV會(huì)自動(dòng)讀取條形碼/二維碼信息,并將識(shí)別出的信息通過(guò)串口傳輸至ESP8266無(wú)線通信模塊;ESP8266判斷信息是否為正常物流訂單消息,如果是,則將入庫(kù)指令和訂單信息打包成JSON字符串上傳至云平臺(tái),并等待物流機(jī)器人對(duì)物品執(zhí)行入庫(kù)操作[12]。如圖4所示為入庫(kù)區(qū)JSON報(bào)文格式。
2.2.2 物流機(jī)器人功能實(shí)現(xiàn)
物流機(jī)器人在停放區(qū)上電后執(zhí)行初始化及一系列自檢操作,完成這些操作后進(jìn)入就緒狀態(tài),并通過(guò)無(wú)線通信模塊嘗試連接WiFi網(wǎng)絡(luò)及云平臺(tái);連接成功并收到服務(wù)器的握手指令后,無(wú)線通信模塊開(kāi)始讀取機(jī)器人的當(dāng)前狀態(tài)信息;讀取完成后,將這些信息整理并打包成JSON格式的數(shù)據(jù)報(bào)文。該報(bào)文包含機(jī)器人的唯一ID、各個(gè)功能模塊的狀態(tài)等重要信息,其結(jié)構(gòu)如圖5所示。之后,該JSON報(bào)文會(huì)被發(fā)送給云平臺(tái),以報(bào)告機(jī)器人的實(shí)時(shí)狀態(tài)。
云平臺(tái)根據(jù)不同貨物類型向?qū)?yīng)種類的物流機(jī)器人發(fā)送指令,接收到入庫(kù)指令后,ESP32解析JSON報(bào)文,其JSON格式如圖6所示。
解析報(bào)文后,如果指令類型為“input”,則機(jī)器人前往入庫(kù)區(qū)進(jìn)行取貨操作;取貨完畢后前往貨架區(qū),通過(guò)OpenMV視覺(jué)模塊識(shí)別AprilTag標(biāo)簽以匹配指令中的貨架號(hào);隨后機(jī)器人通過(guò)視覺(jué)定位及激光雷達(dá)測(cè)距進(jìn)行精準(zhǔn)定位,實(shí)現(xiàn)貨物精準(zhǔn)取放。如果指令為“output”,則機(jī)器人從貨架取貨后前往出庫(kù)區(qū)域進(jìn)行出庫(kù)。圖7為夾爪式物流機(jī)器人的測(cè)試原型。
2.2.3 云平臺(tái)系統(tǒng)實(shí)現(xiàn)
云平臺(tái)采用Webman框架進(jìn)行開(kāi)發(fā),該框架提供了一套完整的Web應(yīng)用程序開(kāi)發(fā)解決方案,包括路由、控制器、模型、視圖等組件。同時(shí),通過(guò)MySQL數(shù)據(jù)庫(kù),實(shí)現(xiàn)高效、可靠的數(shù)據(jù)存儲(chǔ)和管理。
在云平臺(tái)開(kāi)啟Webman、Gateway、Register等全部服務(wù),并連接至數(shù)據(jù)庫(kù)后,Gateway開(kāi)始監(jiān)聽(tīng)自定義設(shè)備鏈接端口。當(dāng)有設(shè)備建立WebSocket鏈接并上報(bào)數(shù)據(jù)時(shí),服務(wù)器觸發(fā)回調(diào)函數(shù),對(duì)設(shè)備上報(bào)信息進(jìn)行解析。如果為機(jī)器人狀態(tài)上報(bào)數(shù)據(jù),則判斷其id是否已經(jīng)在數(shù)據(jù)庫(kù)中,若不在,則為其創(chuàng)建新的數(shù)據(jù)行;若已存在,則更新其HTTP鏈接及各部分狀態(tài)。若為入庫(kù)區(qū)上報(bào)數(shù)據(jù),則創(chuàng)建新的訂單數(shù)據(jù),并向相應(yīng)機(jī)器人發(fā)送入庫(kù)指令。
本系統(tǒng)的云平臺(tái)智能任務(wù)分發(fā)邏輯基于2張數(shù)據(jù)表實(shí)現(xiàn),分別為物流機(jī)器人狀態(tài)數(shù)據(jù)表及物流訂單數(shù)據(jù)表。當(dāng)有客戶端發(fā)送消息觸發(fā)回調(diào)函數(shù)時(shí),服務(wù)器會(huì)檢索訂單數(shù)據(jù)表中處于output或input狀態(tài)的第一個(gè)訂單信息。優(yōu)先讀取output,然后讀取其所屬類型、所處位置或所需出庫(kù)位置。接下來(lái),服務(wù)器會(huì)匹配該類型對(duì)應(yīng)的物流機(jī)器人類型,并讀取這些物流機(jī)器人的狀態(tài)。然后,服務(wù)器會(huì)讀取所處狀態(tài)為ready的第一個(gè)物流機(jī)器人的WebSocket客戶端id(ClientID)。通過(guò)該id,服務(wù)器會(huì)下發(fā)對(duì)應(yīng)物品的相關(guān)信息(例如所處倉(cāng)庫(kù)位置等),并更新物品狀態(tài)為出/入庫(kù)。這樣,系統(tǒng)就能夠順利運(yùn)行。
3 軟件程序設(shè)計(jì)
3.1 無(wú)線通信模塊程序設(shè)計(jì)
當(dāng)WiFi無(wú)線通信模塊與云平臺(tái)連接成功后,無(wú)線通信模塊向服務(wù)器發(fā)送機(jī)器人狀態(tài)JSON數(shù)據(jù),并將云平臺(tái)下發(fā)的數(shù)據(jù)通過(guò)串口轉(zhuǎn)發(fā)到機(jī)器人主控STM32上。
3.2 STM32解析指令程序設(shè)計(jì)
STM32接收到JSON指令后對(duì)其進(jìn)行解析,將物品物流id及所需前往的倉(cāng)庫(kù)編號(hào)解析出來(lái)并執(zhí)行相應(yīng)操作。
3.3 AprilTag定位算法及OpenMV上的實(shí)現(xiàn)程序
本文利用MicroPython中OpenMV Cam庫(kù)函數(shù)下的AprilTag類,實(shí)現(xiàn)了對(duì)目標(biāo)圖像中標(biāo)簽的定位和定位信息的編碼與解碼。標(biāo)簽的定位信息是通過(guò)識(shí)別四邊形標(biāo)簽的4個(gè)頂點(diǎn)來(lái)確定的,進(jìn)而可以計(jì)算出內(nèi)部點(diǎn)陣的坐標(biāo)。在處理點(diǎn)陣時(shí),提取最外圍一圈像素的平均值V1和次外圍一圈像素的平均值V2,以V1和V2的均值作為閾值遍歷整個(gè)點(diǎn)陣,將像素值高于閾值的坐標(biāo)點(diǎn)編碼為0,低于閾值的坐標(biāo)點(diǎn)編碼為1,得到一串二進(jìn)制碼[13]。每個(gè)四邊形都對(duì)應(yīng)一串特定的二進(jìn)制編碼,通過(guò)與AprilTag庫(kù)內(nèi)的編碼進(jìn)行匹配和解碼,可以輸出對(duì)應(yīng)的id和存儲(chǔ)的信息。本文選用TAG36H11家族標(biāo)簽來(lái)實(shí)現(xiàn)這一目標(biāo)。
通過(guò)使用image.find_apriltags()函數(shù)可以檢索攝像頭感興趣區(qū)域內(nèi)的所有AprilTag標(biāo)簽,并返回各自對(duì)應(yīng)的apriltag()類數(shù)據(jù)對(duì)象。這些返回的對(duì)象中,x、y、w、h分別代表AprilTag在圖像中邊框的坐標(biāo)(x,y)以及邊框的寬度w和高度h;id表示AprilTag中包含的數(shù)字ID;cx、cy表示標(biāo)簽中心點(diǎn)在圖像中的位置;rot為以弧度為單位的AprilTag標(biāo)簽旋度。
要獲取標(biāo)簽相對(duì)于攝像頭的位置信息,如空間中的相對(duì)坐標(biāo)及相對(duì)旋轉(zhuǎn)角度,不能直接使用image.find_apriltags()函數(shù)返回的值,其值是沒(méi)有處理過(guò)的不精確值,且單位無(wú)法確定,因此需要通過(guò)如下公式對(duì)apriltag()類中的數(shù)據(jù)進(jìn)行處理。
θ=(rot*180)/π" " " " " " " " " " " " " " " " " " "(1)
dis=dist*k" " " " " " " " " " " " " " " " " " " " (2)
式(1)為將旋度轉(zhuǎn)換為角度的公式,式(2)為將讀取到的空間相對(duì)坐標(biāo)值轉(zhuǎn)換為實(shí)際空間中相對(duì)坐標(biāo)值的公式。其中,k為比例系數(shù),為了確定k值,需要給定一個(gè)實(shí)際空間相對(duì)坐標(biāo)值,該坐標(biāo)值與通過(guò)函數(shù)讀取到的空間相對(duì)坐標(biāo)值的比值即為k。通過(guò)上述公式即可得到AprilTag與OpenMV的相對(duì)位置信息,從而得到機(jī)器人和標(biāo)簽的距離及標(biāo)簽中所包含的AprilTag ID,實(shí)現(xiàn)與ToF激光雷達(dá)的協(xié)同測(cè)距定位。圖8為定位功能測(cè)試情況,其中包含了OpenMV調(diào)試界面及STM32串口調(diào)試界面。
3.4 Webman框架與GatewayWorker框架的結(jié)合
Webman是一款基于Workerman開(kāi)發(fā)的高性能HTTP服務(wù)框架,能夠替代傳統(tǒng)的PHP-FPM架構(gòu),提供超高性能可擴(kuò)展的HTTP服務(wù),旨在快速開(kāi)發(fā)TCP長(zhǎng)連接應(yīng)用[14]。
該框架采用了經(jīng)典的Gateway和Worker進(jìn)程模型,其中Gateway進(jìn)程負(fù)責(zé)維持客戶端連接,并將客戶端數(shù)據(jù)轉(zhuǎn)發(fā)給BusinessWorker進(jìn)程處理。BusinessWorker進(jìn)程則負(fù)責(zé)處理實(shí)際的業(yè)務(wù)邏輯(默認(rèn)調(diào)用Events.php處理業(yè)務(wù)),并將結(jié)果推送給對(duì)應(yīng)的客戶端。Gateway服務(wù)和BusinessWorker服務(wù)可以分開(kāi)部署在不同的服務(wù)器上,實(shí)現(xiàn)分布式集群。GatewayWorker提供了便捷的API接口,可以實(shí)現(xiàn)全局廣播數(shù)據(jù)、向某個(gè)群體廣播數(shù)據(jù)或向特定客戶端推送數(shù)據(jù)。此外,配合Workerman框架的定時(shí)器功能,還可以實(shí)現(xiàn)數(shù)據(jù)的定時(shí)推送。
為保證數(shù)據(jù)保存的持久性及連接顯示的穩(wěn)定性,本文不使用API直接向Web頁(yè)面推送數(shù)據(jù),所有本地設(shè)備上傳的數(shù)據(jù)均由GatewayWorker存入數(shù)據(jù)庫(kù)中,并操作數(shù)據(jù)庫(kù)更新數(shù)據(jù),前端顯示由Webman調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)現(xiàn)。
4 結(jié) 語(yǔ)
本文研究并提出了一個(gè)基于物聯(lián)網(wǎng)和人工智能技術(shù)的智慧倉(cāng)儲(chǔ)系統(tǒng)。該系統(tǒng)集成了入庫(kù)區(qū)平臺(tái)、倉(cāng)儲(chǔ)物流機(jī)器人、智能貨架和云平臺(tái)等先進(jìn)技術(shù),實(shí)現(xiàn)了倉(cāng)庫(kù)物品的實(shí)時(shí)監(jiān)控和管理,提高了倉(cāng)儲(chǔ)運(yùn)作效率。此外,該系統(tǒng)還具有機(jī)器視覺(jué)和自主避障功能,能夠?qū)崿F(xiàn)倉(cāng)儲(chǔ)物流機(jī)器人自主規(guī)劃路徑和搬運(yùn)貨物,進(jìn)一步增強(qiáng)了倉(cāng)庫(kù)的運(yùn)作效能。本文的研究在緩解土地資源緊張狀況、提高生產(chǎn)效率和降低勞動(dòng)成本等方面具有重要意義。當(dāng)然本文研究還存在諸多待完善之處:當(dāng)前機(jī)器人的路徑規(guī)劃過(guò)于依賴預(yù)設(shè)路線,需要引入多機(jī)器人綜合路徑規(guī)劃系統(tǒng)以提升靈活性;對(duì)于機(jī)器人的續(xù)航性能未作優(yōu)化,僅使用18650電池組供電,需探索更高效的能源解決方案;單機(jī)器人的運(yùn)載效率較低,可考慮結(jié)合固定軌道機(jī)器人及貨架機(jī)器人以提高整體效率;為降低倉(cāng)庫(kù)風(fēng)險(xiǎn),還需要考慮入庫(kù)區(qū)危化品等的檢測(cè)。
注:本文通訊作者為成爾卓。
參考文獻(xiàn)
[1]張澤治,宿杰.基于“5G+智慧物流裝備”的智能倉(cāng)儲(chǔ)管理系統(tǒng)設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2023,36(2):58-63.
[2]曹闖明,董紹華,段宇航.互聯(lián)網(wǎng)+背景下企業(yè)倉(cāng)儲(chǔ)系統(tǒng)管理模式探析[J].物流工程與管理,2021,43(11):44-48.
[3]環(huán)球網(wǎng).中國(guó)連續(xù)8年成為全球第一大網(wǎng)絡(luò)零售市場(chǎng)[EB/OL]. (2021-02-07) [2023-08-23]. https://tech.huanqiu.com/article/41abspHpb9J.
[4]李虹,張宇晨,苗旭燾. OpenMV智能物料搬運(yùn)方向的開(kāi)發(fā)[J].電子技術(shù)與軟件工程,2022(3):107-112.
[5] ABBAS S M, ASLAM S, BERNS K, et al. Analysis and improvements in AprilTag based state estimation [J]. Sensors (Basel, Switzerland), 2019, 19(24): 5480.
[6]盧寧.變電站中的室內(nèi)巡檢機(jī)器人研究與設(shè)計(jì)[D].濟(jì)南:山東大學(xué),2019.
[7]王素敏,侯愛(ài)萍,袁亮,等.基于QR碼圖形特征的移動(dòng)機(jī)器人定位[J].機(jī)床與液壓,2019,47(23):28-31.
[8]楊蒙蒙,鄧三星,李帥,等.基于STM32單片機(jī)的雙足競(jìng)走機(jī)器人設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2022,12(5):123-126.
[9]吳棟,黃全財(cái),孫小川.基于模型的分布式總裝測(cè)試系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2022(23):132-135.
[10]李文豪,陳仲生,方鄉(xiāng).面向環(huán)境監(jiān)測(cè)的LoRa自組網(wǎng)網(wǎng)關(guān)設(shè)計(jì)[J].電工電氣,2023(4):53-59.
[11]胡國(guó)喜.半導(dǎo)體制冷技術(shù)及應(yīng)用路徑研究[J].電子制作,2020(9):74-75.
[12]高寧,楊永鋒,顧亮,等.基于條碼識(shí)別及物聯(lián)網(wǎng)的移動(dòng)智慧倉(cāng)儲(chǔ)系統(tǒng)的構(gòu)建[J].計(jì)算機(jī)應(yīng)用,2019,39(z1):228-234.
[13]焦傳佳,江明.基于AprilTag圖像識(shí)別的移動(dòng)機(jī)器人定位研究[J].電子測(cè)量與儀器學(xué)報(bào),2021,35(1):110-119.
[14] ZHANG W, LIU Y. Performance evaluation of Webman and Nginx on HTTP/2 protocol [C]// 2021 3rd International Conference on Frontiers in Computer Education (ICFCE). [S.l.]: [s.n.], 2021: 363-367.
作者簡(jiǎn)介:苗旭燾(2001—),男,研究方向?yàn)殡娮有畔⒖茖W(xué)與技術(shù)。
張宇晨(2001—),男,研究方向?yàn)殡娮有畔⒖茖W(xué)與技術(shù)。
成爾卓(2001—),男,研究方向?yàn)槲锫?lián)網(wǎng)工程、國(guó)際經(jīng)濟(jì)與貿(mào)易。
葉麗杰(2001—),女,研究方向?yàn)槲锫?lián)網(wǎng)工程。
成舒豪(2001—),男,在讀碩士研究生,研究方向?yàn)闄C(jī)械電子工程。
收稿日期:2023-11-14 修回日期:2023-12-12
基金項(xiàng)目:國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(202313663001);國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(202313663 004);國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(20221366 3002)
物聯(lián)網(wǎng)技術(shù)2024年11期