【導讀】針對激光傳感器在室外環(huán)境中檢測動態(tài)障礙物所遇到的數(shù)據(jù)處理存在延時、檢測結果準確率不高等問題,提出了一種基于3維激光傳感器Velodyne和四線激光傳感器Ibeo信息融合的動態(tài)障礙物檢測及表示方法。該種方法應用在了自主研發(fā)的無人駕駛汽車平臺上,大量的實驗以及它們在“中國智能車未來挑戰(zhàn)賽”中的優(yōu)異表現(xiàn)證明該方法具備可靠性和準確性。
本方法通過分析處理Velodyne激光數(shù)據(jù)對無人駕駛汽車四周的動態(tài)障礙物進行檢測跟蹤,對于無人駕駛汽車前方準確性要求較高的扇形區(qū)域,采用置信距離理論融合Velodyne激光數(shù)據(jù)處理信息和Ibeo輸出的運動狀態(tài)信息,較大地提高了對障礙物運動狀態(tài)的檢測準確率,然后根據(jù)融合得到的結果對運動障礙物的位置進行延時修正,最終在障礙物占用柵格圖上將動態(tài)障礙物所占據(jù)位置與靜態(tài)障礙物所占據(jù)位置區(qū)別標示。本方法不僅可以在室外環(huán)境中準確地檢測出障礙物運動信息,而且可以消除傳感器數(shù)據(jù)處理延時所帶來的動態(tài)障礙物位置偏差,更準確地將環(huán)境中的動靜態(tài)障礙物信息用障礙物占用柵格圖進行描述.該種方法應用在了自主研發(fā)的無人駕駛汽車平臺上,大量的實驗以及它們在“中國智能車未來挑戰(zhàn)賽”中的優(yōu)異表現(xiàn)證明該方法具備可靠性和準確性。
1 引言
無人駕駛汽車是人工智能的一個非常重要的驗證平臺,近些年成為國內外研究熱點。無人駕駛汽車作為一種陸地輪式機器人,既與普通機器人有著很大的相似性,又存在著很大的不同。首先它作為汽車需保證乘員乘坐的舒適性和安全性,這就要求對其行駛方向和速度的控制更加嚴格;另外,它的體積較大,特別是在復雜擁擠的交通環(huán)境下,要想能夠順利行駛,對周圍障礙物的動態(tài)信息獲取就有著很高的要求。
國內外很多無人駕駛汽車研究團隊都是通過分析激光傳感器數(shù)據(jù)進行動態(tài)障礙物的檢測。斯坦福大學的自主車“Junior”利用激光傳感器對跟蹤目標的運動幾何特征建模,然后用貝葉斯濾波器分別更新每個目標的狀態(tài);卡耐基·梅隆大學的“BOSS”從激光傳感器數(shù)據(jù)中提取障礙物特征,通過關聯(lián)不同時刻的激光傳感器數(shù)據(jù)對動態(tài)障礙物進行檢測跟蹤。
在實際應用中,3維激光傳感器因為數(shù)據(jù)處理工作量較大,存在一個比較小的延時,這在一定程度上降低了無人駕駛汽車對動態(tài)障礙物的反應能力,特別是無人駕駛汽車前方區(qū)域的運動障礙物,對其安全行駛構成了很大的威脅;而普通的四線激光傳感器雖然數(shù)據(jù)處理速度較快,但是探測范圍較小,一般在100?~120?之間;另外,單個的傳感器在室外復雜環(huán)境中也存在著檢測準確率不高的現(xiàn)象。針對這些問題,本文提出一種利用多激光傳感器進行動態(tài)障礙物檢測的方法,采用3維激光傳感器Velodyne對無人駕駛汽車周圍的障礙物進行檢測跟蹤,利用卡爾曼濾波器對障礙物的運動狀態(tài)進行跟蹤與預測,對于無人駕駛汽車前方準確性要求較高的扇形區(qū)域,采用置信距離理論融合Velodyne和四線激光傳感器Ibeo數(shù)據(jù)來確定障礙物的運動信息,提高了障礙物運動狀態(tài)的檢測準確率,最終在柵格圖上不僅對無人駕駛汽車周圍的動、靜態(tài)障礙物進行區(qū)別標示,而且還根據(jù)融合結果對動態(tài)障礙物的位置進行了延時修正,消除了傳感器處理數(shù)據(jù)延時所帶來的位置偏差。這種方法應用在了自主研發(fā)的無人駕駛汽車上,在城市和鄉(xiāng)村道路中進行了大量的實車實驗,并在國家自然科學基金委舉辦的“中國智能車未來挑戰(zhàn)賽”中取得了優(yōu)異成績。
2 系統(tǒng)結構
四線激光傳感器Ibeo安裝于無人駕駛汽車的正前方保險杠位置,3維激光傳感器Velodyne安裝于車頂上方,它們的具體安裝位置如圖1所示。
圖1 傳感器Velodyne和Ibeo安裝位置
本文提出的無人駕駛汽車動態(tài)障礙物檢測及其表示方法流程如圖2所示。首先對Velodyne數(shù)據(jù)進行柵格化處理得到一張障礙物占用柵格圖,對不同時刻的柵格圖進行聚類跟蹤可以獲取障礙物的動態(tài)信息,將動態(tài)的障礙物從柵格圖中刪除并存儲在動態(tài)障礙物列表中,這個刪除了動態(tài)障礙物占用信息的柵格圖也就是一張靜態(tài)障礙物柵格圖,然后將動態(tài)障礙物列表中的動態(tài)障礙物信息和Ibeo獲取的無人駕駛汽車前方區(qū)域內的動態(tài)障礙物信息進行同步融合得到一個新的動態(tài)障礙物列表,最后將這個新的列表中的動態(tài)障礙物合并到靜態(tài)障礙物柵格圖中得到一張動靜態(tài)障礙物區(qū)別標示的柵格圖。
圖2 無人駕駛汽車動態(tài)障礙物檢測及其表示方法流程圖
本文創(chuàng)建的障礙物占用柵格圖大小為512×512,每個柵格的大小為20cm×20cm,無人駕駛汽車車頭朝向與y軸正方向同向且位于這個柵格地圖中的(256,100)位置。柵格圖和Velodyne、Ibeo的檢測范圍關系如圖3所示。
圖3 柵格圖和Velodyne、Ibeo的檢測范圍關系示意圖
3 Velodyne數(shù)據(jù)處理
3.1 Velodyne數(shù)據(jù)柵格化
將激光數(shù)據(jù)柵格化的方法有很多,無人駕駛汽車領域比較成熟的3維激光傳感器數(shù)據(jù)柵格表示方法有均值高度圖和最大最小值高度圖兩種。本文采用最大最小值高度圖法對Velodyne數(shù)據(jù)進行柵格化處理,最大最小值高度圖是由Thrun教授提出的一種高度圖的變種,該方法在2007年的DARPA(美國國防部先進研究項目局)城市挑戰(zhàn)賽中得到了廣泛的應用,并且取得了很好的使用效果。在最大最小值高度圖中地面被建模為一系列的柵格,這些柵格僅包含兩個值:所有投影到同一柵格中的激光傳感器返回值的最大值和最小值。然后將最大值和最小值之差大于預先設定的閾值D的柵格標記為障礙物狀態(tài);將差小于D的柵格標記為非障礙物狀態(tài)。對于一個柵格X,如果其為障礙物狀態(tài),則設置該柵格的占用值T(X)=1;如果為非障礙物狀態(tài),則設置為T(X)=0.圖4是用最大最小值高度圖法對一個十字路口的Velodyne數(shù)據(jù)柵格化后所得到的障礙物占用柵格圖。
3.2 障礙物聚類
對障礙物進行跟蹤之前需要對柵格地圖中的占用柵格進行聚類,本文采用的是一種區(qū)域生長聚類算法,見Function1.Addopen(X)和Addclosed(X)分別表示將柵格X添加進open列表和closed列表;Deleteopen(X)和Deleteclosed(X)分別表示將柵格X從open列表和closed列表中刪除;Newlable(X)表示給柵格X賦一個新的標示值;Copylable(X,Y)表示將柵格X的標示值賦予給柵格Y;Selectopen(X)和Selectclosed(X)分別表示從open列表和closed列表中隨機選出一個柵格X;L(X)表示柵格X是否已經(jīng)被賦予了標示值,值為1表示已經(jīng)被賦予,值為0則表示沒有。
圖4 用最大最小值高度圖法柵格化得到的柵格圖
經(jīng)過Function1,柵格地圖中設定聚類區(qū)域內的障礙物占用柵格就被聚類成一個個障礙物塊,圖5是對道路內的障礙物占用柵格聚類得到的結果。
3.3 障礙物跟蹤
首先創(chuàng)建一個動態(tài)障礙物列表來存儲上面聚類得到的障礙物塊信息,并且實時更新這些障礙物塊的跟蹤結果。存儲于這個動態(tài)障礙物列表中的每一個障礙物塊包含以下信息:編號,最新一次聚類得到時的時間、占據(jù)位置、速度大小方向和加速度大小方向,速度協(xié)方差,加速度協(xié)方差以及存在置信度和運動置信度。
圖5 障礙物占用柵格聚類結果
對障礙物塊進行跟蹤時,需要匹配當前時刻聚類得到的障礙物塊和動態(tài)障礙物列表中存儲的障礙物塊,本文采用一種最大關聯(lián)值法對其進行匹配。對于動態(tài)障礙物列表中的每一個障礙物塊和當前時刻聚類得到的每一個障礙物塊,存在一個關聯(lián)值。這個關聯(lián)值的大小與和的位置、大小、形狀有關。如圖6所示,對于每一個障礙物塊,用一個能覆蓋它的最小矩形對其進行參數(shù)化:長邊長L,短邊長R,中心位置O(x,y)和障礙物塊對這個矩形的占用率k。
顯然,和的中心位置不能直接拿來比較,因為對它們進行聚類的時間不同,所以需要對的中心位置進行修正,見式(1)、(2):
其中,和分別是7最新一次聚類得到時的時間和當前時刻,和是在動態(tài)障礙物列表中存儲的最新速度和加速度是對的中心位置進行修正后得到的中心位置。于是,可以根據(jù)式(3)得到:
其中,a、b和c是權值,通過實驗可以得到比較合適的經(jīng)驗值。
然后就可以得到一個如下的決策矩陣并設置一個門限關聯(lián)值:
接著從這個決策矩陣中找到最大的關聯(lián)值,如果不小于門限值,則認為障礙物塊和成功匹配,然后將與和相關的所有關聯(lián)值從這個決策矩陣中刪除,得到一個新的決策矩陣如下:
再從這個新的決策矩陣中尋找最大的關聯(lián)值,依此類推,直到找到的最大關聯(lián)值小于門限值或者決策矩陣變空為止。
最終的匹配結果有如下3種情況,分別對其進行處理:
①存儲于動態(tài)障礙物列表中但是沒有當前聚類得到的障礙物塊與之匹配的障礙物塊,將其存在置信度減1,其它值不變。
②當前聚類得到的但是沒有存儲于動態(tài)障礙物列表中的障礙物塊與之匹配的障礙物塊,將其添加進動態(tài)障礙物列表中,并將速度大小、方向和加速度大小、方向都置初值為0,速度協(xié)方差和加速度協(xié)方差都置初值為10,存在置信度置初值為10,運動置信度置初值為0。
③存儲于動態(tài)障礙物列表中并且有當前聚類得到的障礙物塊與之匹配的障礙物塊,將其存在置信度加1,更新其所在位置,并根據(jù)經(jīng)典卡爾曼濾波算法更新得到其速度、加速度以及速度協(xié)方差和加速度協(xié)方差.考慮到傳感器誤差,本文認為速度值小于一個較小值(比如0.5m/s)的障礙物塊是靜止或者接近于靜止的,所以如果更新得到的速度大于這個較小值,將其運動置信度加1,反之減1。
當然在實際操作中,動態(tài)障礙物列表中的障礙物塊運動置信度和存在置信度都設置了上下限值。最后將動態(tài)障礙物列表中那些存在置信度小于一個設定值的障礙物塊從列表中刪除,因為本文認為這些障礙物塊已經(jīng)從無人駕駛汽車周圍環(huán)境中消失,這樣還能保證動態(tài)障礙物列表中的障礙物塊數(shù)目不會隨著時間累積而無限增大。
3.4 靜態(tài)障礙物柵格圖生成
更新完動態(tài)障礙物列表后,按照如下的Func-tion2對前面柵格化后得到的柵格圖進行處理,可以生成一張靜態(tài)障礙物柵格圖。
4 傳感器數(shù)據(jù)融合
4.1 傳感器數(shù)據(jù)同步匹配
因為四線激光傳感器Ibeo能直接輸出環(huán)境中的動態(tài)障礙物信息,而Velodyne數(shù)據(jù)經(jīng)過上文中的一系列處理才能得到環(huán)境中動態(tài)障礙物信息,兩者的數(shù)據(jù)采集和處理耗時不同,所以首先需要同步匹配兩者的障礙物信息。
Ibeo輸出的動態(tài)障礙物信息是用一個個box的格式進行表示的,每個box的參數(shù)包括邊長a、b,中心位置和速度v的大小方向,如圖7所示。
圖7 Ibeo輸出動態(tài)障礙物信息示意圖
圖8Velodyne數(shù)據(jù)和Ibeo數(shù)據(jù)同步示意圖
本文將box的中心位置朝其速度方向的反方向平移距離S,如圖8所示,S的大小滿足式(4):
其中和分別是采集處理Velodyne數(shù)據(jù)和Ibeo數(shù)據(jù)的耗時,λ是參數(shù)。
同步完成后,就可以匹配兩個傳感器的障礙物塊信息,本文認定,與某個box有區(qū)域重疊的障礙物塊,即和該box成功匹配,這樣匹配的結果也有以下3種:
①沒有Velodyne檢測到的障礙物塊與之成功匹配的box,不作任何處理。
②沒有box與之成功匹配的Velodyne檢測到的障礙物塊,如圖9中的,也不作任何處理,仍然采用Velodyne的檢測結果作為最終結果。
③有box與之成功匹配的Velodyne檢測到的障礙物塊,如圖9中的和,它們都需要融合Velodyne和Ibeo數(shù)據(jù)得到最終運動狀態(tài),具體的融合方法見下節(jié)。
圖9 Velodyne數(shù)據(jù)和Ibeo數(shù)據(jù)匹配示意圖
4.2 傳感器數(shù)據(jù)融合
同步匹配完成后,采用置信距離理論對匹配成功的兩個傳感器數(shù)據(jù)進行融合,假設和分別是Velodyne數(shù)據(jù)計算得到的運動狀態(tài)和Ibeo輸出的運動狀態(tài),它們都服從高斯分布,某次測量它們得到的數(shù)據(jù)分別是和,則它們的概率密度函數(shù)見式(5)、(6):
最后對滿足輸出支持傳感器個數(shù)為2的傳感器數(shù)據(jù)按照式(12)進行融合,最終得到障礙物塊的運動狀態(tài)X,其中l(wèi)是滿足輸出支持傳感器個數(shù)為2的傳感器個數(shù)。
融合完成后,考慮到Velodyne數(shù)據(jù)采集處理耗時,動態(tài)障礙物的占據(jù)位置在這段時間內實際發(fā)生了變化,需要對這些占據(jù)位置進行修正。修正方式為,將動態(tài)障礙物列表中那些運動置信度大于上面設定值的障礙物塊的所有占據(jù)位置朝其速度方向平移距離S′,如圖10所示,S′的大小滿足式(13),其中v′是經(jīng)過融合后的障礙物塊運動速度.這些經(jīng)過融合、修正后的障礙物塊信息都更新存儲在動態(tài)障礙物列表中。
圖10 動態(tài)障礙物位置修正示意圖
5 合并動靜態(tài)障礙物占用柵格圖
經(jīng)過上面的步驟,得到了一個融合了Velodyne數(shù)據(jù)計算結果和Ibeo輸出結果的動態(tài)障礙物列表以及一張靜態(tài)障礙物占用柵格圖。在本文中,障礙物占用柵格圖作為無人駕駛汽車描述周圍環(huán)境的唯一方式,最后還要將動態(tài)障礙物的占用信息添加進來,參見Function3對靜態(tài)障礙物占用柵格圖進行處理即可得到最終的障礙物占用柵格圖。最終得到的這張障礙物占用柵格圖中不僅將動靜態(tài)障礙物進行了區(qū)別標示(靜態(tài)障礙物占用柵格標示為T=1,動態(tài)障礙物占用柵格標示為T=2),實現(xiàn)了動靜態(tài)障礙物的分割,而且消除了傳感器處理數(shù)據(jù)延時所帶來的動態(tài)障礙物位置偏差,更準確地對環(huán)境信息進行了描述。
6 實驗結果
6.1 實驗平臺及場景
本方法被應用到自主研發(fā)的無人駕駛汽車“智能先鋒”號上,在一個開放的城區(qū)環(huán)境中進行了大量的實車測試,如圖11所示。這個開放的城區(qū)環(huán)境南北長6800m,東西長2600m,其中存在著大量的機動車、非機動車以及行人,在這個真實駕駛環(huán)境的區(qū)域內測試了無人車對各種類型的動態(tài)障礙物的檢測性能。
圖11 無人駕駛汽車實車測試區(qū)域
另外,應用該方法的無人駕駛汽車參加了由國家自然科學基金委主辦的“中國智能車未來挑戰(zhàn)賽”,并取得了優(yōu)異的成績,見圖12。
圖12“智能先鋒”號在2012年“中國智能車未來挑戰(zhàn)賽”上成功檢測到運動車輛并完成超車
6.2 結果
在實驗和比賽中,“智能先鋒”號的一些參數(shù)設置如表1所示。
“智能先鋒”號用Velodyne和Ibeo對環(huán)境中的動靜態(tài)障礙物進行檢測,然后將檢測到的結果表示在障礙物占用柵格地圖上,如圖13所示,黑色方框為根據(jù)本車行駛狀態(tài)與環(huán)境信息自適應設定的聚類區(qū)域,進入到這個黑色方框內的動態(tài)障礙物都被成功檢測到,并區(qū)別于其它的靜態(tài)障礙物標示在柵格圖上,這兩個運動目標的檢測結果和實際結果對比如表2所示。
圖13 檢測到動態(tài)障礙物并表示在柵格圖上
表2顯示編號為0#的運動目標無論是速度大小
還是速度方向,其誤差都小于編號為2#的運動目標,因為0#運動目標正好處于Ibeo的檢測范圍內,其運動狀態(tài)信息是融合了Velodyne和Ibeo的數(shù)據(jù),而2#的狀態(tài)信息只來自Velodyne的數(shù)據(jù)處理結果。為了得到這兩種結果準確率之間具體差異,對一輛基本保持速度大小為30km/h、航向為180?(正南方向)的車輛分別用這兩種方式進行檢測,并且在實驗中,讓“智能先鋒”按照S形路線行駛,以測試無人駕駛汽車與目標障礙物運動方向在不同夾角下的檢測穩(wěn)定性,結果見圖14和圖15。
圖14 兩種檢測方式得到的速度大小對比圖
圖15 兩種檢測方式得到的速度方向對比圖
結果顯示,采用融合Velodyne和Ibeo信息得到運動目標狀態(tài)的方式相比于只用Velodyne處理結果的方式,檢測結果的準確率和穩(wěn)定性都得到了較大的提升.本方法對無人駕駛汽車前方關鍵區(qū)域采用前者方式進行動態(tài)障礙物檢測,對其它區(qū)域采用后者方式進行檢測,既合理地對傳感器進行了配置,又保證了無人駕駛汽車行駛的安全性。
7 結論
本文提出的應用于無人駕駛汽車的動態(tài)障礙物檢測及其表示方法,對傳感器進行了合理配置,采用3維激光傳感器Velodyne檢測大范圍環(huán)境中的動態(tài)障礙物信息,對于無人駕駛汽車前方關鍵區(qū)域,采用置信距離理論融合四線激光雷達Ibeo數(shù)據(jù)和Velodyne檢測結果來提高檢測準確率,并且根據(jù)障礙物的運動狀態(tài)消除傳感器數(shù)據(jù)處理延時所帶來的障礙物位置誤差,最終將動態(tài)障礙物和靜態(tài)障礙物區(qū)別標示于障礙物占用柵格圖上。大量的實驗以及自主研發(fā)的無人駕駛汽車在“中國智能車未來挑戰(zhàn)賽”中的優(yōu)異表現(xiàn)證明了本方法的可靠性。但是由于傳感器自身的局限性,在極其復雜的城市環(huán)境中,現(xiàn)有的檢測準確率仍然難以滿足要求,怎樣對傳感器進行更合理的配置以及提升檢測算法的有效性來進一步提高動態(tài)障礙物檢測準確率是下一步研究的重點。
推薦閱讀: