亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于TegraX1雷達數(shù)據(jù)的無人車障礙物檢測方法與流程

文檔序號:12457133閱讀:375來源:國知局
一種基于TegraX1雷達數(shù)據(jù)的無人車障礙物檢測方法與流程

本發(fā)明屬于無人駕駛領(lǐng)域,尤其涉及一種基于Tegra X1雷達數(shù)據(jù)的無人車障礙物檢測方法。



背景技術(shù):

近年來,隨著傳感器技術(shù)、控制系統(tǒng)、人工智能的不斷發(fā)展,地面移動機器人取得了很大的進步。在現(xiàn)實動態(tài)環(huán)境中,自主機器人在環(huán)境感知中能夠穩(wěn)定準確的檢測障礙物和識別障礙物類型,對于路徑規(guī)劃建立運動模型可以起到很大幫助,從而做出智能決策行為。通常自主機器人在環(huán)境中主要有兩大類動態(tài)物體:車輛和行人。對于車輛,在交通中是主要的交互對象,速度比較快,需要保持一定的安全距離,在交通規(guī)則允許的情況下需要選擇是跟車還是超車.對于行人,由于行人的運動具有很大的隨意性,需要保持較大的橫向距離,以確保行人安全。

利用安裝在智能車上的多傳感器系統(tǒng),比如攝像機、激光、毫米波雷達、GPS、慣導等獲取車輛前方的障礙物信息及本車的位置和姿態(tài)信息,然后在車載計算機上根據(jù)己建立的駕駛行為專家系統(tǒng)對這些信息進行處理,當本車與前方障礙物的相對距離小于安全距離時,有碰撞危險發(fā)生,則計算機會直接發(fā)出相應指令控制汽車減速甚至是剎車等動作。同時,通過傳感器系統(tǒng),智能車也能夠識別道路中的各種交通標志牌,車道邊緣線等,并利用決策層的指令實現(xiàn)超車,匯入車流等本車動作。因此,智能車大大提高了交通系統(tǒng)的安全性和效率。在可使用的傳感器中,Velodyne激光雷達由于其高精度測距、探測范圍大、抗干擾能力強等優(yōu)點,近年來在移動機器人上的應用越來越廣泛。但由于該雷達數(shù)據(jù)過大,處理算法的運算量極大,所以實時性較差,因此在復雜環(huán)境下,并不能及時將障礙物信息發(fā)送到?jīng)Q策。



技術(shù)實現(xiàn)要素:

針對激光雷達工程應用中實時性需求問題,本發(fā)明提供一種基于Tegra X1雷達數(shù)據(jù)的無人車障礙物檢測加速方法。

本發(fā)明的基本思想為根據(jù)Tegra X1計算平臺的特點,采用CPU+GPU協(xié)調(diào)工作的方法來進行雷達數(shù)據(jù)的加速處理。本發(fā)明結(jié)合激光雷達在智能車實際應用情況,將道路環(huán)境分為簡單道路環(huán)境和復雜道路環(huán)境。并在此基礎(chǔ)上,針對不同情況,對相應的算法進行優(yōu)化,實現(xiàn)雷達數(shù)據(jù)處理加速,提高了智能車雷達數(shù)據(jù)處理的實時性。

為現(xiàn)實上述目的,本發(fā)明采用如下的技術(shù)方案:

一種基于Tegra X1雷達數(shù)據(jù)的無人車障礙物檢測方法,包括以下步驟:

步驟1、采用velodyne激光雷達作為傳感器采集環(huán)境信息,通過NVIDIA Tegra X1移動處理器進行三維雷達數(shù)據(jù)轉(zhuǎn)換;

步驟2、基于柵格的障礙物檢測,采用GPU處理柵格數(shù)據(jù),包括三個步驟:

將三維數(shù)據(jù)點投影到柵格地圖上;

將所有柵格相對高度大于某個閾值的柵格設(shè)定為障礙物點;

濾去所有因柵格內(nèi)存在懸空點而導致屬性為障礙物的柵格。

