李聞達 王 崢 李慧云 方文其 梁嘉寧
1(中國科學院深圳先進技術(shù)研究院 深圳 518055)
2(山東理工大學 淄博 255000)
無人車也被稱為智能車輛,是當今車輛工程與機器人技術(shù)、人工智能結(jié)合最熱門的領域之一[1]。Ernst Dickmanns 在 20 世紀 80 年代開啟智能汽車發(fā)展之路[2]。1994 年,在美國由卡內(nèi)基梅隆大學研發(fā)的 Navlab 從賓州的匹茲堡行駛到加州的圣迭哥,其中自主駕駛部分達 98.2%[3]。意大利的帕爾瑪大學研制的智能車將傳感器進行了內(nèi)嵌,該智能車可以同時應用于高速公路和城市道路,通過采用視覺導航的方式對交通信號燈及交通標記進行有效的識別,實現(xiàn)行人檢測的能力,經(jīng)過多年研究 Vislab 智能車已經(jīng)具備了多項自主駕駛的功能[4,5]。我國近年來在無人駕駛領域也取得了飛速發(fā)展。例如,百度無人駕駛汽車在北京進行全程自動駕駛測跑,實現(xiàn)了多次跟車減速、變道、超車、上下匝道、調(diào)頭等復雜駕駛動作,完成進出高速道路等不同場景的切換,最高時速可達 100 km/h[6]。21 世紀以來,許多汽車制造廠商推出了具有輔助駕駛、自動泊車、自動入庫等功能的車輛,如傳統(tǒng)的汽車巨頭 BBA 及沃爾沃等汽車品牌都已在自己旗下的不同車型上應用了最先進的自動駕駛系統(tǒng),通過雷達、探頭、全球定位系統(tǒng)(Global Position System,GPS)、視覺傳感器等裝置,車輛可以按照預定的線路自動駕駛,可以說目前半自動駕駛技術(shù)已經(jīng)相對比較成熟。
安全、高效的導航方法是無人車實現(xiàn)的關(guān)鍵[7]。導航定位系統(tǒng)利用高精度 GPS 采集位置信息及車速,從而通過核心控制單元進行處理,根據(jù)位置和角度信息控制執(zhí)行機構(gòu)?,F(xiàn)階段無人駕駛導航策略大多應用于車道線或引導線標記清晰的結(jié)構(gòu)化道路[8],但在國內(nèi)依然有許多鄉(xiāng)村道路不具備實現(xiàn)該導航機制的條件[9]。其次,標記詳細的高精度地圖雖然能滿足自動駕駛導航的需要,但其數(shù)據(jù)量龐大,數(shù)據(jù)的處理和融合相對耗時、困難,亦給自動駕駛技術(shù)的落地帶來了巨大挑戰(zhàn)[10,11]。
為了解決以上問題,本文提出了一種基于輕量級矢量地圖的智能車導航方法。該方法包含地圖構(gòu)建與導航部分。其中,地圖構(gòu)建部分創(chuàng)新采用道路點(waypoint)與標簽(way tag)相結(jié)合的機制。道路點用來描述各條道路并標記精準的道路經(jīng)緯度及無人駕駛決策信息;道路標簽從高層次抽象組織道路點,從而極大地降低數(shù)據(jù)的重復存儲。導航部分緊密結(jié)合道路點與標簽的地圖結(jié)構(gòu),通過運用預瞄點與歷史點快速決定車輛的轉(zhuǎn)向角,有效實現(xiàn)路徑追蹤。本文所提出的地圖構(gòu)建與導航方法可作為無人駕駛的基礎模塊,可與激光雷達數(shù)據(jù)處理、車輛避障算法、車輛動力學模型相結(jié)合,實現(xiàn)算法與存儲的輕量級化,降低無人駕駛對硬件設備計算能力的需求。
目前智能車導航主要通過以下 3 種方式:
(1)基于視覺道路標志線跟蹤導航,其代表為特斯拉公司所用導航技術(shù)。智能車首先利用攝像頭拍攝道路周圍環(huán)境的局部圖像,并通過圖像處理技術(shù)中的特征識別、距離估計等,進行智能車定位及其下一步的動作規(guī)劃;然后,利用傅里葉變換處理全方位圖像,并將關(guān)鍵位置圖像經(jīng)過變換得到的數(shù)據(jù)存儲起來,將其作為下一步的參考點;最后,將攝像頭拍攝的圖像與之對比,從而得到車輛的當前位置,進一步實現(xiàn)對智能車的局部路徑規(guī)劃。在新的環(huán)境中通過圖像處理數(shù)據(jù)分析出環(huán)境中的道路,不需要事先建立數(shù)據(jù)庫以及鋪設大量的輔助設施[3]。
(2)基于激光雷達的高精地圖導航,其代表是 Google 公司無人車。其借助激光三維點云構(gòu)建周圍環(huán)境的幾何關(guān)系,通過實時采集周邊點云與地圖中點云相匹配,從而對無人車進行準確定位。
(3)基于差分 GPS(DGPS)的導航,其代表為百度無人車。然而,百度無人車導航需依賴激光雷達和視覺生成的高精度地圖,比普通地圖對信息的需求更大,行駛路段都需要配備激光雷達的數(shù)據(jù)采集車進行實測。例如,四維圖新?lián)碛?600輛數(shù)據(jù)采集車,可以采集全景影像數(shù)據(jù)、路面影像數(shù)據(jù)、亞米級高精度 GPS 數(shù)據(jù)、路測近距離激光雷達等高精度數(shù)據(jù),其對車載電腦的存儲與計算能力要求極高,相對資金花費會更高[17]。同時激光點云的實時匹配的準確性受周圍動態(tài)環(huán)境的影響較大,而且激光雷達無法對周圍環(huán)境中的路標、指示牌和紅綠燈等信息進行提取,導致其對復雜路況理解能力的局限性等問題尚未解決。
當今車載定位和手機定位運用的是單一的GPS,提供的定位精度是優(yōu)于 25 m,而為得到更高的定位精度,無人車通常采用差分 GPS 技術(shù),將差分 GPS 接收機安置在基準站上進行觀測。根據(jù)基準站已知精密坐標,計算出基準站到衛(wèi)星的距離改正數(shù),并由基準站實時將這一數(shù)據(jù)發(fā)送出去。用戶接收機在進行 GPS 觀測的同時,也接收到基準站發(fā)出的改正數(shù),并對其定位結(jié)果進行改正,從而得到厘米級的定位精度。
本文采用差分 GPS 錄制無人車導航矢量地圖并對地圖進行濾波分類處理,從而規(guī)劃全局行駛路徑,利用激光雷達進行前方障礙物檢測,根據(jù)激光雷達的信息反饋動態(tài)調(diào)整局部路徑進行避障,最后輸出方向盤轉(zhuǎn)角、油門和制動踏板深度信息到底層控制器。無人駕駛系統(tǒng)的示意圖見圖 1。
佛像的當代性,是指以當下的審美理念塑造的佛像,符合當下人們的審美習慣,并在理念、形式、樣式上有別于其他時期,但這種時代特征必須是在如法的范圍內(nèi),目前國內(nèi)有許多藝術(shù)家在探討嘗試中,能否成為這個時代的典型之作需要塑造者不斷的探索與時間的沉淀。
圖1 無人駕駛導航系統(tǒng)結(jié)構(gòu)示意圖Fig. 1 Navigation system structure diagram of autonomous vehicle
主流智能駕駛技術(shù)依賴于高精度地圖對環(huán)境信息的準確描述,而高精度地圖對存儲要求較高。例如,Levinson 與 Thrun[18]通過數(shù)據(jù)壓縮技術(shù)將 20 000 英里的道路信息存儲于 200 GB 的空間,相當于每公里 6.25 MB 的存儲密度。如此龐大的數(shù)據(jù)量對車載電腦的存儲容量是極高的挑戰(zhàn),亦給數(shù)據(jù)處理和融合所需計算的實時性帶來巨大困難。
相比之下,本文采用輕量級矢量地圖與軌跡跟蹤算法相結(jié)合的方法達到自主導航效果。具體來說,該地圖建立方法利用差分 GPS 抽取經(jīng)緯度信息,去除大規(guī)模激光點云數(shù)據(jù),通過在地圖中標記車道、十字路口、速度限制等關(guān)鍵信息達到準確導航的目的。本文采用的矢量地圖如圖 2所示,共 13 條道路 26 條車道,總行駛里程約 5公里僅占用約 500 kB 的數(shù)據(jù)存儲,相當于每公里 100 kB 存儲密度,極大地簡化了數(shù)據(jù)結(jié)構(gòu),同時確保了高精度。
全局路徑規(guī)劃模塊是根據(jù)矢量地圖和起點、終點信息,規(guī)劃全局路徑。具體步驟如下:
(1)如圖 2 所示某地區(qū)高精度矢量地圖,首先將每條車道進行編號(如 1, 2, 3,…),并分別將每條車道經(jīng)緯度信息、對應道路的紅綠燈和標志牌等存儲到 MATLAB 的 cell 矩陣中,建立waypoint 數(shù)組。然后,建立 way tag 數(shù)組作為各路口的標簽和車道線的連接,定義路口直行、左拐、右拐、變道和掉頭。圖 3 所示為 MATLAB中 way tag 和 waypoint 數(shù)組。way tag 行序號為每條車道編號(如 1~26 號),列序號為路口決策編號(如直行、左拐、右拐、左變道、右變道、掉頭)。way tag 表格則為下一步要行駛的車道編號(-1 表示無車道)。例如,當車輛從 3 號車道左轉(zhuǎn)行駛到 11 號車道,該 11 號車道對應的waypoint 如圖 3 所示,包含該車道的經(jīng)緯度、紅綠燈、人行橫道和限速標志等。1 表示該位置有以上標志;相反,-1 表示沒有。車輛可根據(jù)以上信息確定參考車速或停車等待,保證車輛行駛符合道路交通法規(guī)。
圖2 某地區(qū)高精度矢量地圖Fig. 2 High precision vector map of a certain area
圖3 Waypoint 和 way tag 數(shù)組Fig. 3 Waypoint and way tag array
(2)利用差分 GPS 實時定位搜尋車輛在地圖上的投影點,從而確定起始點,并通過指定行駛方向,或給定終點坐標的方式確定終點,從而得到規(guī)劃行駛路徑。
差分 GPS 數(shù)據(jù)處理模塊主要是定義經(jīng)緯度范圍、過濾錯誤數(shù)據(jù)和消除噪聲,并實時打印定位點和地圖投影點。
路徑跟蹤模塊將根據(jù)差分 GPS 和預先錄制的 waypoint 信息產(chǎn)生一個適當?shù)霓D(zhuǎn)向位置命令,并根據(jù)方向盤轉(zhuǎn)角匹配適當?shù)男旭偹俣?。利用差?GPS 可以獲取車輛的實時位置,從錄制地圖中能夠看到車輛運動的參考路徑。
如圖 4 所示,綠色線條為預先錄制的車輛 waypoint;藍點為車輛定位點;紅點為車輛waypoint 投影點。為使藍點不斷趨近于地圖中紅點,設計了一種角度的算法來實現(xiàn)。如圖 5 所示,藍色區(qū)域為車輛的幾何模型,C點是當前車輛的定位點,即圖 4 中藍點;A點為車輛先前的定位點;B點和D點(紅點)分別是地圖中距離A點和C點的最近點;E是預瞄點,即車輛的目標位置。向量BC和向量BD的夾角為,其正負和大小可以用來判斷車輛的位置誤差;為向量AC和向量DE夾角,為車輛動態(tài)行駛路徑與參考路徑的角誤差,通過不斷修正使和減小直到趨于 0,使車輛沿規(guī)劃路徑行駛。公式(1~8)為根據(jù)各點的經(jīng)緯度計算相應向量。其中,下標x、y表示該向量在x軸、y軸方向的大小。
圖4 車輛的實時位置和路徑規(guī)劃Fig. 4 Real-time location and path planning of the vehicle
最后,航向角為:
其中,coeff1與coeff2為權(quán)重系數(shù),用來調(diào)整、對航向角的影響。該角度需要在測試中進行調(diào)整,建議在轉(zhuǎn)彎時通過降低車速來優(yōu)化跟蹤waypoint 的效果。
圖5 車輛和路徑的幾何關(guān)系Fig. 5 The geometric relationship between vehicles and paths
動態(tài)路徑調(diào)整模塊功能主要是在同一行駛方向具備多車道時,實現(xiàn)基于差分 GPS 的避障,即遇到障礙物后進行車道切換。障礙物檢測可基于視覺或激光雷達的信息反饋,一旦決定避障,則可將參考 waypoint 從當前車道切換到另一并行車道,通過計算與并行車道 waypoint 的航向角從而實現(xiàn)車道切換。若新車道仍檢測到障礙物,則需停車等待障礙物清空后再繼續(xù)行駛。在實現(xiàn)過程中將多車道 waypoint 分別建立,但存儲于同一數(shù)組中不同行(列),當避障時切換投影 waypoint,從而節(jié)省計算時間。亦可在車道waypoint 數(shù)組中指定優(yōu)先級,在確認避障結(jié)束后切換到第一優(yōu)先級車道,避免逆行。如圖 6 所示為四條并行車道 waypoint。
轉(zhuǎn)向、油門、制動模塊主要功能是將方向盤角度和速度命令發(fā)送給車輛底層控制器。本文采用 CANanalyzer 搭建 MATLAB 與CAN(Controller Area Network)總線的信息交互平臺,將上層模塊計算的角度和速度信息發(fā)送到底層控制器并控制無人車的轉(zhuǎn)向和啟停。
本文采用實時動態(tài)差分全球定位系統(tǒng)(Novatel DGPS)進行實驗測試,由接收機、天線、無線調(diào)制解調(diào)器和電池組成,具體如圖 7(a)、(b)所示。其中,最大采樣率為 10 Hz,定位精度為 5 cm。設備分為基站與移動站,基站覆蓋半徑為 20 km的區(qū)域,可以建立單一基站對多移動站的使用方式。實驗將基站搭建在樓頂,移動站搭建在車內(nèi),通過 4G 信號(中國移動)實現(xiàn)基站與移動站之間的數(shù)據(jù)傳輸,從而實現(xiàn)較好的數(shù)據(jù)接收效果。
圖6 四條并行車道 waypointFig. 6 Four parallel waypoints
圖7 差分 GPS 搭建與測試Fig. 7 DGPS setup and testing
實驗過程中,首先搭建差分 GPS 導航定位平臺,進行錄制園區(qū)內(nèi)無人車行駛路徑,然后建立差分 GPS 和 MATLAB 接口,將地圖導入MATLAB 中,進行算法編寫。圖 7(c)為園區(qū)路徑在谷歌地球上呈現(xiàn)的效果圖,圖 7(d)為未處理的矢量地圖。由圖 7 可以看出,與普通 GPS 相比,Novatel DGPS 具備較高的抗干擾性與準確性,適合基于其進行路徑追蹤與避障。
本文采用禾賽科技 Pandar40 四十線激光雷達和 Hokuyo 單線激光雷達對障礙物進行檢測與避障。其中,二者位于車前保險杠中央,Pandar40 安裝在下方,Hokuyo 在上方,安裝位置如圖 8 所示。實驗車輛為開沃新能源汽車,前置前輪驅(qū)動,裝有電子助力轉(zhuǎn)向(EPS)和整車控制單元(VCU),通過 CAN 總線可以控制車輛的運行狀態(tài)。采用創(chuàng)芯科技的 CANalyst-II 分析儀對上位機和底層 CAN 總線進行連接。從而搭建MATLAB 與 CAN 總線的信息交互平臺,將上位機計算的角度和速度信息通過分析儀發(fā)送到底層控制器。
圖8 差分 GPS 和激光雷達安裝位置Fig. 8 Vehicle with mounted DGPS and Lidar
4.2.1 路徑追蹤測試
圖9 為錄制某地區(qū)的矢量地圖,其中紅色和綠色線條表示路徑。該地圖以 20 km/h 勻速行駛進行錄制,waypoint 采樣頻率為 10 Hz。在矢量地圖中確定起點和終點,如圖中的Start點和End點。路徑規(guī)劃算法依據(jù)起點和終點規(guī)劃出一條最優(yōu)路徑,從起點到終點,車輛經(jīng)過的路徑依次為1-2-3-4-5-6,用紅色實線標識,其他路徑用綠色虛線標識,通過路口用A、B、C、D、E表示。
圖9 最優(yōu)全局路徑的矢量地圖Fig. 9 The vector map of optimal global path
為了檢驗路徑跟蹤算法的準確性,本實驗采用人為駕駛和自動駕駛來驗證。因為速度的不同會對路徑追蹤的效果有較大影響,所以實驗選擇在平均車速為 15 km/h、20 km/h 兩種車速下測試。
圖10(a)是當車輛以平均車速 15 km/ h 行駛時,車輪轉(zhuǎn)角隨路徑變換的關(guān)系。其中,紅色為車輛沿規(guī)劃路徑自動駕駛時車輪轉(zhuǎn)角的變化曲線;藍色為人為駕駛的轉(zhuǎn)向角變化曲線;綠色直方圖是以上兩個角度之差,用來衡量自動駕駛的準確性。由圖10(a)可以看到,當車輛直線行駛時,角度誤差較小,保持在 2°以內(nèi);當轉(zhuǎn)彎時,角度誤差有增大趨勢,但基本達到轉(zhuǎn)向所需轉(zhuǎn)角。
圖10(b)為平均車速 20 km/h 時車輪轉(zhuǎn)向角與行駛路徑的關(guān)系。由圖可以看到,車速增大后,直線行駛時角度誤差較之前變化不大,轉(zhuǎn)彎時誤差較之前稍有增大,自動駕駛轉(zhuǎn)向角比人為駕駛轉(zhuǎn)向角出現(xiàn)輕微的角度滯后。
圖10 不同車速下車輪轉(zhuǎn)向角與行駛路徑之間的關(guān)系Fig. 10 Relationship between wheel steering angle and driving path at different speeds
以上實驗結(jié)果表明,隨著車速的增大角度誤差會增大并出現(xiàn)角度滯后。分析其原因有以下幾點:首先,差分 GPS 在進行精準定位時會有約0.2 s 的定位延時,造成轉(zhuǎn)向角滯后;其次,雖然差分 GPS 達到了很高的定位精度,但依然會有因噪聲產(chǎn)生定位誤差,這對轉(zhuǎn)向角的計算非常敏感;最后,速度調(diào)節(jié)器不能完全維持車速的恒定,尤其在有坡度的道路測試中。為了減小以上因素的影響,要求車速限制在 20 km/h 以內(nèi)。
在圖 5 車輛和路徑的幾何關(guān)系中,地圖中預瞄點E和車輛在地圖上投影點D的距離大小對路徑跟蹤也有較大影響。實驗中選取距投影點20~60 個 waypoint 的地圖坐標作為預瞄點E。因為預瞄點E對路徑追蹤的影響只發(fā)生在轉(zhuǎn)彎情形中,故在圖 9 中沿路徑 1-A-2-B-3 測試角度誤差和 waypoint 個數(shù)的關(guān)系,滿足了左轉(zhuǎn)彎、右轉(zhuǎn)彎兩種情形。
圖11 為預瞄點與車輛轉(zhuǎn)向角誤差變化關(guān)系。因為角度誤差存在正負,故采取角度誤差的絕對值之和來衡量誤差的大小。由圖 11 可以看出,當距離從 20 到 50 時,角度誤差之和呈減小趨勢;當距離達到 60 時,誤差開始增大。這是因為當預瞄點距離過近時,算法中計算向量的夾角變化過于頻繁,造成轉(zhuǎn)向角不斷增大,車輛轉(zhuǎn)向過度。而預瞄點距離太遠時,向量夾角變化過于遲鈍,造成車輛轉(zhuǎn)向不足。綜上所述,投影點與預瞄點之間點的個數(shù)應在 50 左右,以保證轉(zhuǎn)角誤差最小。
圖11 預瞄點與車輛轉(zhuǎn)向角誤差變化關(guān)系Fig. 11 Relationship between target point and vehicle steering angle error
4.2.2 動態(tài)路徑調(diào)整測試
實驗一:在行駛過程中放入障礙物來檢測動態(tài)路徑調(diào)整模塊,如圖 12(a)所示。實驗采用假人作為障礙物進行實車測試。當激光雷達檢測到前方有障礙物時,動態(tài)路徑調(diào)整模塊作出反應,將參考 waypoint 從當前車道切換到另一并行車道,計算與并行車道 waypoint 的航向角實現(xiàn)車道切換,當繞過障礙物后車輛切換到原有車道繼續(xù)行駛。
圖12 動態(tài)路徑調(diào)整Fig. 12 Dynamic path adjustment
實驗二:在兩條并行車道上分別放有假人和箱子作為障礙物,如圖 12(b)所示。當車輛行駛過程中檢測到前方有障礙物 1(假人),從當前車道切換到另一并行車道,緊接著又檢測到該并行車道有障礙物 2(箱子),動態(tài)路徑調(diào)整模塊作出反應,制動停車并等待障礙物清空后繼續(xù)行駛。
為了檢驗動態(tài)路徑調(diào)整算法的準確性和有效性,本實驗依然采用人為駕駛和自動駕駛來對比驗證。圖 13(a)、(b)分別為雙車道中單個和兩個障礙物情況下車輛轉(zhuǎn)向角與行駛路徑的關(guān)系。由圖可以看出,自動駕駛的轉(zhuǎn)向角和人為駕駛的轉(zhuǎn)向角基本吻合,最大角度為 15°左右,滿足正常切換車道所需角度。但為保證行駛安全,激光雷達探測到障礙物距離 5 m 時觸發(fā)動態(tài)路徑調(diào)整模塊,相比正常人為駕駛距離略遠,如圖 13 中M點。自動駕駛轉(zhuǎn)向角變化要提前于人為駕駛,同樣角度峰值點也提前到達。
圖13 動態(tài)路徑調(diào)整下車輪轉(zhuǎn)向角與行駛路徑之間的關(guān)系Fig. 13 Relationship between wheel steering angle and driving path in dynamic path adjustment
本文提出了一種基于矢量地圖的無人車導航方法。首先,建立無人車導航矢量地圖,然后利用矢量地圖和激光雷達完成路徑跟蹤及動態(tài)路徑調(diào)整的避障,并實車測試其實時性和準確性。該策略不依賴于激光雷達的高精度地圖創(chuàng)建,因為激光點云的實時匹配受到動態(tài)環(huán)境的影響較大,在復雜環(huán)境中降低了車輛定位的準確性。在實時避障方面,激光雷達無法對周圍環(huán)境中的語義信息進行提取(如路標、紅綠燈等),導致其對復雜路況的理解能力存在局限性。本文基于差分 GPS創(chuàng)建的地圖通過對關(guān)鍵信息的標記(如車道、標志、速度、紅綠燈等),增加了無人車對環(huán)境語義的理解能力,通過分段標記的方法實現(xiàn)動態(tài)形式路線的變化。與此同時,結(jié)合激光雷達的實時障礙物檢測能力,通過改變矢量地圖中參考路徑,實現(xiàn)了避障、車道線切換等功能,在實現(xiàn)動態(tài)駕駛決策的同時提高了駕駛安全性。另外,在準確導航的同時極大地降低了對存儲空間的要求,每公里道路僅產(chǎn)生 100 kB 的數(shù)據(jù)存儲,且定位精度可達到厘米級。實車測試結(jié)果表明,本文提出的車輛轉(zhuǎn)向角算法和避障策略效果良好,基本完成規(guī)劃路線的行駛。但在隧道或有遮蔽的道路,差分 GPS 定位精度受到較大影響,未來可考慮加入慣性測量單元進行輔助定位。在實時避障方面,其對車速和障礙物動靜態(tài)也有一定的要求,未來將對這一問題作進一步研究。