娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

簡述自動駕駛路徑規劃的常用算法

發布者:Huayu8888最新更新時間:2024-12-16 來源: elecfans關鍵字:自動駕駛  路徑規劃  常用算法 手機看文章 掃描二維碼
隨時隨地手機看文章

自動駕駛自誕生那天起,其志向便已立下,成為熟知城市每一處道路的“老司機”,成為乘客更安全、更舒適、更高效出行的“守護神”。在搞錢撈錢的大背景下,這個無私追求樸素得令人敬畏。 在自動駕駛的分工中,決策規劃將承擔上述志向實現的大部分工作,也因此被毫不吝嗇的稱為自動駕駛的大腦。決策規劃這塊網上已經有數量眾多的優秀科普文章,但他們都沒有長成《十一號組織》的樣子。抱著將所有自動駕駛知識都“擼一遍”的偉大理想,我決定用兩萬字簡述決策規劃的常用算法。

01 概述

1. 1 自動駕駛系統分類

自動駕駛系統沒有嚴謹的分類,但行業內普遍喜歡將自動駕駛系統區別為模塊化的和端到端的,圖1所示為兩者系統的原理框圖對比。

dfc7daec-bf46-11ed-bfe3-dac502259ad0.png

圖1 模塊化和端到端自動駕駛系統原理簡圖


1.1.1 模塊化自動駕駛系統

這是最經典也是業界采用最多的一種自動駕駛系統,也是最簡明清爽的一種結構,其作用是實時地求解出連續的控制輸出使得自動駕駛車輛可以安全地由初始位置行駛到目標位置。基于模塊化的思想,將自動駕駛系統劃分為三層:環境感知層、決策規劃層和控制執行層。每一層還可以劃分為不同的模塊,每個模塊還可以劃分為不同的子模塊……。

環境感知層就像是人的眼睛和耳朵,負責對外部環境進行感知并將感知結果送入決策規劃層。決策規劃層就像是人的大腦,在接收到感知信息后進行分析、決策,并生成加減速、變道、直行等控制命令。控制執行層就像人的雙手和雙腳,在接收到控制命令后控制執行器完成加速、轉向等操作。 模塊化自動駕駛系統中每一層都是關鍵和核心。但從實現自動駕駛功能的角度,環境感知層是基礎,決策規劃層是核心,控制執行層是保障。作為核心的決策規劃層帶著自動駕駛往“更安全、更舒適、更高效”的道路上狂奔,畢竟小小的失誤小則影響乘坐舒適性、通行效率,大則影響人身財產安全。

在模塊化自動駕駛系統中,不同團隊負責不同的模塊,可以實現更好的分工合作,從而提高開發效率。同時團隊內部可以對負責的模塊進行充分的評估,了解各模塊的性能瓶頸所在,從而讓我們能對最后的0.1%的不足有更清晰的認知,技術的迭代、更新。

缺點就是整個系統非常復雜、龐大、需要人工設計成百上千個模塊。二是對車載硬件計算能力要求高,如果越來越多的子模塊采用深度學習網絡,這將帶來災難性的計算需求爆炸。基于模塊化的自動駕駛系統,我們可能花10%的時間就實現了99.9%的問題,但我們還需要花90%的時間去解決最后0.1%的不足。 這個系統的難度之大,已經遠超一家公司的能力范圍,需要一個協作的生態。

1.1.2 端到端自動駕駛系統

術語端到端(End to End)來源于深度學習,指的是算法直接由輸入求解出所需的輸出,即算法直接將系統的輸入端連接到輸出端。2016年NVIDIA將端到端的深度學習技術應用在自動駕駛汽車之后,端到端自動駕駛迅速捕獲圈內一眾大佬的芳心,各種demo更是層出不窮。 所謂端到端自動駕駛是指車輛將傳感器采集到的信息(原始圖像數據、原始點云數據等),直接送入到一個統一的深度學習神經網絡,神經網絡經過處理之后直接輸出自動駕駛汽車的駕駛命令(方向盤轉角、方向盤轉速、油門踏板開度、制動踏板開度等)。

2016年NVIDIA發表了論文《End to End Learning for Self-Driving Cars》,拉開了端到端自動駕駛內卷的序幕。 論文首先展示了訓練數據的采集系統,如圖2所示。論文中只涉及了車道保持功能,因此訓練數據也只對攝像機的視頻數據和人類駕駛員操作方向盤的角度數據進行了采集。

