徐紅舉,魯力群,孫 萌,倪慧亭
(1.山東理工大學 交通與車輛工程學院, 山東 淄博 255000;2.濟南工程職業技術學院 汽車工程學院, 濟南 250200)
自動導引車(automated guided vehicles,AGV)是一種廣泛應用于物流等行業的智能搬運工具之一,通過其自帶的傳感器可以實現對周圍環境的感知,實現裝卸貨物、自主導航、運行、轉彎、緊急避障、自動充電等功能[1]。導引系統是AGV正常運行的關鍵,常見的導引方式有:視覺導引、激光導引、電磁感應導引和慣性導引等。視覺導引定位精度高,成本低,但是在復雜環境下運算負荷較大;激光導引利用三角幾何運算來實現精準定位,靈活多變,但制造成本較高,對使用環境有要求;電磁感應導引方式成本低、抗干擾能力強,但是柔性較差,難以應對路線交叉等復雜情況;慣性導引方式技術先進,定位精確,但成本較高且存在維護保養問題。
開發成本低廉、定位精準且靈活可靠的AGV導引系統是智慧物流正常運行的關鍵。張建鵬[2]利用視覺技術對AGV的定位與導引進行了研究,獲得了良好的定位精度。王錚等[3]在單一相機的基礎上提出了雙目視覺檢測與避障技術,徐慶等[4]提出了基于QR碼的視覺導航的新技術,楊志江[5]進行了激光導引與反光板的匹配研究;此外,還有楊建民[6]對電磁導引的研究和楊玉明[7]對慣性導引的研究等。上述研究在一定程度上提升了導引精度,可以滿足不同場景的使用需求,但對于復雜環境中的應用,單一技術難以覆蓋,目前研究多采用復合導引的方式,如基于慣性和視覺的復合導引[8]、基于MIMU的AGV組合導航系統[9]、基于慣性導航、RFID及圖像識別的AGV融合導航系統[10]等。這些復合導引方式實現了多系統協同導引的效果,控制精度相比單一導引普遍提升30%~50%,更加適合復雜場景的應用。
針對室內AGV自主導引運行的復雜環境,本文給出了一種激光與二維碼技術相融合的技術方案,以提高定位的準確性。該方案通過融合激光傳感器和二維碼傳感器的定位信息,采用蒙特卡羅(MCL)算法[11]進行運算,提高了復雜環境下的定位精度,實現了AGV的自主導引和對路徑的追蹤。
本文技術方案中的AGV主要由小車車體、能源裝置、行走機構、傳感器和控制系統等組成,如圖1所示。車體用來安裝各部件,同時可承載貨物或物品。能源裝置由蓄電池組提供電能。行走機構安裝有2個驅動輪和2個萬向從動輪,驅動輪安裝于車體后部,由左、右獨立控制的驅動電機經減速機直接驅動,通過控制驅動電機的差速實現靈活轉向。傳感器包含激光雷達(傳感器)和二維碼掃描器(傳感器)2個。為了便于發射激光并進行測距,將激光雷達安裝于AGV的上部;二維碼掃描器則置于小車前部突出的位置上,這種結構不僅便于對地面張貼的二維碼進行掃描,同時還可以利用此傳感器掃描貨物的二維碼信息。綜合控制系統以Arduino yun開發板作為AGV的車載控制中心。

圖1 AGV整體結構
該方案采用數據融合的方式對激光雷達與二維碼傳感器采集的定位參數進行融合,圖2所示。激光SLAM(simultaneous localization and mapping)[12]通過激光雷達獲取AGV周圍環境的激光點云數據,以很高的精度測量出車輛周圍物體的角度和距離,從而實現SLAM及避障等功能。在路徑關鍵節點或位置張貼二維碼標簽,由于二維碼可以存儲大量的信息,這些信息不僅包含位置信息,還可以記錄準確的路徑信息。當AGV行駛至二維碼處,由二維碼傳感器對其進行掃描,獲取相應的信息數據,通過融合導引系統,實現路徑的選擇和AGV的自主導引控制。