作為優(yōu)選,采用向量化的方法將雷達點云數(shù)據(jù)投影到柵格地圖上,通過三維雷達數(shù)據(jù)轉(zhuǎn)換過程中,將轉(zhuǎn)換后的點云數(shù)據(jù)以float4的數(shù)據(jù)格式保存,以warp為處理單位并行獲取障礙信息。

本發(fā)明的方法與現(xiàn)有技術(shù)相比,有效的提高無人車障礙物檢測的實時性,有如下特點:

1、根據(jù)Tegra X1 arm和GPU之間訪存帶寬,我們利用pinned memory來降低了CPU與GPU之間的傳輸消耗。

2、在簡單道路環(huán)境的障礙物檢測上,我們采用一個線程處理一個柵格的方法來處理雷達數(shù)據(jù),對比工控機的雷達處理性能有了6~7倍的提升。

3、在復雜道路環(huán)境的障礙物檢測上,我們采用一個線程束處理一個柵格的方法來處理雷達數(shù)據(jù),對比工控機的雷達處理性能有了5~6倍的提升。

附圖說明

圖1為本發(fā)明無人車障礙物檢測方法的流程圖;

圖2為柵格投影流程圖;

圖3為pinned memory和pageable memory帶寬對比圖;

圖4為柵格屬性判斷流程圖;

圖5為thread處理柵格流程圖;

圖6為warp處理柵格流程圖。

具體實施方式

本發(fā)明提供一種基于Tegra X1雷達數(shù)據(jù)的無人車障礙物檢測方法,采用velodyne激光雷達作為傳感器采集環(huán)境信息,搭載NVIDIA Tegra X1移動處理器,實現(xiàn)無人車障礙物檢測。為更進一步說明本發(fā)明在技術(shù)內(nèi)容,創(chuàng)新點效果好,以下結(jié)合實施方式并配合附圖詳細說明。

如圖1所示,本發(fā)明方法分為兩個步驟:1、三維雷達數(shù)據(jù)轉(zhuǎn)換2、障礙物檢測

由于三維雷達數(shù)據(jù)轉(zhuǎn)換過程中,擁有著較多的復雜邏輯處理和事務管理,因此該過程不適合放入GPU中進行運算。因此本發(fā)明通過使用NVIDIA Tegra X1 arm處理器來處理該過程。

由于雷達點云數(shù)據(jù)量非常大(約130萬個點/秒),不太適合直接在原始數(shù)據(jù)上進行處理。因此采用在國內(nèi)外無人自主車系統(tǒng)中廣泛采用的柵格處理方法來處理雷達點云數(shù)據(jù)。

基于柵格的障礙物檢測分為三個步驟:

1、柵格投影

2、柵格屬性判斷

3、柵格濾波

柵格投影是將三維數(shù)據(jù)點投影到柵格地圖上,其具體算法流程如圖2所示。本發(fā)明采用向量化的方法將雷達點云數(shù)據(jù)投影到柵格地圖上。通過三維雷達數(shù)據(jù)轉(zhuǎn)換過程中,將轉(zhuǎn)換后的點云數(shù)據(jù)以float4的數(shù)據(jù)格式保存。從而可以通過單指令多數(shù)據(jù)的方法將雷達點云數(shù)據(jù)投影到柵格地圖上,提高arm處理器的處理性能。通過分析柵格數(shù)據(jù),可知柵格之間毫無依賴關(guān)系,即有良好的并行性,因此采用GPU處理柵格數(shù)據(jù)。

在寫內(nèi)核函數(shù)之前,需要考慮GPU與CPU之間的傳輸效率的問題。host內(nèi)存分為pageable memory和pinned memory兩種。pageable memory是通過操作系統(tǒng)API(malloc(),new())分配的存儲器空間;pinned memory始終存在于物理內(nèi)存中,不會被分配到低速的虛擬內(nèi)存中,能夠通過DMA加速與設(shè)備端進行通信。相比于pageable memory,在pinned memory上主機端-設(shè)備端的數(shù)據(jù)傳輸帶寬高。如圖3所示,在Tegra X1上,傳輸32MB的數(shù)據(jù),在pinned memory上GPU與CPU的傳輸是pageable memory上GPU與CPU的傳輸?shù)?~6倍。而且Tegra X1還支持zero-copy功能,通過該方法將主機端內(nèi)存映射到設(shè)備地址空間,從GPU直接訪問,省掉主存與顯存間進行數(shù)據(jù)拷貝的工作。因此,本發(fā)明與傳統(tǒng)的方法所不同的是,我們結(jié)合Tegra X1的特性,將柵格地圖建立在pinned memory上,來降低傳輸消耗。