e0007528-bf46-11ed-bfe3-dac502259ad0.png

圖2 數據采集系統框圖 三架攝像機安裝在采集車的擋風玻璃后面,并按照左中右依次布置,這樣布置是為了捕獲完整的前向路面信息。一臺NVIDIA DRIVETM PX被用來作為采集車的計算單元。攝像機生成的每一幀視頻數據(30FPS)都與人類駕駛員的轉向角度進行時間同步。 采集車最終在各式道路以及多樣照明和天氣條件組合下采集了72小時的駕駛數據。訓練數據包含視頻采樣得到的單一圖像,搭配相應的轉向命令。

但是只有來自人類駕駛員的正確數據是不足以完成訓練的,神經網絡還必須學習如何從任何錯誤中恢復,否則自動駕駛汽車就將慢慢偏移道路。因此訓練數據還擴充了額外的圖像,這些圖像顯示了遠離車道中心的偏離程度以及不同道路方向上的轉動。兩個特定偏離中心的變化圖像可由左右兩個攝像機捕獲。 訓練數據準備完畢之后,將其送入一個卷積神經網絡(CNN),訓練系統框圖如圖3所示。

e016f00a-bf46-11ed-bfe3-dac502259ad0.png

圖3 訓練系統框圖 CNN計算一個被推薦的轉向命令,這個被推薦的轉向命令會與該圖像的期望命令相比較,CNN權重就會被調整以使其實際輸出更接近期望輸出。在這個框架中,只要提供足夠的訓練數據,即人類駕駛員駕駛攜帶有攝像頭的車輛累計駕駛大量的里程,再加上人為創造系統的“極限”道路狀態——偏離道路線的各種工況,CNN就會得到充分的訓練,而變得足夠強大。 一旦訓練完成,網絡就能夠從單中心攝像機(single center camera)的視頻圖像中生成轉向命令,圖4展示了這個配置。

e04cf326-bf46-11ed-bfe3-dac502259ad0.png

圖4 訓練過的網絡用于從單中心前向攝像機中生成轉向命令

在端到端自動駕駛中,沒有人工設計的繁復規則,只需要極少的來自人類的訓練數據,深度學習神經網絡就會學會駕駛。且不用關心有沒有高精地圖覆蓋、此時是行駛在高速主干路還是城區道路、道路上車道線有沒有缺失等。 相比模塊化自動駕駛系統,端到端自動駕駛系統設計難度低,硬件成本小,還能借助數據的多樣性獲得不同場景下的泛用性。各方面條件得天獨厚,從理論層面看堪稱自動駕駛的終極夢想。

然而端到端深度學習神經網絡是一個完完全全的黑盒子,不具解釋分析性,可靠性、靈活性差,工程師們沒有辦法對它進行系統化的解釋分析,而是只能依靠推測和實驗進行調整。最終帶來的結果是安全難以得到保障,而自動駕駛最最關注的恰是安全。

比如端到端自動駕駛系統下汽車做出一個汽車減速左轉的行動,工程師們無法確定這是因為汽車看到行人,還是因為看到較遠處的紅燈。但是,在模塊化的自動駕駛系統下,由于多個識別系統嵌套,相對好理解到底汽車所做的每一個舉動背后的邏輯。

這也意味著,如果端到端系統出現問題時,工程師們并不能對其對癥下藥,做出合理的應對。更多情況下甚至只能簡單向模型灌注更多的數據,希冀它能在進一步的訓練中“自行”解決問題。這也會大大降低端到端自動駕駛系統原本開發簡單的優勢。

1.2 決策規劃分層架構

決策規劃的任務,就是在對感知到的周邊物體的預測軌跡的基礎上,結合結合自動駕駛車輛的和當前位置,對車輛做出最合理的決策和控制。 正如人的大腦又分為左腦和右腦、并負責不同的任務一樣,模塊化自動駕駛系統中決策規劃層也可以繼續細分為執行不同任務的子層。而這一分層設計最早其實是源自2007年舉辦的DAPRA城市挑戰賽,比賽中多數參賽隊伍都將自動駕駛系統的決策規劃方式包括三層:全局路徑規劃層(Route Planning)、行為決策層(Behavioral Layer)和運動規劃層(Motion Planning),如圖5所示。

e064d608-bf46-11ed-bfe3-dac502259ad0.png

圖5決策規劃分層架構