圖2 激光、二維碼技術融合方案
SLAM即同步定位與地圖構建,這一過程可視為一個數學建模過程[13],本文通過激光傳感器數據來估計(判定)AGV自身狀態,即
xk=f(xk-1)+uk-1
(1)
yk=h(xk)+vk
(2)
式(1)為運動方程,表示在k時刻,AGV的位姿xk由k-1時刻的位姿f(xk-1)決定。由于實際物理環境會有一定的誤差,因此添加一個噪聲量uk-1對狀態變化形成一定的約束。式(2)是觀測方程,表示k時刻的傳感器觀測值yk由當前時刻AGV的位姿h(xk)決定。同理可知,由于不同物理環境的影響,會產生一定量的觀測誤差,即vk。運動方程描述了狀態xk-1是怎樣變化到xk的,觀測方程則是描述了如何從xk得到最后的觀測數據yk。而后根據構建的地圖和激光點云數據,運用最小二乘法擬合對AGV的自主循跡算法進行分析設計,以實現AGV的導引。計算過程如下:
對數據點(xi,yi),1

(3)
由于線性擬合的結果在圖像中是一條直線,因此需要求出斜率a1與截距a0才可以確定該直線的函數。展開對克萊姆法則的求解結果,可得:
(4)
(5)
求出截距和斜率后,即確認了此擬合的直線,得到自主循跡模型,如圖3所示。

圖3 AGV自主循跡模型
因為θ=arctana1,即可求出AGV的轉向角度,a1<0時,小車向左轉,同理,當a1>0時,小車向右轉,因而就可以實現AGV的自動轉向功能。
AGV在移動過程中,通過里程計和激光傳感器共同計算AGV的實際位置,將其與柵格圖進行匹配,并實時獲取AGV的準確位置和姿態[14]。與此同時,根據當前位置姿態,目標位置和周圍環境進行比對完成正確的路徑規劃,當AGV遇到障礙物時及時改變路徑,按照最優路線實現自動避障[15],流程如圖4所示。

圖4 AGV自主循跡算法流程框圖
二維碼分為堆疊二維碼和矩陣二維碼兩種類型[16]。其中,使用最廣泛的是矩陣QR碼(quick response code),其具有讀取速度快、容量大、密度高、支持糾錯等優點,結構與功能如圖5所示。

圖5 QR碼結構
通過對二維碼傳感器進行標定,得出此傳感器的內外參數矩陣A和R,以確定其坐標方位。因為傳感器攝像頭焦距不等于0,所以2個矩陣均可逆,并可以通過下式確定像素點在AGV車體坐標系中的真實坐標點。
(6)
使用二維碼識別庫(如Zxing庫)可以獲取QR碼3個位置探測圖形在圖像當中的坐標點p1(u1,v1)、p2(u2,v2)、p3(u3,v3),計算出二維碼中點在圖中的坐標:
(7)
將此坐標代入即可得到二維碼在AGV車體坐標系中的坐標(Xc,Yc,Zc),從而對AGV的位姿進行確認,如圖6所示,其中α是AGV行駛方向的偏差角。

圖6 QR碼定位姿勢示意圖
AGV運行過程中,在掃描到二維碼定位信息之前,先通過公式進行位姿推測,當獲取到二維碼信息后,再與前面推測的位姿進行比較,若其誤差大于臨界值τ,則利用二維碼坐標絕對值xc代替推測值,并在后續的掃描過程中,使用此xt作為當前的位姿并持續進行采樣,直至掃描到下一個二維碼標簽再重復此操作。

其運動信息ut表示為:
(8)

(9)
(10)
(11)
在AGV運行的過程中可能會出現打滑等現象,在瞬間并不會產生很大的影響,但經過長時間的累計則有可能會造成明顯的誤差,因此將觀測值減掉均值為0、方差為b2的獨立噪聲εb2就可以得到平移、旋轉的正確數值,進而可以建立運動誤差模型。
(12)
(13)

(14)

(15)
假設xt是AGV實際的當前位姿,xt-1即為初始的位姿。上述運動參數的差值如下:

(16)

(17)

