歸銘李 李晨澤 覃琳 劉雨燦 石榴 鹿玉紅*
(防災(zāi)科技學(xué)院信息工程學(xué)院,河北三河 065201)
在“互聯(lián)網(wǎng)+”、“智能化”的大趨勢下,智能化的快遞配送方式騰空出世,為優(yōu)化精簡物資配送過程, 盡可能節(jié)省人力物力提供了可能。考慮到“配送至最后一公里”存在地區(qū)偏遠、海拔高、地形復(fù)雜、交通不便利等情況,采用無人小車配送可以更好地提升工作,且可以在一定程度上解決配送人員可能出現(xiàn)的身體不適等問題,因而研究設(shè)計了一款基于機器視覺應(yīng)用的無人配送小車系統(tǒng)。
本系統(tǒng)以樹莓派AI 智能小車為硬件載體,其配有紅外傳感器、攝像頭、電機驅(qū)動等功能模塊,通過紅外傳感器可以實現(xiàn)小車自動感知、避讓障礙物的功能,通過攝像頭進行路況信息(主要是紅綠燈信息和取件人臉信息)的采集。系統(tǒng)軟件部分以Linux 操作系統(tǒng)為開發(fā)環(huán)境,采用python 與機器視覺、建模等技術(shù)相結(jié)合的方式,使小車具有辨別紅綠燈、面部識別及實時路線規(guī)劃等功能,從而實現(xiàn)小車的自動駕駛。當(dāng)調(diào)配站將配送目標發(fā)送給小車,且符合配送要求時,小車開始進行配送,并通過對取件人的面部識別或密碼輸入、掃描二維碼等多種形式進行確認,確認無誤后打開對應(yīng)取件格完成本次配送過程,并可上傳云端進行登記。無人配送系統(tǒng)總體結(jié)構(gòu)如圖1 所示。
圖1 無人配送系統(tǒng)總體結(jié)構(gòu)
本次選用的主控模塊是樹莓派4B 的微型主板,作為小車的控制核心。配合拓展板連接攝像頭模塊、電機驅(qū)動模塊和紅外避障等模塊作為小車的主體,再搭配Linux 系統(tǒng)實現(xiàn)無人配送的功能。電機用于提供小車的動力,可實現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、制動、停止等一系列動作,可以實現(xiàn)小車在各種環(huán)境下的運動要求,直流電機工作狀態(tài)如表1 所示。樹莓派4B 主板如圖2 所示。
圖2 樹莓派芯片實物圖
表1 直流電機狀態(tài)表
路線規(guī)劃是由感知模塊和控制模塊兩部分構(gòu)成。
感知模塊利用紅外避障傳感器和攝像頭來監(jiān)測小車周邊環(huán)境及紅綠燈、路牌文字等信息的采集。紅外線避障傳感器用于檢測障礙物并避讓,紅外傳感器的電路如圖3 所示。攝像頭用于采集周邊環(huán)境,同時進行路牌的文字識別,二者結(jié)合一起將對應(yīng)的路況信息傳送到遠程后端,作為行車路線規(guī)劃的依據(jù)。再利用GPR 確定小車自身所處的位置。
圖3 紅外避障電路圖
控制部分則是用于確定路線。首先是通過導(dǎo)航規(guī)劃算法計算兩地AB 之間的最短路線(一般執(zhí)行一次)。行為規(guī)劃則使用了決策算法,用于確定行駛的意圖,遇到障礙物是避讓還是加速超車,如要避讓是左轉(zhuǎn)還是右轉(zhuǎn)。因而決策算法需要較高的執(zhí)行頻率(一般為10HZ),但決策算法需要一定的環(huán)境穩(wěn)定性。運動規(guī)劃算法則主要用于將決策算法計算出的有詳細信息并滿足各種約束條件的軌跡發(fā)送給控制模塊去執(zhí)行跟蹤,因而它也需要和決策算法一樣具有較高的執(zhí)行頻率(一般為10HZ)。通過三個模塊的分工合作后,最終實現(xiàn)無人小車配送系統(tǒng)的路線規(guī)劃,實現(xiàn)自動駕駛。路線規(guī)劃框圖如圖4 所示。
圖4 自動駕駛- 路線規(guī)劃
紅綠燈的識別主要是采用OpenCV 和yolov5 的結(jié)合來實現(xiàn)的。Yolov5 的輸入端采用了Mosaic 數(shù)據(jù)增強的方式。在常用的目標檢測算法中,不同的圖片長寬都不相同,因此常用的方式是將原始圖片統(tǒng)一縮放到一個標準尺寸,再放入檢測網(wǎng)絡(luò)中。Focus 是Yolov5 新增的操作,以Yolov5s 的結(jié)構(gòu)為例,原始的圖像輸入Focus 結(jié)構(gòu),經(jīng)過切片操作和卷積操作,最終變成可以用來訓(xùn)練的特征圖。Yolov5 中設(shè)計了兩種CSP 結(jié)構(gòu)和FPN+PAN的結(jié)構(gòu)。在網(wǎng)絡(luò)訓(xùn)練中,網(wǎng)絡(luò)在初始錨框的基礎(chǔ)上輸出預(yù)測框,進而和真實框groundtruth 進行比對,計算兩者差距,再反向更新,迭代網(wǎng)絡(luò)參數(shù)。
在訓(xùn)練的過程中,首先是采集數(shù)據(jù),從網(wǎng)上采集的紅綠燈的圖片進行清洗后,采用labelimg 來標記已經(jīng)準備好多數(shù)據(jù)集,再利用yolov5 的訓(xùn)練方法來訓(xùn)練數(shù)據(jù)。訓(xùn)練模型如圖5 所示。在代碼中用OpenCV 來獲取前方紅綠燈的信息,接著將處理后的數(shù)據(jù)插入yolov5 的識別網(wǎng)絡(luò),在從中獲取數(shù)據(jù)相應(yīng),從而識別出紅綠燈信息。識別紅綠燈實現(xiàn)流程圖如圖6 所示。
圖5 紅綠燈模型訓(xùn)練
圖6 紅綠燈識別流程圖
文字識別采用了訓(xùn)練模型的方法,使用了兩個Python 的庫chi_sim_vert.traineddata 和eng.traineddata,分別訓(xùn)練,最后再結(jié)合move 與wz 兩段Python 編程的代碼實現(xiàn)文字識別的效果。實際工作情況如圖7 所示。文字識別訓(xùn)練效果圖如圖8 所示。
圖7 文字識別
圖8 文字識別效果圖
無人配送小車通過MySQL 數(shù)據(jù)庫的建立及云端上傳,把配送的信息數(shù)據(jù)包括用戶的個人信息,取件信息等,添加到庫中儲存,刪除,修改,查詢。通過串口協(xié)調(diào)器將其與樹莓派連接,實現(xiàn)樹莓派小車與onenet 之間的數(shù)據(jù)傳輸,隨后將數(shù)據(jù)保存至onenet,通過設(shè)備概覽查看上傳成功的數(shù)據(jù)量,在onenet 上可以隨時觀看數(shù)據(jù)上傳的實時動態(tài)。具體操作效果如圖9 所示。
圖9 云平臺設(shè)備管理
本文設(shè)計的無人小車配送系統(tǒng)能夠?qū)崿F(xiàn)紅綠燈識別,自動避障的功能,同時,通過識別文字路牌,到達指定位置裝卸物資,然后通過人臉識別取走快件。在系統(tǒng)配送物資的同時將路況收取件數(shù)據(jù)上傳至云平臺方便物資調(diào)配。功能展示如圖10 所示。
圖10 功能展示
本文設(shè)計的無人小車配送系統(tǒng)的研究與設(shè)計為物資的配送提供了一種新的解決方案,適合在高海拔等偏遠復(fù)雜地區(qū)替代配送人員完成“最后一公里”的物資運輸,節(jié)省了配送過程中的人員配置,在一定程度上提高了配送環(huán)節(jié)的便捷性、穩(wěn)定性和安全性,有很好的推廣應(yīng)用價值。