全局路徑規劃層聚焦在相對頂層的路徑規劃,聚焦在分鐘到小時級別的規劃。該層在接收到輸入的目的地信息后,基于存儲的地圖信息搜索出一條自起始點至目標點的一條可通過的路徑。如圖6所示,在藍色起點和黃色終點之間,黑色就是搜索出來的一條可通行的路徑,當然路徑不止一條,如何搜索出最優是下文將要介紹的內容。

在全局路徑規劃的時候,也可以基于地圖精度和豐富度,提前考慮道路曲率半徑、坡度等信息,來避免搜索出部分參數超出ODD要求的全局路徑。但是高度隨機的交通參與者、高度動態的交通流以及高度復雜的道路結構,全局路徑規劃是無法考慮周到的,因此還需要基于具體的行為決策進行后面的運動規劃,也就是局部路徑規劃。

行為決策層在收到全局路徑后,結合感知環境信息、交通規則信息、車輛狀態信息、駕駛場景信息等,推導判斷下一分鐘或下一秒時刻的情況,作出車道保持、車輛跟隨、車道變換和制動避撞等的適合當前交通環境的駕駛行為。如圖7所示,自車在檢測到前方存在低速行駛車輛,且右側車道滿足變道條件后,作出向右變道的駕駛行為決策。

運動規劃層也被稱為局部路徑規劃層,與全局路徑規劃聚焦在分鐘到小時級別的規劃不同,運動規劃聚焦在毫秒級到秒級的規劃。規劃的時候,根據輸入的行為決策信息、結合車輛實時位姿信息、局部環境信息、全局路徑參考信息等,在“安全、舒適、效率”的精神引領下,規劃生成一條滿足特定約束條件的平滑軌跡軌跡(包括行駛軌跡、速度、方向等),并輸入給控制執行層。 如圖8所示,在車輛收到行為決策層的左變道指令后,主車基于各種信息規劃出幾條可行的路徑,如何規劃出最優的路徑也是下文要介紹的內容。

全局路徑規劃與運動規劃作為兩個層級的不同規劃,現將其特點匯總為表1。

表1 全局路徑規劃與運動規劃特點對比

e0f517c2-bf46-11ed-bfe3-dac502259ad0.png

02 全局路徑規劃常用算法

正菜之前,我們先來了解一下圖(包括有向圖和無向圖)的概念。圖是圖論中的基本概念,用于表示物體與物體之間存在某種關系的結構。在圖中,物體被稱為節點或頂點,并用一組點或小圓圈表示。節點間的關系稱作邊,可以用直線或曲線來表示節點間的邊。

如果給圖的每條邊規定一個方向,那么得到的圖稱為有向圖,其邊也稱為有向邊,如圖9所示。在有向圖中,與一個節點相關聯的邊有出邊和入邊之分,而與一個有向邊關聯的兩個點也有始點和終點之分。相反,邊沒有方向的圖稱為無向圖。

e10da3e6-bf46-11ed-bfe3-dac502259ad0.png

圖9 有向圖示例

數學上,常用二元組G =(V,E)來表示其數據結構,其中集合V稱為點集,E稱為邊集。對于圖6所示的有向圖,V可以表示為{A,B,C,D,E,F,G},E可以表示為{,,,,,,}。表示從頂點A發向頂點B的邊,A為始點,B為終點。

在圖的邊中給出相關的數,稱為權。權可以代表一個頂點到另一個頂點的距離、耗費等,帶權圖一般稱為網。

在全局路徑規劃時,通常將圖10所示道路和道路之間的連接情況,通行規則,道路的路寬等各種信息處理成有向圖,其中每一個有向邊都是帶權重的,也被稱為路網(Route Network Graph)。

那么,全局路徑的規劃問題就變成了在路網中,搜索到一條最優的路徑,以便可以盡快見到那個心心念念的她,這也是全局路徑規劃算法最樸素的愿望。而為了實現這個愿望,誕生了Dijkstra和A*兩種最為廣泛使用的全局路徑搜索算法。

2.1Dijkstra算法

戴克斯特拉算法(Dijkstra’s algorithm)是由荷蘭計算機科學家Edsger W. Dijkstra在1956年提出,解決的是有向圖中起點到其他頂點的最短路徑問題。

假設有A、B、C、D、E、F五個城市,用有向圖表示如圖11,邊上的權重代表兩座城市之間的距離,現在我們要做的就是求出起點A城市到其它城市的最短距離。

