無人車綜合了人工智能、計(jì)算機(jī)視覺和自動(dòng)化等技術(shù)的一種新型智能汽車[1]。通過利用傳感器等對四周的環(huán)境和自身的各項(xiàng)指標(biāo)進(jìn)行監(jiān)測,從而實(shí)現(xiàn)在各類道路和環(huán)境下的自主控制運(yùn)動(dòng)。障礙物聚類分析法通過聚類分析的方法將點(diǎn)云信息的內(nèi)在屬性進(jìn)行分析并分類,根據(jù)同類別中點(diǎn)信息的近似屬性或特征確定障礙物的位置信息,從而實(shí)現(xiàn)避障[2]。該方法具有障礙物探測準(zhǔn)確、分析速度快和探測范圍廣的優(yōu)點(diǎn),尤其適用于對復(fù)雜環(huán)境障礙物的檢測,可以將其應(yīng)用于物流無人車。因此將基于障礙物聚類分析對物流無人車的環(huán)境感知進(jìn)行研究。
智能物流無人車根據(jù)功能需求,將其劃分為通信層、人機(jī)交互層、控制層、執(zhí)行層和數(shù)據(jù)庫共五層。
通信層用于為物流無人車提供數(shù)據(jù)的傳遞功能,該層主要包括Wifi無線網(wǎng)和服務(wù)器,根據(jù)TCP/IP的協(xié)議設(shè)定進(jìn)行數(shù)據(jù)的傳輸。通信層與數(shù)據(jù)庫和人機(jī)交互層連接,一方面將物流無人車作業(yè)所需要的信息如傳遞至數(shù)據(jù)庫存儲(chǔ),同時(shí)將已送達(dá)商品的開柜碼等信息及時(shí)的發(fā)送給發(fā)件人;一方面將收件人相關(guān)地址信息傳遞至控制層,自動(dòng)規(guī)劃行駛路線,實(shí)現(xiàn)自動(dòng)導(dǎo)航和配送。
人機(jī)交互層用于實(shí)現(xiàn)用戶和物流無人車之間的互動(dòng),對無人車進(jìn)行控制和操作。該層主要包括PC端和移動(dòng)端,用戶可根據(jù)需要進(jìn)行注冊和登錄,采用如圖1所示的ROS機(jī)器人系統(tǒng)進(jìn)行控制。
控制層是物流無人車的核心控制層,用于對無人車整體的控制,實(shí)現(xiàn)道路信息的采集、路徑規(guī)劃、避障和商品的投遞等功能。該層包括各類傳感器[3],一般包括UWB定位套件、攝像頭、激光雷達(dá)、速度傳感器、姿態(tài)傳感器和角位移傳感器等。UWB定位套件采用3個(gè)基站方式進(jìn)行監(jiān)測,用于對物流無人車進(jìn)行定位,可以實(shí)現(xiàn)距離和坐標(biāo)的測算。攝像頭安裝于物流無人車的頭部,用于實(shí)時(shí)采集無人車行駛過程中的道路狀態(tài),以識(shí)別道路。為了保證監(jiān)測速度和準(zhǔn)確性,采用SICK激光雷達(dá)。在監(jiān)測時(shí),激光發(fā)射器自身產(chǎn)生的電脈沖轉(zhuǎn)化為光脈沖發(fā)射出去,在行駛過程中一旦出現(xiàn)障礙物,則光脈沖會(huì)反射回來,此時(shí)光接收機(jī)將接收的光脈沖轉(zhuǎn)換為電脈沖,通過分析后可以確定障礙物距離,其計(jì)算方式如下:
式(1)中,Δt為光脈沖發(fā)射與接收的時(shí)間差;c為光速。速度傳感器安裝于物流無人車的車頭和4個(gè)車輪位置,用于實(shí)時(shí)監(jiān)測無人車的行駛速度,以及各車輪速度。姿態(tài)傳感器用于監(jiān)測無人車進(jìn)行商品投遞的狀態(tài),以保證商品投遞的準(zhǔn)確性。角位移傳感器安裝于四個(gè)車輪下方,確定無人車行駛過程中轉(zhuǎn)角。
執(zhí)行層用于執(zhí)行控制層下達(dá)的相關(guān)指令,該層主要包括車身和執(zhí)行裝置。車身是整個(gè)物流無人車硬件裝置的承載平臺(tái),在進(jìn)行設(shè)計(jì)時(shí),利用左右輪之間的轉(zhuǎn)速差進(jìn)行轉(zhuǎn)向的控制,以有效避免物流無人車行駛過程中出現(xiàn)原地打轉(zhuǎn)或者進(jìn)入死角的情況[4]。執(zhí)行裝置主要包括轉(zhuǎn)向驅(qū)動(dòng)閥、電子氣節(jié)門和輔助控制裝置等。物流無人車通過環(huán)境感知系統(tǒng)獲取無人車行駛狀態(tài)后,實(shí)時(shí)傳遞至控制系統(tǒng),經(jīng)過處理分析后向執(zhí)行層發(fā)出相應(yīng)的指令,通過電子氣節(jié)門和輔助控制裝置控制無人車的行駛速度和轉(zhuǎn)角等,獲取最佳行駛狀態(tài)。
數(shù)據(jù)庫用于對物流無人車在任務(wù)布置前和作業(yè)過程中的作業(yè)參數(shù)進(jìn)行實(shí)時(shí)存儲(chǔ),以便于后期對數(shù)據(jù)的查詢和管理。
采用激光雷達(dá)獲取環(huán)境信息后,對環(huán)境建模。第一步是坐標(biāo)系的轉(zhuǎn)換。令世界坐標(biāo)系為XsYsOs,車體坐標(biāo)系為XcYcOc,兩坐標(biāo)系之間的關(guān)系圖如圖2所示。
對于車體坐標(biāo)系中的任意一點(diǎn),若考慮其位姿,其坐標(biāo)可表示為(x0,y0,θ0),其在世界坐標(biāo)系中可表示為(x1,y1),兩點(diǎn)之間具有以下關(guān)系:
激光雷達(dá)在無人機(jī)坐標(biāo)系的坐標(biāo)為(xsense,ysense)。在監(jiān)測過程中,t時(shí)刻可達(dá)到的最遠(yuǎn)點(diǎn)在世界坐標(biāo)系中為(x2,y2),此時(shí)的無人車所在位置的坐標(biāo)為(x3,y3,θ3),以上坐標(biāo)具有以下映射關(guān)系:
式(3)中,ω為激光雷達(dá)光脈沖與行進(jìn)方向的夾角。
第二步是數(shù)據(jù)預(yù)處理。由于物流無人車作業(yè)的主要道路路面較為平坦,可假設(shè)地面具有小于20°坡度的平面。對于采集環(huán)境中的任意點(diǎn)A和激光雷達(dá)光脈沖環(huán)上的點(diǎn)B,在車體坐標(biāo)系中的坐標(biāo)分別為:
A=(xa,ya,za),B=(xb,yb,zb) (4)
則AB連線與車體坐標(biāo)系平面XOY之間的夾角δ為:
點(diǎn)云分割采用運(yùn)算速度快、計(jì)算精度較高的深度圖的分割方法。對于點(diǎn)云中的任意相鄰兩點(diǎn)C和D,兩點(diǎn)關(guān)系圖如圖3所示。
圖3中的O為激光雷達(dá),可視為原點(diǎn)。以較長的脈沖光束作為y軸,與其垂直方向即為x軸。ε是激光雷達(dá)的分辨率,一般為0.2°或2°。η可通過式(6)計(jì)算,當(dāng)η大于某結(jié)果時(shí),可認(rèn)為C和D點(diǎn)位于同一物體上。設(shè)定閥值,對所有相鄰點(diǎn)云數(shù)據(jù)的η進(jìn)行計(jì)算,聚類獲取同一物體的所有點(diǎn),完成點(diǎn)云分割。
第三步是道路環(huán)境的建模。一旦發(fā)現(xiàn)空洞,采用線性差值的方法將數(shù)據(jù)補(bǔ)全,ξ為插值系數(shù)。對于任意相鄰兩點(diǎn)(x4,y4),(x5,y5),這兩點(diǎn)區(qū)間內(nèi)的任一點(diǎn)(x,y)符合以下關(guān)系:
靜態(tài)障礙物在經(jīng)過激光雷達(dá)掃描后,一般呈現(xiàn)“I”或者“L”形,其上的點(diǎn)云可以看做在兩個(gè)垂直方向均呈高斯分布,高斯分布模型如式(8)所示:
式(8)中,i為點(diǎn)云中符合正太模型點(diǎn)中的模型個(gè)數(shù);σi為第i個(gè)模型的點(diǎn)的方差;qi為第i個(gè)模型的期望;D為模型的權(quán)值。根據(jù)點(diǎn)云的高斯分布模型,確定靜態(tài)障礙物聚類的最小點(diǎn)數(shù)要求dmin:
式(9)中,dx和dy分別為符合高斯模型分布點(diǎn)的x和y方向坐標(biāo)值;ω為激光雷達(dá)掃描線與x方向夾角;λ為激光雷達(dá)掃描經(jīng)驗(yàn)值,根據(jù)不同障礙物經(jīng)驗(yàn)值不同;τ為點(diǎn)數(shù)的調(diào)整系數(shù),此時(shí)可以確定障礙物聚類的最小點(diǎn)數(shù)要求。若掃描后,某位置的點(diǎn)數(shù)符合障礙物聚類的最小點(diǎn)數(shù)要求,即該位置的掃描結(jié)果大于最小點(diǎn)數(shù)dmin,則此位置即為靜態(tài)障礙物,從而確定障礙物位置。
對于動(dòng)態(tài)障礙物,需要對不同時(shí)刻的數(shù)據(jù)進(jìn)行分析,確認(rèn)障礙物之間的關(guān)系。采用跟蹤門方法以某周期的障礙物作為中心,以矩形波門作為分析區(qū)域,確定障礙物再次落入波門的概率,具體如式(10)所示:
式(10)中,C(k)為第k個(gè)周期掃描結(jié)果;P為障礙物落入矩形門的概率系數(shù);vgi和vci分別為第i個(gè)候選測量結(jié)果的觀測噪聲和過程噪聲的對角線結(jié)果。其后,采用勻速運(yùn)動(dòng)模型跟蹤障礙物:
式(11)中,x(k),
選擇校園內(nèi)的一條平坦、寬闊且道路狀態(tài)較為良好的道路作為測試道路,將物流無人車在該道路上行駛,分別在無行人和行駛車輛、有行人和行駛車輛的狀態(tài)下使用該無人車進(jìn)行環(huán)境信息的采集,自動(dòng)濾除地面上的物體,最終采用該無人車獲取的點(diǎn)云信息如圖4所示。
由圖4可知,該物流無人車能夠在無行人和行駛車輛的環(huán)境下,進(jìn)行道路環(huán)境的建模;在有行人和行駛車輛的條件下,自動(dòng)識(shí)別行人、車輛和數(shù)目,對實(shí)際的環(huán)境進(jìn)行建模。以上結(jié)果說明該物流無人車能夠進(jìn)行道路環(huán)境的建模,且可以有效識(shí)別道路環(huán)境中的障礙物。
隨機(jī)放置5個(gè)箱子,由于箱子尺寸較大,將開始識(shí)別到障礙物的起始位置和識(shí)別障礙物的結(jié)束位置即終點(diǎn)位置做差,即可確定某障礙物尺寸。將其與實(shí)際尺寸進(jìn)行對比,以驗(yàn)證識(shí)別精度。結(jié)果如表1所示。
序號(hào) |
長度 |
寬度 |
||||
測量值 /m |
實(shí)際值 /m |
誤差 /m |
測量值 /m |
實(shí)際值 /m |
誤差 /m |
|
1 |
3.12 | 3.15 | 0.03 | 1.12 | 1.16 | 0.04 |
2 |
2.99 | 3.01 | 0.02 | 2.05 | 2.02 | 0.03 |
3 |
1.55 | 1.59 | 0.04 | 1.00 | 0.96 | 0.04 |
4 |
2.51 | 2.47 | 0.04 | 2.04 | 2.02 | 0.02 |
5 |
2.35 | 2.32 | 0.03 | 1.88 | 1.85 | 0.03 |
由表1可知,該物流無人車的環(huán)境建模精度較高,對于障礙物尺寸的識(shí)別精度誤差小于0.03m, 滿足物流無人車的精度要求。
為了使物流無人車能夠有效的感知和避障障礙物,設(shè)計(jì)物流無人車行駛過程的環(huán)境建模算法。采用激光雷達(dá)獲取環(huán)境信息,對信息進(jìn)行坐標(biāo)系轉(zhuǎn)換,確認(rèn)物流無人車的坐標(biāo)位置;預(yù)處理獲取的信息,獲得有效信息,采用插值法和三維網(wǎng)絡(luò)模型構(gòu)建的方法對行駛路徑進(jìn)行環(huán)境建模。在充分考慮障礙物的靜態(tài)和動(dòng)態(tài)方式的基礎(chǔ)上識(shí)別障礙物,以有效避障。試驗(yàn)結(jié)果表明該物流無人車能夠進(jìn)行道路環(huán)境建模,對障礙物尺寸的識(shí)別精度誤差小于3%,滿足物流無人車的精度要求。