(18)
此里程差值即為AGV定位過程中的誤差。

(19)
其中AGV的當前位姿是由xt表示,zt代表了在t時刻的觀測,而地圖則用M來表示,并且假設每個觀測噪聲是相互獨立的。

(20)
似然域可以表示障礙物檢測的似然被描述在全局的坐標系中,并表示為函數。使用似然域計算觀測的概率,得到坐標系中與障礙物最近的距離:
(21)
因為噪聲是相互獨立的,對k個觀測模型的值進行相乘,并通過正態分布和均勻分布的方法得到似然結果。
(22)
其中zhit、zrand、zmax是3個參數,它們的和為1,將它們進行加權平均混合。
粒子濾波采樣對效率有很大的影響,因此需要大量的樣本集合來避免過大的數據發散,采用KLD采樣能夠隨時間自適應進行改變粒子數,從而提高效率和準確度。
首先對每次粒子濾波迭代都以概率為1~δ采樣來確定樣本數量,使最終采樣近似分布結果與真實分布的誤差小于ε,因此可以確定重采樣樣本集合大小[18]。當粒子數m滿足一定數值時,能夠保證概率的真實與估計的差值距離K~L小于閾值ε,那么此刻的m為:

(23)
式中,z1-δ代表的是上分位數1-δ的標準正態分布。


圖7 運算流程框圖
通過Flexsim 2018建立一個倉庫模型,將8個相同的貨架均勻擺放,并設置不同的編號。設置好二維碼標簽張貼的位置(由于軟件中沒有標簽的模塊,所以在AGV的運行過程中體現掃碼過程),左下角為貨物進貨點,17號貨架G點為目標位置,并在17號貨架附近放置一個障礙物(圖8中的紅色標記),并且放置一個AGV。

圖8 倉庫布局
在建立模型后,將AGV作為該流程的主要對象,通過PF流程,進行任務的連接,其任務包括裝載,自動行進到指定位置、延遲、卸載。裝載是指在貨物進貨點進行裝載貨物;行進到指定位置是為了到達已定的二維碼標識點進行掃描;在掃描的過程中用延遲體現掃碼和信息傳遞的過程;到達指定位置后卸載貨物。
建立如圖9所示的PF流程,travel是設置小車到達的坐標位置,即目標張貼的二維碼標簽,delay設置小車讀碼反應可能的延遲時間(初步設定為3 s)。各個點的travel+delay控制小車按指定的路線行走,并自動完成避障功能,最終到達指定的位置。

圖9 PF流程框圖
首先,AGV裝載貨物后行駛至第1個二維碼標簽點,而后繼續根據目標二維碼標簽的路線行駛,如圖10所示。

圖10 二維碼路線的修正
運行至第2個二維碼標簽點后,根據目標再次修正行進路線,當遇到障礙物后自動進行避障,最終到達目的地,進行貨物的卸載,如圖11所示。

圖11 避障后抵達目的地
通過仿真模型的展示,可以驗證激光與二維碼相融合的AGV導引方案的有效性。該方案彌補了復雜環境中單一二維碼導引避障困難的缺陷,還可以在不增加激光導引硬件配置的前提下,提高其定位精度和處理速度,使其定位誤差穩定在10~15 mm,運算速度提升10%左右,且準確率明顯提高,從而提高了在復雜環境下的實用性。
1) 針對AGV在智慧物流及倉儲中的作業特點,研究了激光與二維碼相融合的導引問題,考慮到現代物流與倉儲的復雜程度,給出了激光與二維碼相融合的自主導引技術方案,利用激光傳感器完成環境的感知,工作地圖的構建和障礙物的識別。
2) 通過二維碼傳感器讀取固定位置的二維碼信息,完成了對地圖的修正、路徑的規劃和識別,仿真驗證了該技術的合理性。
3) 通過激光SLAM和自主循跡算法,建立了AGV自主循跡導引控制流程和運動模型,結合二維碼定位坐標提高定位精度,給出了激光和二維碼相融合的算法流程,可隨時間自適應改變粒子數,減小系統誤差,提高效率和準確度。