e22faf6c-bf46-11ed-bfe3-dac502259ad0.png

圖11 五個城市構建的有向圖

用Dijkstra算法求解步驟如下:

(1)創建一個二維數組E來描述頂點之間的距離關系,如圖12所示。E[B][C]表示頂點B到頂點C的距離。自身之間的距離設為0,無法到達的頂點之間設為無窮大。

e24cf52c-bf46-11ed-bfe3-dac502259ad0.png

圖12 頂點之間的距離關系

(2)創建一個一維數組Dis來存儲起點A到其余頂點的最短距離。一開始我們并不知道起點A到其它頂點的最短距離,一維數組Dis中所有值均賦值為無窮大。接著我們遍歷起點A的相鄰頂點,并將與相鄰頂點B和C的距離3(E[A][B])和10(E[A][C])更新到Dis[B]和Dis[C]中,如圖13所示。這樣我們就可以得出起點A到其余頂點最短距離的一個估計值。

e26361d6-bf46-11ed-bfe3-dac502259ad0.png

圖13 Dis經過一次遍歷后得到的值

(3)接著我們尋找一個離起點A距離最短的頂點,由數組Dis可知為頂點B。頂點B有兩條出邊,分別連接頂點C和D。因起點A經過頂點B到達頂點C的距離8(E[A][B] + E[B][C] = 3 + 5)小于起點A直接到達頂點C的距離10,因此Dis[C]的值由10更新為8。同理起點A經過B到達D的距離5(E[A][B] + E[B][D] = 3 + 2)小于初始值無窮大,因此Dis[D]更新為5,如圖14所示。

e270aff8-bf46-11ed-bfe3-dac502259ad0.png

圖14Dis經過第二次遍歷后得到的值

(4)接著在剩下的頂點C、D、E、F中,選出里面離起點A最近的頂點D,繼續按照上面的方式對頂點D的所有出邊進行計算,得到Dis[E]和Dis[F]的更新值,如圖15所示。

e281502e-bf46-11ed-bfe3-dac502259ad0.png

圖15 Dis經過第三次遍歷后得到的值

(5)繼續在剩下的頂點C、E、F中,選出里面離起點A最近的頂點C,繼續按照上面的方式對頂點C的所有出邊進行計算,得到Dis[E]的更新值,如圖16所示。

e2922656-bf46-11ed-bfe3-dac502259ad0.png

圖16 Dis經過第四次遍歷后得到的值

(6)繼續在剩下的頂點E、F中,選出里面離起點A最近的頂點E,繼續按照上面的方式對頂點E的所有出邊進行計算,得到Dis[F]的更新值,如圖17所示。

e2a3814e-bf46-11ed-bfe3-dac502259ad0.png

圖17 Dis經過第五次遍歷后得到的值

(7)最后對頂點F所有點出邊進行計算,此例中頂點F沒有出邊,因此不用處理。至此,數組Dis中距離起點A的值都已經從“估計值”變為了“確定值”。

基于上述形象的過程,Dijkstra算法實現過程可以歸納為如下步驟:

(1)將有向圖中所有的頂點分成兩個集合P和Q,P用來存放已知距離起點最短距離的頂點,Q用來存放剩余未知頂點。可以想象,一開始,P中只有起點A。同時我們創建一個數組Flag[N]來記錄頂點是在P中還是Q中。對于某個頂點N,如果Flag[N]為1則表示這個頂點在集合P中,為1則表示在集合Q中。

(2)起點A到自己的最短距離設置為0,起點能直接到達的頂點N,Dis[N]設為E[A][N],起點不能直接到達的頂點的最短路徑為設為∞。

(3)在集合Q中選擇一個離起點最近的頂點U(即Dis[U]最小)加入到集合P。并計算所有以頂點U為起點的邊,到其它頂點的距離。例如存在一條從頂點U到頂點V的邊,那么可以通過將邊U->V添加到尾部來拓展一條從A到V的路徑,這條路徑的長度是Dis[U]+e[U][V]。如果這個值比目前已知的Dis[V]的值要小,我們可以用新值來替代當前Dis[V]中的值。

(4)重復第三步,如果最終集合Q結束,算法結束。最終Dis數組中的值就是起點到所有頂點的最短路徑。

2.2A*算法

