楊聯偉 馬馳昊 朱志東 章旭 玄玉波
(吉林大學 吉林省長春市 130012)
物流業快遞分揀和運輸一直是項生產效率低的工作,分揀員需走遍所有貨架,分揀出所配送地區的快遞。而快遞數量眾多,大小質量不一,單獨依靠分揀員則需多次搬運才可完成工作。故設計出可識別跟蹤快遞分揀員的機器人運輸系統對提高生產力意義重大。
本系統的研究內容有以下幾方面:
(1)掃描建圖,借助雷達掃描倉庫,生成柵格地圖并加載,是后續功能實現的基礎。
(2)導航定位,通過讀取傳感器信息并進行算法處理,得到機器人坐標系到地圖坐標系的變換關系。
(3)路徑規劃,在確定目標位置和自身定位后,規劃到達目標點的最優路徑。
(4)人臉識別,基于人臉的特征和生成的分類器,對人臉進行檢測識別。
(5)目標跟蹤,對識別到的人臉進行追蹤,并將相關位置信息傳遞給路徑規劃。
(6)快遞運輸,機器人的硬件結構上有存放快遞的空間用于快遞運輸。
硬件平臺由電機驅動模塊(電機,電調,電調中心板,A型開發板等),電源電路模塊,工業相機、激光雷達等傳感器,以及MiniPC機組成。軟件平臺在MiniPC機中安裝Ubuntu16.04系統,安裝OpenCV視覺庫、ROS機器人操作系統,采用C++編程實現功能。系統包括識別recognition,跟蹤tracking,定位localization,建圖mapping,路徑規劃planning等模塊,配合硬件,完成機器人上述功能。
整個軟件系統架構如圖1所示。
目前定位建圖算法中的室內UWB(Ultra Wideband)、二維碼引導等,多需要在環境中配置輔助設備或標簽,且運動路徑常為提前規劃,不具有靈活性。而激光SLAM[4](Simultaneous Localization and Mapping 同步定位與建圖)具有穩定可靠靈活的特點。考慮到應用在倉庫,采用SLAM算法Gmapping進行柵格地圖的構建效果最佳。

圖1:軟件系統架構

圖2:Gmapping生成的柵格地圖
Gmapping依靠傳感器對環境進行感知,根據收集的信息建立柵格地圖。Gmapping需要訂閱的話題topic有/tf(坐標轉換)和/scan(激光雷達掃描提供的數據),其中必需的tf轉換有激光雷達坐標系和基坐標系的轉換,以及基坐標系和里程計坐標系的轉換。
配置好Gmapping參數文件后,運行Gmapping軟件包,引導機器人繞場地一周,用激光雷達RPLIDAR-A2掃描場地深度信息。當激光雷達對于場地信息點采集完全,就能夠得到柵格地圖,如圖2所示。得到柵格地圖后,通過ROS中map_server節點發布類型為/static_map的topic給定位模塊,使定位模塊正常工作。
定位模塊主要通過讀取傳感器信息,經過算法處理,得到機器人坐標系到地圖坐標系的變換關系,即機器人在地圖中的位姿。定位采用ROS中的AMCL(Adaptive Monte Carlo Localization自適應蒙特卡洛定位)包,在生成的地圖中使用粒子濾波方法得到位姿。通過更新得到的粒子與柵格地圖形成對比, 具有不同概率的粒子均可以生成新粒子, 生成可能性與概率成正相關, 通過粒子的再生推算機器人的位置。
機器人啟動時,初始化位置不一定為柵格地圖坐標原點。需要手動調整機器人初始位置,確保柵格地圖與現實場景重合。AMCL需訂閱scan雷達數據,map地圖數據,tf坐標轉換,輸出機器人的位姿信息。將amcl.launch配置好后實現實時定位,發布位姿。
考慮到效果和倉庫場景,選用高效的A*(A-Star)算法進行全局路徑規劃。當傳感器識別到目標位置后,在costmap代價地圖中,以實際代價和估計代價為衡量指標,進行搜索得到一條由離散坐標點構成的最優路徑,其作為輸入傳遞給局部路徑規劃控制機器人的具體運動。
局部路徑規劃采用TEB(Timed Elastic Band)算法。根據雷達的掃描信息,結合給出的全局規劃路徑,在滿足動力學特性和規避碰撞的前提下,優化運動軌跡,計算出機器人局部運動的最優速度。同時,MiniPC機將把相關信息傳給下位機來控制電調電機驅動,進而控制機器人的運行方向和速度。
Haar特征是反映圖像灰度變化的矩形特征。常規Adaboost算法對復雜環境識別率低,速度慢,用Haar特征對人臉部特征進行描述,漏檢率低,識別率高,具有很好的時效性。
結合Haar特征和SVM[4](Support Vector Machine支持向量機)進行訓練,訓練好的分類器會生成.xml文件,在recognition中加載訓練好的.xml文件。鑒于OpenCV提供已經訓練好的人臉的特征分類器haarcascade_frontalface_default.xml,經驗證識別效果良好,故使用其進行人臉識別。當人臉出現在相機畫面中,相機會自動捕捉人臉,在RGB Image Window窗口界面中將人臉用綠色矩形框選出來,并獲取矩形ROI(Region Of Interest感興趣區域)的頂點坐標。借助單目相機測距原理,建立人臉二維坐標與人在三維空間坐標之間的關系,給出轉換后的三維坐標系下人的三維信息:偏航角yaw,距離distance和高度height,唯一確定人臉的位置。
使用KCF(Kernel Correlation Filter核相關濾波)算法進行分揀員的跟蹤。當recognition識別到分揀員的臉部特征后,會將目標人臉的三維信息傳給tracking。KCF算法會訓練檢測器,用于檢測下一幀的預測位置是否是分揀員的臉部,使用新的分揀員臉部檢測結果更新訓練集,進而更新目標檢測器。
對系統分別在仿真Rviz和實際場景下進行功能測試。將路徑規劃在Rviz中進行測試,在給出目標點時,從起始點規劃能得到一條無碰撞最優路徑。在仿照快遞存儲倉庫搭建的場地內,測試人員繞“U”字型貨架走一圈,在路程中會在幾處停留視為挑揀放置快遞,發現機器人能夠對于人臉進行識別和追蹤。當停留放置快遞時,機器人也會停住,一旦目標再次被框選,機器人恢復目標跟蹤和快遞運輸。通過多次實驗求取均值,得到識別正確率為84.8%,跟蹤正確率為82.5%,由此可見,系統相對可靠穩定。
隨著快遞業的快速發展,快遞分揀運輸的效率低成為難題。本文研究可識別跟蹤快遞分揀員的機器人運輸系統。經實驗證明,該機器人系統在環境條件較為理想時,能夠實現掃描建圖,導航定位,路徑規劃,人臉識別和目標跟蹤的功能。綜合看,可以達到跟隨分揀員運輸快遞,提高生產力的效果。系統操作簡易,功能穩定,具有廣闊前景。