楊聯(lián)偉 馬馳昊 朱志東 章旭 玄玉波
(吉林大學(xué) 吉林省長春市 130012)
物流業(yè)快遞分揀和運輸一直是項生產(chǎn)效率低的工作,分揀員需走遍所有貨架,分揀出所配送地區(qū)的快遞。而快遞數(shù)量眾多,大小質(zhì)量不一,單獨依靠分揀員則需多次搬運才可完成工作。故設(shè)計出可識別跟蹤快遞分揀員的機(jī)器人運輸系統(tǒng)對提高生產(chǎn)力意義重大。
本系統(tǒng)的研究內(nèi)容有以下幾方面:
(1)掃描建圖,借助雷達(dá)掃描倉庫,生成柵格地圖并加載,是后續(xù)功能實現(xiàn)的基礎(chǔ)。
(2)導(dǎo)航定位,通過讀取傳感器信息并進(jìn)行算法處理,得到機(jī)器人坐標(biāo)系到地圖坐標(biāo)系的變換關(guān)系。
(3)路徑規(guī)劃,在確定目標(biāo)位置和自身定位后,規(guī)劃到達(dá)目標(biāo)點的最優(yōu)路徑。
(4)人臉識別,基于人臉的特征和生成的分類器,對人臉進(jìn)行檢測識別。
(5)目標(biāo)跟蹤,對識別到的人臉進(jìn)行追蹤,并將相關(guān)位置信息傳遞給路徑規(guī)劃。
(6)快遞運輸,機(jī)器人的硬件結(jié)構(gòu)上有存放快遞的空間用于快遞運輸。
硬件平臺由電機(jī)驅(qū)動模塊(電機(jī),電調(diào),電調(diào)中心板,A型開發(fā)板等),電源電路模塊,工業(yè)相機(jī)、激光雷達(dá)等傳感器,以及MiniPC機(jī)組成。軟件平臺在MiniPC機(jī)中安裝Ubuntu16.04系統(tǒng),安裝OpenCV視覺庫、ROS機(jī)器人操作系統(tǒng),采用C++編程實現(xiàn)功能。系統(tǒng)包括識別recognition,跟蹤tracking,定位localization,建圖mapping,路徑規(guī)劃planning等模塊,配合硬件,完成機(jī)器人上述功能。
整個軟件系統(tǒng)架構(gòu)如圖1所示。
目前定位建圖算法中的室內(nèi)UWB(Ultra Wideband)、二維碼引導(dǎo)等,多需要在環(huán)境中配置輔助設(shè)備或標(biāo)簽,且運動路徑常為提前規(guī)劃,不具有靈活性。而激光SLAM[4](Simultaneous Localization and Mapping 同步定位與建圖)具有穩(wěn)定可靠靈活的特點。考慮到應(yīng)用在倉庫,采用SLAM算法Gmapping進(jìn)行柵格地圖的構(gòu)建效果最佳。
圖1:軟件系統(tǒng)架構(gòu)
圖2:Gmapping生成的柵格地圖
Gmapping依靠傳感器對環(huán)境進(jìn)行感知,根據(jù)收集的信息建立柵格地圖。Gmapping需要訂閱的話題topic有/tf(坐標(biāo)轉(zhuǎn)換)和/scan(激光雷達(dá)掃描提供的數(shù)據(jù)),其中必需的tf轉(zhuǎn)換有激光雷達(dá)坐標(biāo)系和基坐標(biāo)系的轉(zhuǎn)換,以及基坐標(biāo)系和里程計坐標(biāo)系的轉(zhuǎn)換。
配置好Gmapping參數(shù)文件后,運行Gmapping軟件包,引導(dǎo)機(jī)器人繞場地一周,用激光雷達(dá)RPLIDAR-A2掃描場地深度信息。當(dāng)激光雷達(dá)對于場地信息點采集完全,就能夠得到柵格地圖,如圖2所示。得到柵格地圖后,通過ROS中map_server節(jié)點發(fā)布類型為/static_map的topic給定位模塊,使定位模塊正常工作。
定位模塊主要通過讀取傳感器信息,經(jīng)過算法處理,得到機(jī)器人坐標(biāo)系到地圖坐標(biāo)系的變換關(guān)系,即機(jī)器人在地圖中的位姿。定位采用ROS中的AMCL(Adaptive Monte Carlo Localization自適應(yīng)蒙特卡洛定位)包,在生成的地圖中使用粒子濾波方法得到位姿。通過更新得到的粒子與柵格地圖形成對比, 具有不同概率的粒子均可以生成新粒子, 生成可能性與概率成正相關(guān), 通過粒子的再生推算機(jī)器人的位置。
機(jī)器人啟動時,初始化位置不一定為柵格地圖坐標(biāo)原點。需要手動調(diào)整機(jī)器人初始位置,確保柵格地圖與現(xiàn)實場景重合。AMCL需訂閱scan雷達(dá)數(shù)據(jù),map地圖數(shù)據(jù),tf坐標(biāo)轉(zhuǎn)換,輸出機(jī)器人的位姿信息。將amcl.launch配置好后實現(xiàn)實時定位,發(fā)布位姿。
考慮到效果和倉庫場景,選用高效的A*(A-Star)算法進(jìn)行全局路徑規(guī)劃。當(dāng)傳感器識別到目標(biāo)位置后,在costmap代價地圖中,以實際代價和估計代價為衡量指標(biāo),進(jìn)行搜索得到一條由離散坐標(biāo)點構(gòu)成的最優(yōu)路徑,其作為輸入傳遞給局部路徑規(guī)劃控制機(jī)器人的具體運動。
局部路徑規(guī)劃采用TEB(Timed Elastic Band)算法。根據(jù)雷達(dá)的掃描信息,結(jié)合給出的全局規(guī)劃路徑,在滿足動力學(xué)特性和規(guī)避碰撞的前提下,優(yōu)化運動軌跡,計算出機(jī)器人局部運動的最優(yōu)速度。同時,MiniPC機(jī)將把相關(guān)信息傳給下位機(jī)來控制電調(diào)電機(jī)驅(qū)動,進(jìn)而控制機(jī)器人的運行方向和速度。
Haar特征是反映圖像灰度變化的矩形特征。常規(guī)Adaboost算法對復(fù)雜環(huán)境識別率低,速度慢,用Haar特征對人臉部特征進(jìn)行描述,漏檢率低,識別率高,具有很好的時效性。
結(jié)合Haar特征和SVM[4](Support Vector Machine支持向量機(jī))進(jìn)行訓(xùn)練,訓(xùn)練好的分類器會生成.xml文件,在recognition中加載訓(xùn)練好的.xml文件。鑒于OpenCV提供已經(jīng)訓(xùn)練好的人臉的特征分類器haarcascade_frontalface_default.xml,經(jīng)驗證識別效果良好,故使用其進(jìn)行人臉識別。當(dāng)人臉出現(xiàn)在相機(jī)畫面中,相機(jī)會自動捕捉人臉,在RGB Image Window窗口界面中將人臉用綠色矩形框選出來,并獲取矩形ROI(Region Of Interest感興趣區(qū)域)的頂點坐標(biāo)。借助單目相機(jī)測距原理,建立人臉二維坐標(biāo)與人在三維空間坐標(biāo)之間的關(guān)系,給出轉(zhuǎn)換后的三維坐標(biāo)系下人的三維信息:偏航角yaw,距離distance和高度height,唯一確定人臉的位置。
使用KCF(Kernel Correlation Filter核相關(guān)濾波)算法進(jìn)行分揀員的跟蹤。當(dāng)recognition識別到分揀員的臉部特征后,會將目標(biāo)人臉的三維信息傳給tracking。KCF算法會訓(xùn)練檢測器,用于檢測下一幀的預(yù)測位置是否是分揀員的臉部,使用新的分揀員臉部檢測結(jié)果更新訓(xùn)練集,進(jìn)而更新目標(biāo)檢測器。
對系統(tǒng)分別在仿真Rviz和實際場景下進(jìn)行功能測試。將路徑規(guī)劃在Rviz中進(jìn)行測試,在給出目標(biāo)點時,從起始點規(guī)劃能得到一條無碰撞最優(yōu)路徑。在仿照快遞存儲倉庫搭建的場地內(nèi),測試人員繞“U”字型貨架走一圈,在路程中會在幾處停留視為挑揀放置快遞,發(fā)現(xiàn)機(jī)器人能夠?qū)τ谌四樳M(jìn)行識別和追蹤。當(dāng)停留放置快遞時,機(jī)器人也會停住,一旦目標(biāo)再次被框選,機(jī)器人恢復(fù)目標(biāo)跟蹤和快遞運輸。通過多次實驗求取均值,得到識別正確率為84.8%,跟蹤正確率為82.5%,由此可見,系統(tǒng)相對可靠穩(wěn)定。
隨著快遞業(yè)的快速發(fā)展,快遞分揀運輸?shù)男实统蔀殡y題。本文研究可識別跟蹤快遞分揀員的機(jī)器人運輸系統(tǒng)。經(jīng)實驗證明,該機(jī)器人系統(tǒng)在環(huán)境條件較為理想時,能夠?qū)崿F(xiàn)掃描建圖,導(dǎo)航定位,路徑規(guī)劃,人臉識別和目標(biāo)跟蹤的功能。綜合看,可以達(dá)到跟隨分揀員運輸快遞,提高生產(chǎn)力的效果。系統(tǒng)操作簡易,功能穩(wěn)定,具有廣闊前景。