文/熊海東 鄧人球 李肖龍 王國先 王方舟
傳統的物流終端分揀通常依賴于人工操作,但隨著技術的發展,越來越多的自動化解決方案被引入物流行業。本項目旨在開發一種基于ROS的物流終端智能分揀機器人。該機器人可以通過攝像頭分析快遞上的條形碼以及快遞體積大小信息,對快遞進行分類并將快遞信息入庫,然后利用SLAM 算法進行定位,將貨物送至指定分類區域,從而實現快遞快速分揀。
隨著電子商務的迅速發展和全球貿易的增加,中國快遞業務量急速增長。物流終端快遞處理問題愈發嚴重。因此為了減輕快遞工作人員的工作壓力,實現快速分揀,物流終端自動化勢在必行。為了解決這一問題,我們設計一種基于ROS的物流終端智能分揀機器人。通過相機識別快遞條形碼以及快遞體積大小,實現對快遞的快速分類;結合激光雷達、IMU和SLAM 算法實現機器人導航和定位功能。當快遞到達時,可通過機器人對快遞進行分類,將快遞信息上傳至系統,并將快遞送至快遞所屬區域。
物流終端智能分揀機器人系統的設計方案主要分為兩部分。一部分為功能更加統一的智能分揀機器人,另一部分則是控制機器人并顯示機器人狀態的軟件。
2.1智能分揀機器人
2.1.1識別快遞上條形碼。條形碼是由多個寬度不等的黑條和空白遵從特定的規則進行組合,來表示某種信息的符號。在進行條形碼的識別時,快遞標簽處有很多的文字,符號和邊框,這樣大大增大了定位的難度,本文使用了一種較好的解決辦法。可以準確地識別出條形碼,然后與快遞數據庫進行對比,得到快遞的信息。
2.1.2識別快遞體積大小。雖然通過分析快遞條形碼得到快遞信息,但仍不能有效地對快遞進行分類,因此本文需要識別快遞的大小體積。將相機固定到一定的高度,將快遞放在相機下面。對快遞進行測距得到快遞上表面與相機的距離。而相機距快遞下表面的距離是已知的,這樣就可以知道快遞的高。然后再通過相機的識別得到快遞的長和寬,就可以知道快遞大概的體積了。
2.1.3對快遞進行分類。為了減小快遞分類錯誤,本文使用機器學習的方法對快遞進行分類。決策樹是一種十分常用的分類方法。通過該方法,本文使用識別得到的信息數據進行訓練得到一個可以較好分類的決策樹,實現了對快遞的快速分類。
2.1.4基于SLAM 算法的機器人行進路線規劃(包括避障)。首先使用SLAM 算法對工作場景進行建圖,然后在已建地圖中設置快遞分類區,當通過識別快遞得到快遞所屬分類后,機器人會計算到達目的地的最優路線,自動前往該區域,若中途有障礙物阻擋,機器人會自動避開障礙物并繼續前往該分類區。
2.2控制機器人并顯示機器人狀態的軟件。通過此軟件,可以控制機器人的前后左右移動,還可以通過該軟件實現工作場景的建圖已經在已建地圖設置分類區域。當機器人正在工作時,此軟件可以實時顯示機器人工作狀態,大大降低了機器人的使用難度。
3.1定位建圖與路徑規劃。該機器人在ROS基礎上采用了Cartographer算法。Cartographer是一種用于建立地圖和定位機器人的算法系統。我們采用cartographer算法,結合激光雷達和IMU的數據,實現了地圖的建立和機器人的定位。在地圖已知的情況下,我們使用A*算法進行路徑規劃。A*算法在人工智能中是一種典型的啟發式搜索算法。該算法綜合了最佳優先搜索和Dijkstra算法的優點。在進行啟發式搜索提高算法效率的同時,可以保證找到一條基于啟發函數的最優路徑。
3.2快遞分類。快遞分類需要識別快遞的條形碼、體積大小。通過識別得到的快遞信息,使用決策樹對快遞進行分類。本文通過使用OpenCV對快遞標簽進行識別,提取條碼區域。首先讀入圖像,基于邊緣提取初步得到輪廓,通過面積和矩形度進行篩選,然后再通過輪廓長度過濾小噪聲。因為條碼都是直線,可以通過角度相同的直線分割條碼,然后擬合直線即可得到條碼區域,再進行圖形分割得到條碼區域圖片。最后使用Tesseract-OCR識別圖片中的數字,得到條形碼。本文使用深度相機對快遞進行識別得到快遞的體積。最后通過訓練得到的決策樹實現快遞的分類。
3.3開發控制機器人及顯示機器人狀態信息軟件。該軟件基于QT進行開發,可以控制機器人和實時顯示機器人狀態信息。在開發時重點應用了無線通信技術,實現與機器人的通信。
本文提出一種基于ROS的物流終端智能分揀系統,利用激光雷達、IMU和SLAM 算法實現機器人導航和定位功能。當快遞需要分揀時,可以通過相機識別快遞條形碼,與搜索數據庫得到快遞信息,并且通過相機測距識別得到快遞的大小體積。使用決策樹算法對快遞進行快速分類,并自動計算到達指定地點的最優路線,將快遞自動送至快遞所屬分類區。同時本文基于QT設計了一個控制機器人及顯示機器人狀態信息的軟件,該軟件可以簡單地控制機器人建立工作場景的地圖并且設置分類區,還可顯示機器人的實時狀態以及當前位置。如今,快遞件暴增,物流終端工作人員需求增加,該系統大大加快了快遞分揀的速度并且減小了人工成本,發展前景廣闊。C