在完成柵格投影之后,需要進行的是柵格屬性判斷、柵格濾波兩個步驟。柵格屬性判斷是將所有柵格現(xiàn)對高度(柵格最高點減去最低點)大于某個閾值的柵格設(shè)定為障礙物點。其具體算法流程如圖4所示。柵格濾波是濾去所有因柵格內(nèi)存在懸空點而導致屬性為障礙物的柵格。傳統(tǒng)的方法是先完成所有柵格完成屬性判斷后,再進行柵格濾波的任務。本發(fā)明對其進行了改進,去掉了傳統(tǒng)方法中存在的排序過程,將其改為求極值的問題。其次本發(fā)明將采用的是將柵格判斷和柵格濾波合并為一項任務,在結(jié)合GPU運算的特點,使得柵格不需要等待所以柵格都完成柵格判斷后再進行柵格濾波,從而提高處理性能。

GPU采用SIMT(Signal Instruction Multiple Thread,單指令多數(shù)據(jù))編程模型,其調(diào)度和執(zhí)行的基本單位是warp。其最終執(zhí)行時間由執(zhí)行時間最長的線程決定。因此本發(fā)明將道路環(huán)境分為兩種即簡單道路環(huán)境和復雜道路環(huán)境。

在簡單的道路環(huán)境中,由于道路障礙物數(shù)量少,所以三維點投影在柵格地圖的個數(shù)比較均衡。所以當采用一個線程處理一個柵格的方法來處理柵格數(shù)據(jù),warp內(nèi)線程的負載較為均衡,處理性能較高。其次本發(fā)明在求極值的過程中,通過減少條件分支,來減少動態(tài)指令,從而提高處理性能。使用?:語句代替if...else...語句是減少動態(tài)指令的主要方式。其具體算法流程如圖5所示。在該道路環(huán)境上,本發(fā)明的處理方法對比工控機的雷達處理方法的性能有了6~7倍的提升。

在復雜的道路環(huán)境中,由于障礙物數(shù)量多,所以三維點投影在柵格地圖的個數(shù)極度不均衡,因此當采用一個線程處理一個柵格的方法來處理柵格數(shù)據(jù),warp內(nèi)線程的負載極度不均衡,處理性能不高。針對這種情況,本發(fā)明采用了粗粒度并行的方法,選擇warp作為基本并行執(zhí)行單元和任務分配單位即一個warp處理一個柵格。warp內(nèi)的所有線程將協(xié)同完成分配給warp的計算任務。在求柵格的極值時,本發(fā)明通過使用Shuffle技術(shù),取代一個線程處理一個柵格所需的單指令序列,增加有效帶寬和減少延遲。其次將處理完的數(shù)據(jù)放入共享內(nèi)存中,用一個warp來存放結(jié)果,能有效的減少對全局內(nèi)存的訪問。其具體算法流程如圖6所示。在該道路環(huán)境上,本發(fā)明的處理方法對比工控機的雷達處理方法的性能有了6~7倍的提升。

本發(fā)明通過CPU與GPU的協(xié)同工作實現(xiàn)了雷達數(shù)據(jù)在NVIDIA Tegra TX1移動處理器上的加速處理。算法加速的過程需要根據(jù)算法特點,設(shè)計實現(xiàn)到底層硬件架構(gòu)特征的高效映射。Tegra X1整合了四顆Cortex-A57核心和四顆Cortex-A53核心,同時Tegra X1擁有256采用Maxwell架構(gòu)的GPU,這就需要在程序優(yōu)化過程中,不僅要考慮算法特性,而且還要考慮底層硬件架構(gòu)的特征,最終還需要完成這兩種特征的高效映射,才能實現(xiàn)基于Tegra X1雷達數(shù)據(jù)處理的加速。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1