1968年,斯坦福國際研究院的Peter E. Hart, Nils Nilsson以及Bertram Raphael共同發明了A*算法。A*算法通過借助一個啟發函數來引導搜索的過程,可以明顯地提高路徑搜索效率。

下文仍以一個實例來簡單介紹A*算法的實現過程。如圖18所示,假設小馬要從A點前往B點大榕樹底下去約會,但是A點和B點之間隔著一個池塘。為了能盡快提到達約會地點,給姑娘留下了一個守時踏實的好印象,我們需要給小馬搜索出一條時間最短的可行路徑。

A*算法的第一步就是簡化搜索區域,將搜索區域劃分為若干柵格。并有選擇地標識出障礙物不可通行與空白可通行區域。一般地,柵格劃分越細密,搜索點數越多,搜索過程越慢,計算量也越大;柵格劃分越稀疏,搜索點數越少,相應的搜索精確性就越低。

如圖19所示,我們在這里將要搜索的區域劃分成了正方形(當然也可以劃分為矩形、六邊形等)的格子,圖中藍色格子代表A點(小馬當前的位置),紫色格子代表B點(大榕樹的位置),灰色格子代表池塘。同時我們可以用一個二維數組S來表示搜素區域,數組中的每一項代表一個格子,狀態代表可通行和不可通行。

e33082c4-bf46-11ed-bfe3-dac502259ad0.png

圖19 經過簡化后的搜索區域

接著我們引入兩個集合OpenList和CloseList,以及一個估價函數F = G + H。OpenList用來存儲可到達的格子,CloseList用來存儲已到達的格子。G代表從起點到當前格子的距離,H表示在不考慮障礙物的情況下,從當前格子到目標格子的距離。F是起點經由當前格子到達目標格子的總代價,值越小,綜合優先級越高。

G和H也是A*算法的精髓所在,通過考慮當前格子與起始點的距離,以及當前格子與目標格子的距離來實現啟發式搜索。對于H的計算,又有兩種方式,一種是歐式距離,一種是曼哈頓距離。

歐式距離用公式表示如下,物理上表示從當前格子出發,支持以8個方向向四周格子移動(橫縱向移動+對角移動)。

e342c5ce-bf46-11ed-bfe3-dac502259ad0.png

曼哈頓距離用公式表示如下,物理上表示從當前格子出發,支持以4個方向向四周格子移動(橫縱向移動)。這是A*算法最常用的計算H值方法,本文H值的計算也采用這種方法。

e358a858-bf46-11ed-bfe3-dac502259ad0.png

現在我們開始搜索,查找最短路徑。首先將起點A放入到OpenList中,并計算出此時OpenList中F值最小的格子作為當前方格移入到CloseList中。由于當前OpenList中只有起點A這個格子,所以將起點A移入CloseList,代表這個格子已經檢查過了。

接著我們找出當前格子A上下左右所有可通行的格子,看它們是否在OpenList當中。如果不在,加入到OpenList中計算出相應的G、H、F值,并把當前格子A作為它們的父節點。本例子,我們假設橫縱向移動代價為10,對角線移動代價為14。

我們在每個格子上標出計算出來的F、G、H值,如圖20所示,左上角是F,左下角是G,右下角是H。通過計算可知S[3][2]格子的F值最小,我們把它從OpenList中取出,放到CloseList中。

e36a6250-bf46-11ed-bfe3-dac502259ad0.png

圖20 第一輪計算后的結果

接著將S[3][2]作為當前格子,檢查所有與它相鄰的格子,忽略已經在CloseList或是不可通行的格子。如果相鄰的格子不在OpenList中,則加入到OpenList,并將當前方格子S[3][2]作為父節點。

已經在OpenList中的格子,則檢查這條路徑是否最優,如果非最優,不做任何操作。如果G值更小,則意味著經由當前格子到達OpenList中這個格子距離更短,此時我們將OpenList中這個格子的父節點更新為當前節點。

對于當前格子S[3][2]來說,它的相鄰5個格子中有4個已經在OpenList,一個未在。對于已經在OpenList中的4個格子,我們以它上面的格子S[2][2]舉例,從起點A經由格子S[3][2]到達格子S[2][2]的G值為20(10+10)大于從起點A直接沿對角線到達格子S[2][2]的G值14。顯然A經由格子S[3][2]到達格子S[2][2]不是最優的路徑。當把4個已經在OpenList 中的相鄰格子都檢查后,沒有發現經由當前方格的更好路徑,因此我們不做任何改變。

