徐紅舉,魯力群,孫 萌,倪慧亭
(1.山東理工大學(xué) 交通與車輛工程學(xué)院, 山東 淄博 255000;2.濟(jì)南工程職業(yè)技術(shù)學(xué)院 汽車工程學(xué)院, 濟(jì)南 250200)
自動(dòng)導(dǎo)引車(automated guided vehicles,AGV)是一種廣泛應(yīng)用于物流等行業(yè)的智能搬運(yùn)工具之一,通過(guò)其自帶的傳感器可以實(shí)現(xiàn)對(duì)周圍環(huán)境的感知,實(shí)現(xiàn)裝卸貨物、自主導(dǎo)航、運(yùn)行、轉(zhuǎn)彎、緊急避障、自動(dòng)充電等功能[1]。導(dǎo)引系統(tǒng)是AGV正常運(yùn)行的關(guān)鍵,常見(jiàn)的導(dǎo)引方式有:視覺(jué)導(dǎo)引、激光導(dǎo)引、電磁感應(yīng)導(dǎo)引和慣性導(dǎo)引等。視覺(jué)導(dǎo)引定位精度高,成本低,但是在復(fù)雜環(huán)境下運(yùn)算負(fù)荷較大;激光導(dǎo)引利用三角幾何運(yùn)算來(lái)實(shí)現(xiàn)精準(zhǔn)定位,靈活多變,但制造成本較高,對(duì)使用環(huán)境有要求;電磁感應(yīng)導(dǎo)引方式成本低、抗干擾能力強(qiáng),但是柔性較差,難以應(yīng)對(duì)路線交叉等復(fù)雜情況;慣性導(dǎo)引方式技術(shù)先進(jìn),定位精確,但成本較高且存在維護(hù)保養(yǎng)問(wèn)題。
開(kāi)發(fā)成本低廉、定位精準(zhǔn)且靈活可靠的AGV導(dǎo)引系統(tǒng)是智慧物流正常運(yùn)行的關(guān)鍵。張建鵬[2]利用視覺(jué)技術(shù)對(duì)AGV的定位與導(dǎo)引進(jìn)行了研究,獲得了良好的定位精度。王錚等[3]在單一相機(jī)的基礎(chǔ)上提出了雙目視覺(jué)檢測(cè)與避障技術(shù),徐慶等[4]提出了基于QR碼的視覺(jué)導(dǎo)航的新技術(shù),楊志江[5]進(jìn)行了激光導(dǎo)引與反光板的匹配研究;此外,還有楊建民[6]對(duì)電磁導(dǎo)引的研究和楊玉明[7]對(duì)慣性導(dǎo)引的研究等。上述研究在一定程度上提升了導(dǎo)引精度,可以滿足不同場(chǎng)景的使用需求,但對(duì)于復(fù)雜環(huán)境中的應(yīng)用,單一技術(shù)難以覆蓋,目前研究多采用復(fù)合導(dǎo)引的方式,如基于慣性和視覺(jué)的復(fù)合導(dǎo)引[8]、基于MIMU的AGV組合導(dǎo)航系統(tǒng)[9]、基于慣性導(dǎo)航、RFID及圖像識(shí)別的AGV融合導(dǎo)航系統(tǒng)[10]等。這些復(fù)合導(dǎo)引方式實(shí)現(xiàn)了多系統(tǒng)協(xié)同導(dǎo)引的效果,控制精度相比單一導(dǎo)引普遍提升30%~50%,更加適合復(fù)雜場(chǎng)景的應(yīng)用。
針對(duì)室內(nèi)AGV自主導(dǎo)引運(yùn)行的復(fù)雜環(huán)境,本文給出了一種激光與二維碼技術(shù)相融合的技術(shù)方案,以提高定位的準(zhǔn)確性。該方案通過(guò)融合激光傳感器和二維碼傳感器的定位信息,采用蒙特卡羅(MCL)算法[11]進(jìn)行運(yùn)算,提高了復(fù)雜環(huán)境下的定位精度,實(shí)現(xiàn)了AGV的自主導(dǎo)引和對(duì)路徑的追蹤。
本文技術(shù)方案中的AGV主要由小車車體、能源裝置、行走機(jī)構(gòu)、傳感器和控制系統(tǒng)等組成,如圖1所示。車體用來(lái)安裝各部件,同時(shí)可承載貨物或物品。能源裝置由蓄電池組提供電能。行走機(jī)構(gòu)安裝有2個(gè)驅(qū)動(dòng)輪和2個(gè)萬(wàn)向從動(dòng)輪,驅(qū)動(dòng)輪安裝于車體后部,由左、右獨(dú)立控制的驅(qū)動(dòng)電機(jī)經(jīng)減速機(jī)直接驅(qū)動(dòng),通過(guò)控制驅(qū)動(dòng)電機(jī)的差速實(shí)現(xiàn)靈活轉(zhuǎn)向。傳感器包含激光雷達(dá)(傳感器)和二維碼掃描器(傳感器)2個(gè)。為了便于發(fā)射激光并進(jìn)行測(cè)距,將激光雷達(dá)安裝于AGV的上部;二維碼掃描器則置于小車前部突出的位置上,這種結(jié)構(gòu)不僅便于對(duì)地面張貼的二維碼進(jìn)行掃描,同時(shí)還可以利用此傳感器掃描貨物的二維碼信息。綜合控制系統(tǒng)以Arduino yun開(kāi)發(fā)板作為AGV的車載控制中心。
圖1 AGV整體結(jié)構(gòu)
該方案采用數(shù)據(jù)融合的方式對(duì)激光雷達(dá)與二維碼傳感器采集的定位參數(shù)進(jìn)行融合,圖2所示。激光SLAM(simultaneous localization and mapping)[12]通過(guò)激光雷達(dá)獲取AGV周圍環(huán)境的激光點(diǎn)云數(shù)據(jù),以很高的精度測(cè)量出車輛周圍物體的角度和距離,從而實(shí)現(xiàn)SLAM及避障等功能。在路徑關(guān)鍵節(jié)點(diǎn)或位置張貼二維碼標(biāo)簽,由于二維碼可以存儲(chǔ)大量的信息,這些信息不僅包含位置信息,還可以記錄準(zhǔn)確的路徑信息。當(dāng)AGV行駛至二維碼處,由二維碼傳感器對(duì)其進(jìn)行掃描,獲取相應(yīng)的信息數(shù)據(jù),通過(guò)融合導(dǎo)引系統(tǒng),實(shí)現(xiàn)路徑的選擇和AGV的自主導(dǎo)引控制。
圖2 激光、二維碼技術(shù)融合方案
SLAM即同步定位與地圖構(gòu)建,這一過(guò)程可視為一個(gè)數(shù)學(xué)建模過(guò)程[13],本文通過(guò)激光傳感器數(shù)據(jù)來(lái)估計(jì)(判定)AGV自身狀態(tài),即
xk=f(xk-1)+uk-1
(1)
yk=h(xk)+vk
(2)
式(1)為運(yùn)動(dòng)方程,表示在k時(shí)刻,AGV的位姿xk由k-1時(shí)刻的位姿f(xk-1)決定。由于實(shí)際物理環(huán)境會(huì)有一定的誤差,因此添加一個(gè)噪聲量uk-1對(duì)狀態(tài)變化形成一定的約束。式(2)是觀測(cè)方程,表示k時(shí)刻的傳感器觀測(cè)值yk由當(dāng)前時(shí)刻AGV的位姿h(xk)決定。同理可知,由于不同物理環(huán)境的影響,會(huì)產(chǎn)生一定量的觀測(cè)誤差,即vk。運(yùn)動(dòng)方程描述了狀態(tài)xk-1是怎樣變化到xk的,觀測(cè)方程則是描述了如何從xk得到最后的觀測(cè)數(shù)據(jù)yk。而后根據(jù)構(gòu)建的地圖和激光點(diǎn)云數(shù)據(jù),運(yùn)用最小二乘法擬合對(duì)AGV的自主循跡算法進(jìn)行分析設(shè)計(jì),以實(shí)現(xiàn)AGV的導(dǎo)引。計(jì)算過(guò)程如下:
對(duì)數(shù)據(jù)點(diǎn)(xi,yi),1
(3)
由于線性擬合的結(jié)果在圖像中是一條直線,因此需要求出斜率a1與截距a0才可以確定該直線的函數(shù)。展開(kāi)對(duì)克萊姆法則的求解結(jié)果,可得:
(4)
(5)
求出截距和斜率后,即確認(rèn)了此擬合的直線,得到自主循跡模型,如圖3所示。
圖3 AGV自主循跡模型
因?yàn)棣?arctana1,即可求出AGV的轉(zhuǎn)向角度,a1<0時(shí),小車向左轉(zhuǎn),同理,當(dāng)a1>0時(shí),小車向右轉(zhuǎn),因而就可以實(shí)現(xiàn)AGV的自動(dòng)轉(zhuǎn)向功能。
AGV在移動(dòng)過(guò)程中,通過(guò)里程計(jì)和激光傳感器共同計(jì)算AGV的實(shí)際位置,將其與柵格圖進(jìn)行匹配,并實(shí)時(shí)獲取AGV的準(zhǔn)確位置和姿態(tài)[14]。與此同時(shí),根據(jù)當(dāng)前位置姿態(tài),目標(biāo)位置和周圍環(huán)境進(jìn)行比對(duì)完成正確的路徑規(guī)劃,當(dāng)AGV遇到障礙物時(shí)及時(shí)改變路徑,按照最優(yōu)路線實(shí)現(xiàn)自動(dòng)避障[15],流程如圖4所示。
圖4 AGV自主循跡算法流程框圖
二維碼分為堆疊二維碼和矩陣二維碼兩種類型[16]。其中,使用最廣泛的是矩陣QR碼(quick response code),其具有讀取速度快、容量大、密度高、支持糾錯(cuò)等優(yōu)點(diǎn),結(jié)構(gòu)與功能如圖5所示。
圖5 QR碼結(jié)構(gòu)
通過(guò)對(duì)二維碼傳感器進(jìn)行標(biāo)定,得出此傳感器的內(nèi)外參數(shù)矩陣A和R,以確定其坐標(biāo)方位。因?yàn)閭鞲衅鲾z像頭焦距不等于0,所以2個(gè)矩陣均可逆,并可以通過(guò)下式確定像素點(diǎn)在AGV車體坐標(biāo)系中的真實(shí)坐標(biāo)點(diǎn)。
(6)
使用二維碼識(shí)別庫(kù)(如Zxing庫(kù))可以獲取QR碼3個(gè)位置探測(cè)圖形在圖像當(dāng)中的坐標(biāo)點(diǎn)p1(u1,v1)、p2(u2,v2)、p3(u3,v3),計(jì)算出二維碼中點(diǎn)在圖中的坐標(biāo):
(7)
將此坐標(biāo)代入即可得到二維碼在AGV車體坐標(biāo)系中的坐標(biāo)(Xc,Yc,Zc),從而對(duì)AGV的位姿進(jìn)行確認(rèn),如圖6所示,其中α是AGV行駛方向的偏差角。
圖6 QR碼定位姿勢(shì)示意圖
AGV運(yùn)行過(guò)程中,在掃描到二維碼定位信息之前,先通過(guò)公式進(jìn)行位姿推測(cè),當(dāng)獲取到二維碼信息后,再與前面推測(cè)的位姿進(jìn)行比較,若其誤差大于臨界值τ,則利用二維碼坐標(biāo)絕對(duì)值xc代替推測(cè)值,并在后續(xù)的掃描過(guò)程中,使用此xt作為當(dāng)前的位姿并持續(xù)進(jìn)行采樣,直至掃描到下一個(gè)二維碼標(biāo)簽再重復(fù)此操作。
其運(yùn)動(dòng)信息ut表示為:
(8)
(9)
(10)
(11)
在AGV運(yùn)行的過(guò)程中可能會(huì)出現(xiàn)打滑等現(xiàn)象,在瞬間并不會(huì)產(chǎn)生很大的影響,但經(jīng)過(guò)長(zhǎng)時(shí)間的累計(jì)則有可能會(huì)造成明顯的誤差,因此將觀測(cè)值減掉均值為0、方差為b2的獨(dú)立噪聲εb2就可以得到平移、旋轉(zhuǎn)的正確數(shù)值,進(jìn)而可以建立運(yùn)動(dòng)誤差模型。
(12)
(13)
(14)
(15)
假設(shè)xt是AGV實(shí)際的當(dāng)前位姿,xt-1即為初始的位姿。上述運(yùn)動(dòng)參數(shù)的差值如下:
(16)
(17)
(18)
此里程差值即為AGV定位過(guò)程中的誤差。
(19)
其中AGV的當(dāng)前位姿是由xt表示,zt代表了在t時(shí)刻的觀測(cè),而地圖則用M來(lái)表示,并且假設(shè)每個(gè)觀測(cè)噪聲是相互獨(dú)立的。
(20)
似然域可以表示障礙物檢測(cè)的似然被描述在全局的坐標(biāo)系中,并表示為函數(shù)。使用似然域計(jì)算觀測(cè)的概率,得到坐標(biāo)系中與障礙物最近的距離:
(21)
因?yàn)樵肼暿窍嗷オ?dú)立的,對(duì)k個(gè)觀測(cè)模型的值進(jìn)行相乘,并通過(guò)正態(tài)分布和均勻分布的方法得到似然結(jié)果。
(22)
其中zhit、zrand、zmax是3個(gè)參數(shù),它們的和為1,將它們進(jìn)行加權(quán)平均混合。
粒子濾波采樣對(duì)效率有很大的影響,因此需要大量的樣本集合來(lái)避免過(guò)大的數(shù)據(jù)發(fā)散,采用KLD采樣能夠隨時(shí)間自適應(yīng)進(jìn)行改變粒子數(shù),從而提高效率和準(zhǔn)確度。
首先對(duì)每次粒子濾波迭代都以概率為1~δ采樣來(lái)確定樣本數(shù)量,使最終采樣近似分布結(jié)果與真實(shí)分布的誤差小于ε,因此可以確定重采樣樣本集合大小[18]。當(dāng)粒子數(shù)m滿足一定數(shù)值時(shí),能夠保證概率的真實(shí)與估計(jì)的差值距離K~L小于閾值ε,那么此刻的m為:
(23)
式中,z1-δ代表的是上分位數(shù)1-δ的標(biāo)準(zhǔn)正態(tài)分布。
圖7 運(yùn)算流程框圖
通過(guò)Flexsim 2018建立一個(gè)倉(cāng)庫(kù)模型,將8個(gè)相同的貨架均勻擺放,并設(shè)置不同的編號(hào)。設(shè)置好二維碼標(biāo)簽張貼的位置(由于軟件中沒(méi)有標(biāo)簽的模塊,所以在AGV的運(yùn)行過(guò)程中體現(xiàn)掃碼過(guò)程),左下角為貨物進(jìn)貨點(diǎn),17號(hào)貨架G點(diǎn)為目標(biāo)位置,并在17號(hào)貨架附近放置一個(gè)障礙物(圖8中的紅色標(biāo)記),并且放置一個(gè)AGV。
圖8 倉(cāng)庫(kù)布局
在建立模型后,將AGV作為該流程的主要對(duì)象,通過(guò)PF流程,進(jìn)行任務(wù)的連接,其任務(wù)包括裝載,自動(dòng)行進(jìn)到指定位置、延遲、卸載。裝載是指在貨物進(jìn)貨點(diǎn)進(jìn)行裝載貨物;行進(jìn)到指定位置是為了到達(dá)已定的二維碼標(biāo)識(shí)點(diǎn)進(jìn)行掃描;在掃描的過(guò)程中用延遲體現(xiàn)掃碼和信息傳遞的過(guò)程;到達(dá)指定位置后卸載貨物。
建立如圖9所示的PF流程,travel是設(shè)置小車到達(dá)的坐標(biāo)位置,即目標(biāo)張貼的二維碼標(biāo)簽,delay設(shè)置小車讀碼反應(yīng)可能的延遲時(shí)間(初步設(shè)定為3 s)。各個(gè)點(diǎn)的travel+delay控制小車按指定的路線行走,并自動(dòng)完成避障功能,最終到達(dá)指定的位置。
圖9 PF流程框圖
首先,AGV裝載貨物后行駛至第1個(gè)二維碼標(biāo)簽點(diǎn),而后繼續(xù)根據(jù)目標(biāo)二維碼標(biāo)簽的路線行駛,如圖10所示。
圖10 二維碼路線的修正
運(yùn)行至第2個(gè)二維碼標(biāo)簽點(diǎn)后,根據(jù)目標(biāo)再次修正行進(jìn)路線,當(dāng)遇到障礙物后自動(dòng)進(jìn)行避障,最終到達(dá)目的地,進(jìn)行貨物的卸載,如圖11所示。
圖11 避障后抵達(dá)目的地
通過(guò)仿真模型的展示,可以驗(yàn)證激光與二維碼相融合的AGV導(dǎo)引方案的有效性。該方案彌補(bǔ)了復(fù)雜環(huán)境中單一二維碼導(dǎo)引避障困難的缺陷,還可以在不增加激光導(dǎo)引硬件配置的前提下,提高其定位精度和處理速度,使其定位誤差穩(wěn)定在10~15 mm,運(yùn)算速度提升10%左右,且準(zhǔn)確率明顯提高,從而提高了在復(fù)雜環(huán)境下的實(shí)用性。
1) 針對(duì)AGV在智慧物流及倉(cāng)儲(chǔ)中的作業(yè)特點(diǎn),研究了激光與二維碼相融合的導(dǎo)引問(wèn)題,考慮到現(xiàn)代物流與倉(cāng)儲(chǔ)的復(fù)雜程度,給出了激光與二維碼相融合的自主導(dǎo)引技術(shù)方案,利用激光傳感器完成環(huán)境的感知,工作地圖的構(gòu)建和障礙物的識(shí)別。
2) 通過(guò)二維碼傳感器讀取固定位置的二維碼信息,完成了對(duì)地圖的修正、路徑的規(guī)劃和識(shí)別,仿真驗(yàn)證了該技術(shù)的合理性。
3) 通過(guò)激光SLAM和自主循跡算法,建立了AGV自主循跡導(dǎo)引控制流程和運(yùn)動(dòng)模型,結(jié)合二維碼定位坐標(biāo)提高定位精度,給出了激光和二維碼相融合的算法流程,可隨時(shí)間自適應(yīng)改變粒子數(shù),減小系統(tǒng)誤差,提高效率和準(zhǔn)確度。