對于未在OpenList的格子S[2][3](假設小馬可以斜穿墻腳),加入OpenList中,并計算它的F、G、H值,并將當前格子S[3][2]設置為其父節點。經歷這一波騷操作后,OpenList中有5個格子,我們需要從中選擇F值最小的那個格子S[2][3],放入CloseList中,并設置為當前格子,如圖21所示。

e37727ec-bf46-11ed-bfe3-dac502259ad0.png

圖21第二輪計算后的結果

重復上面的故事,直到終點也加入到OpenList中。此時我們以當前格子倒推,找到其父節點,父節點的父節點……,如此便可搜索出一條最優的路徑,如圖22中紅色圓圈標識。

e3894c6a-bf46-11ed-bfe3-dac502259ad0.png

圖22 最后計算得到的結果

基于上述形象的過程,A*算法實現過程可以歸納為如下步驟:

(1)將搜索區域按一定規則劃分,把起點加入OpenList。

(2)在OpenList中查找F值最小的格子,將其移入CloseList,并設置為當前格子。

(3)查找當前格子相鄰的可通行的格子,如果它已經在OpenList中,用G值衡量這條路徑是否更好。如果更好,將該格子的父節點設置為當前格子,重新計算F、G值,如果非更好,不做任何處理;如果不在OpenList中,將它加入OpenList中,并以當前格子為父節點計算F、G、H值。

(4)重復步驟(2)和步驟(3),直到終點加入到OpenList中。

2.3兩種算法比較

Dijkstra算法的基本思想是“貪心”,主要特點是以起點為中心向周圍層層擴展,直至擴展到終點為止。通過Dijkstra算法得出的最短路徑是最優的,但是由于遍歷沒有明確的方向,計算的復雜度比較高,路徑搜索的效率比較低。且無法處理有向圖中權值為負的路徑最優問題。

A*算法將Dijkstra算法與廣度優先搜索(Breadth-First-Search,BFS)算法相結合,并引入啟發函數(估價函數),大大減少了搜索節點的數量,提高了搜索效率。但是A*先入為主的將最早遍歷路徑當成最短路徑,不適用于動態環境且不太適合高維空間,且在終點不可達時會造成大量性能消耗。

圖24是兩種算法路徑搜索效率示意圖,左圖為Dijkstra算法示意圖,右圖為A*算法示意圖,帶顏色的格子表示算法搜索過的格子。由圖23可以看出,A*算法更有效率,手術的格子更少。

e3c35158-bf46-11ed-bfe3-dac502259ad0.png

圖23 Dijkstra算法和A*算法搜索效率對比圖(圖片來源:https://mp.weixin.qq.com/s/myU204Uq3tfuIKHGD3oEfw)

03 行為決策常用算法

作為L4級自動駕駛的優秀代表Robotaxi,部分人可能已經在自己的城市欣賞過他們不羈的造型,好奇心強烈的可能都已經體驗過他們的無人“推背”服務。作為一個占有天時地利優勢的從業人員,我時常在周末選一個人和的時間,叫個免費Robotaxi去超市買個菜。

剛開始幾次乘坐,我的注意力全都放在安全員的雙手,觀察其是否在接管;過了一段時間,我的注意力轉移到中控大屏,觀察其夢幻般的交互方式;而現在,我的注意力轉移到了智能上,觀察其在道路上的行為決策是否足夠聰明。 而這一觀察,竟真總結出不少共性問題。比如十字路口左轉,各家Robotaxi總是表現的十分小心謹慎,人類司機一腳油門過去的場景,Robotaxi總是再等等、再看看。且不同十字路口同一廠家的Robotaxi左轉的策略基本一致,完全沒有人類司機面對不同十字路口、不同交通流、不同天氣環境時的“隨機應變”。

面對復雜多變場景時自動駕駛行為決策表現出來的小心謹慎,像極了人類進入一個新環境時采取的猥瑣發育策略。但在自動駕駛終局到來的那天,自動駕駛的決策規劃能否像人類一樣,在洞悉了人情社會的生活法則之后,做到“見人說人話”、“見人下飯”呢? 在讓自動駕駛車輛的行為決策變得越來越像老司機的努力過程中,主要誕生了基于規則和基于學習的兩大類行為決策方法。



關鍵字:自動駕駛  路徑規劃  常用算法 引用地址:簡述自動駕駛路徑規劃的常用算法

上一篇:如何選擇汽車攝像頭模塊的電源
下一篇:求一種SEANTEC新能源汽車電磁屏蔽定制化解決方案

推薦閱讀最新更新時間:2025-04-15 18:53

掃地機器人該如何進行路徑規劃?需要解決什么問題?
路徑規劃技術是掃地機器人研究的核心內容之一,機器人定位與環境地圖構建就是為路徑規劃服務的。所謂機器人路徑規劃技術,就是機器人根據自身對環境的感知,自行規劃出一條安全的運行路線,同時高效完成作業任務。 通常,移動機器人路徑規劃需要解決3個問題: 1)使機器人能從初始位置運動到目標位置; 2)用一定的算法使機器人能繞開障礙物,并且經過某些必須經過的點完成相應的作業任務; 3)在完成以上任務的前提下,盡量優化機器人運行軌跡。 移動機器人的路徑規劃根據其目的的不同可以分為兩種,一種是傳統的點到點的路徑規劃,另一種就是完全遍歷路徑規劃。 點到點的路徑規劃是一種從起始點到終點的運動策略,它要求尋找一條從始點到終點的最
[機器人]
移動機器人路徑規劃算法研究及仿真平臺的設計與實現
一、項目介紹 1、項目來源: 當移動機器人處在一個簡單或復雜、靜態或動態、已知或未知的環境中時,機器人的首要任務是感知環境,避開障礙物,然后以最小或較小的消耗(時間、空間或者能量)完成自己的任務,這個過程的基礎所在就是路徑規劃。所謂路徑規劃是指按照一定的性能指標,機器人如何從所處的環境中搜索到一條從初始位置開始的實現其自身目的最優或次優路徑。路徑規劃是機器人研究中的重要領域,通常路徑規劃包括兩個層面的意思:一個是關節機器人空間的路徑規劃;另外一個是移動機器人路徑規劃。前者具有較多的自由度,現在較多的應用于工業機器人中;而后者在近十年來的發展極為迅猛,其研究內容也更為廣闊。我們選取后者作為研究內容。 ? 實際上,移動
[嵌入式]
NVIDIA 自動駕駛安全的四大支柱
本文節選自NVIDIA(英偉達)近期發布了《自動駕駛安全報告》,該報告概述了NVIDIA的自動駕駛汽車技術,在安全架構、協同設計軟硬件、設計工具和方法論的獨特貢獻,以及實現最高級別可靠性和安全性的最佳實踐。 NVIDIA提供統一的硬件與軟件架構,貫穿自動駕駛汽車研究、設計和部署基礎設施的整個過程。提供的技術旨在解決實現安全自動駕駛汽車所必需的四大支柱。 支柱 1:AI 設計與實施平臺 支柱 2:面向深度學習的開發基礎設施 支柱 3:用于自動駕駛汽車開發的物理精準傳感器仿真 支柱 4:卓越的全方位安全和網絡安全計劃 支柱 1: AI 設計與實施平臺 NVID
[汽車電子]
自動駕駛感知系統常用方案
自動駕駛汽車是汽車電子、智能控制以及互聯網等技術發展融合的產物,其原理為自動駕駛系統利用感知系統,獲取車輛自身以及外界環境信息,經過計算系統分析信息、做出決策,控制執行系統實現車輛加速、減速或轉向,從而在無需駕駛員介入的情況下,完成自動行駛。 2013年,美國國家公路交通安全管理局(NHTSA)根據輔助控制系統的自動化功能,將自動駕駛技術分為0~4級,如下圖所示。從下圖可了解到,自動駕駛的發展升級是從輔助駕駛到主宰駕駛,從提供單一功能、應對簡單場景,到可掌控所有場合,完全解放駕駛人。期間感知系統需不斷提高獲取周邊環境信息的全面性、準確性和高效性,它是自動駕駛的基礎,也是貫穿升級的核心部分。 本文將介紹自動駕駛感知系統常用方
[嵌入式]
<font color='red'>自動駕駛</font>感知系統常用方案
智能駕駛大模型:有望顯著提升自動駕駛系統的性能和魯棒性
智能駕駛大模型是近年來人工智能領域和自動駕駛領域最為前沿的研究方向之一,它融合了深度學習、多模態融合、世界模型構建等多種技術,有望顯著提升自動駕駛系統的性能和魯棒性。 01 Transformer架構和端到端 Transformer架構是近年來神經網絡領域最具突破性的成果之一,它在自然語言處理、計算機視覺等領域取得了巨大成功。 Transformer架構擅長建模遠距離依賴關系,能夠有效關聯多種模態的信息并合成為統一形式的信號,且其性能通常隨著參數量的擴大而大幅提升。 ●在智能駕駛領域,Transformer架構被廣泛應用于感知、預測和決策等各個環節。 ●在感知環節,Transformer架構可以用于構建多模態融合的感
[嵌入式]
智能駕駛大模型:有望顯著提升<font color='red'>自動駕駛</font>系統的性能和魯棒性
保護自動駕駛汽車(AV)控制電路
關鍵任務子系統必須高可靠性,以確保駕駛員和乘客安全。 圖1 AV攝像機子系統中的電路塊(圖2)。 攝像機電源子系統需要保護以防止過電流,高能量瞬變和靜電放電 雙通道二極管陣列保護CAN收發器線路(圖3) 圖4 以太網收發器的推薦ESD保護 雷達子系統電路同時具有低噪聲和常規直流電源(圖5) TVS和肖特基二極管為ADAS通信/控制電路提供浪涌和反極性保護(圖6) 除非車輛的電子電路具有高度的可靠性和抗電沖擊能力,否則自動駕駛汽車(AV)所提供的安全性和便利性無法實現。 通過提供過電流保護,瞬態浪涌保護,靜電放電(ESD)保護和反極性保護,設計人員可以大大降低電路故障的風險。 電路保護的策略應從三個關鍵任務的
[嵌入式]
保護<font color='red'>自動駕駛</font>汽車(AV)控制電路
自動駕駛各傳感器各有什么優劣勢呢
一、各傳感器的優劣勢 1.激光雷達:優點:一般情況下精度準確、360度的感知范圍、3維數據(相對于相機具有深度信息)缺點:成本高昂、數據量大、無序且稀疏(對于單個物體而言,其數據點更少,類似于一張具有深度信息低分辨率的廣角照片) 2.相機優點:紋理細節豐富、成本低廉缺點:易受光照影響、沒有深度信息 3.毫米波雷達:優點:在特殊場景下(雨霧天氣)相對Lidar抗干擾能力強;基于多普勒效應的探測原理能捕捉到一定運動信息;長波長(毫米波)能夠檢測到一些corner場景下的目標缺點:精度較低(以點云表達后,數據稀疏且高度信息費城不準;對相對靜止的物體檢測效果差,并非所有靜止物體 4.紅外相機:夜視場景,是優點也是局限二、解決方案沒有詳細調
[嵌入式]
<font color='red'>自動駕駛</font>各傳感器各有什么優劣勢呢
自動駕駛傳感器前處理介紹
攝像頭前處理流程 ?自動駕駛HDR:為適應自動駕駛所處的高動態范圍環境,先進的圖像傳感器采用同時多曝光和/或拆分像素設計。組合不同曝光可將固有動態范圍(80-100dB)擴展至目標動態范圍(120-140dB或更高)。 ?攝像頭或攝像模塊:由圖像傳感器、顏色濾波陣列、鏡頭、外殼及可選前處理組成的傳感器系統。 ?色彩濾波陣列(CFA):應用于圖像傳感器的光學元件,形成特定顏色像素模式,通常以2x2單個顏色指定,如紅、綠、藍、黃、青等。常見例子有RGGB(Bayer)、RCCC、RCCB、RYYCy。 ?計算機視覺(CV)前處理:用于增強傳統CV算法效果的具體處理,如光流、Harris角點檢測等。 ?圖像傳感器:收集光線并輸出數字像素
[嵌入式]
小廣播
最新嵌入式文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 丰城市| 迭部县| 海伦市| 鹤山市| 洪江市| 高尔夫| 永兴县| 绥阳县| 玉田县| 郑州市| 桓仁| 栖霞市| 陇川县| 松原市| 淮阳县| 同仁县| 宣化县| 云和县| 南平市| 罗田县| 博乐市| 容城县| 巴林右旗| 大悟县| 荆州市| 镇平县| 南岸区| 华阴市| 两当县| 西乌| 运城市| 聂荣县| 施甸县| 徐州市| 库伦旗| 宿迁市| 介休市| 仁布县| 拜城县| 剑川县| 晴隆县|