91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自動駕駛中基于圖搜索的常用路徑規(guī)劃算法介紹

汽車工程師 ? 來源:智車科技 ? 作者:智車科技 ? 2021-04-25 18:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

自動駕駛汽車從A點行駛到B點,需要軌跡規(guī)劃算法來進行全局規(guī)劃,而具體都有哪些算法呢?這篇文章想和大家分享一下一類最常用的軌跡規(guī)劃算法,基于圖搜索的規(guī)劃算法。

在開始介紹圖搜索算法之前,先簡單介紹一下自動駕駛中的規(guī)劃問題:規(guī)劃模塊處于自動駕駛軟件框架中的中間位置,其接收感知、定位、地圖發(fā)來的上游信息,輸出一條安全、平穩(wěn)、舒適的軌跡給到控制模塊,因此起到了一個承上啟下的作用,可以說是影響自動駕駛中舒適性及安全性最重要的一環(huán)。而傳統(tǒng)意義上的規(guī)劃問題可以分為兩個步驟。

前端負(fù)責(zé)粗粒度的路徑查找,搜索出一條可行路徑;后端負(fù)責(zé)細(xì)粒度的軌跡生成,生成出一條控制模塊可以很好執(zhí)行的平滑軌跡。而這篇文章想要探討的,就是前端路徑搜索中一種最常用的方法,基于圖搜索的路徑規(guī)劃算法。

圖搜索基礎(chǔ)

圖是數(shù)據(jù)結(jié)構(gòu)中非常重要的一個概念,包含了節(jié)點和邊。在自動駕駛中,通??梢詫⒌貓D存儲為柵格地圖,每一格就代表了圖的節(jié)點,格與格之間的連線就代表了邊。

上圖展示了一種無向圖,即節(jié)點之間的連線是沒有指向的。而在實際場景中,往往每條邊(道路)不僅僅需要考慮距離信息,還需要考慮方向信息、路口擁堵情況、車流量等等,因此自動駕駛中往往構(gòu)建的為有向圖、權(quán)重圖等等。除此之外,合理地對自動駕駛場景下的地圖進行分割也是保證規(guī)劃效果的一個很重要的基礎(chǔ),不能分割太密集導(dǎo)致規(guī)劃搜索的效率太低,也不能太粗略從而導(dǎo)致某些場景下明明存在可行解卻無法搜索到。 構(gòu)建完圖之后,具體的規(guī)劃過程其實就是一個搜索的過程,即如何在給定起點及終點的條件下快速搜索出一條滿足期望的最優(yōu)路徑。在代碼實現(xiàn)上,整個過程需要維護一個容器(container),具體的操作分為三個步驟:移除、擴展、塞入,以此不停循環(huán),直至搜索到終點。下面介紹幾種最常用的搜索算法。

搜索算法DFS & BFS

了解了圖搜索的基礎(chǔ)之后,接下來介紹兩種最基礎(chǔ)的搜索算法:深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)。深度優(yōu)先顧名思義,從起點開始,按照某個順序一條路走下去,直至不能再繼續(xù)為止,然后回到上一節(jié)點,再換另一條路走下去;而廣度優(yōu)先則是每一步都擴展同一層的所有可能節(jié)點,一層一層擴展下去,直到某一層搜索到終點為止。可以看到深度優(yōu)先搜索的過程是一條路走到底后,最后訪問的節(jié)點最先拿來處理,整個過程可以用棧(stack)來表示,符合“后進先出”的原則;而廣度優(yōu)先搜索的過程是一層中先訪問的節(jié)點拿來處理,可以用隊列(queue)來表示,符合“先進先出”的原則。

那對于搜索算法來說,哪一種算法好一些呢?可以看下下面這張圖,相同的場景下,BFS可以給出一條最短路徑,而DFS雖然速度很快,但隨機性很大,無法給出一條最優(yōu)路徑,這一缺陷使得我們不得不拋棄DFS,目前的主流基于圖搜索的規(guī)劃算法,原理其實都是基于BFS延伸出來的。

但是BFS其實也有一個很嚴(yán)重的問題,就是其遍歷的無效節(jié)點過多,從而導(dǎo)致搜索效率太慢,上面左圖中的深灰色格點就展示了在搜索過程中,所需要訪問的節(jié)點,可以看出大多數(shù)的訪問其實都是無用的,不能給最終的搜索提供任何幫助。針對這一缺陷,就引入了Heuristic Search(啟發(fā)式搜索),即加入終點信息,從而使得搜索的目標(biāo)更明確,避免過多的無效搜索。而基于這一改進提出的算法就是GBFS(Greedy Breath-First Search)。

BFS和DPS是根據(jù)先入或者后入的順序來選擇要處理的節(jié)點,之中不考慮任何終點相關(guān)的信息,而GBFS則是將與終點的距離考慮進來,構(gòu)造一個規(guī)則來挑選依次要訪問的節(jié)點。與終點的距離有多種形式,最常用的三種為Euclidean Distance、Manhattan Distance以及Diagonal Distance。

舉個例子,在實現(xiàn)BFS算法時,上圖中起點周圍的8個鄰居節(jié)點會一起存儲進容器中,由于右上角的節(jié)點距離終點更近,因此再彈出時首先彈出該節(jié)點,基于該節(jié)點再進行擴展,從而加快了搜索效率。從下圖中可以看出,算法過程中所訪問的節(jié)點減少了很多,搜索的目標(biāo)性更加明確,從而極大提升了搜索效率。

Dijkstra算法和A*算法

有了上面的基礎(chǔ),理解路徑規(guī)劃中的Dijkstra和A*算法就很容易了。Dijkstra算法其實BFS的進階版,其可以用于處理帶權(quán)重邊的地圖,因此更適合在實際場景中使用。在該算法中,通常采用優(yōu)先隊列(priority queue)來作為訪問容器,這是由于優(yōu)先隊列(《key, value》這種形式)可以根據(jù)設(shè)定的key值自動進行排序,在Dijkstra中key值可以設(shè)定為和起點的距離,由于沒考慮和終點的距離信息,因此還不能顯示出優(yōu)先隊列的優(yōu)勢,但之后的A*算法里可以看出利用這種結(jié)構(gòu)的方便性。Dijkstra算法的偽代碼如下圖所示:

A*算法和Dijkstra算法的唯一區(qū)別就在于優(yōu)先隊列中排序的依據(jù)不同,即key值不同。不同于Dijkstra,A*在存儲節(jié)點時,還會考慮和終點的距離(可以類比GBFS之于BFS),其key值計算可以表示為:

278f66ee-a4b7-11eb-aece-12bb97331649.png

其中即為Heuristic Function,有了這個指向信息,A*算法可以更快地找到終點,避免了許多的無效搜索。其偽代碼如下圖所示:

這里我們可以看出優(yōu)先隊列的優(yōu)勢了,我們只需要每次計算的值并將其存儲進優(yōu)先隊列,它就會自動根據(jù)其值進行排序,因此每次就可以取出容器的頂部值即為的最小值。在同一場景下,它們的實際效果如下圖所示,可以看出由于A*避免了許多無效節(jié)點的訪問,效率提升很多。 而這又引出了另一個問題,Dijkstra由于無差別的搜索可以保證最短路徑,A*帶有強指向型的搜索方式,能保證結(jié)果最優(yōu)嗎?這其實取決于A*的啟發(fā)函數(shù)設(shè)定,為了保證最優(yōu)性,需要保證啟發(fā)函數(shù)是admissible的,即啟發(fā)函數(shù)的值需要小于等于實際上該點到終點的距離。

27ce5df4-a4b7-11eb-aece-12bb97331649.png

如果啟發(fā)式函數(shù)是admissible的,那么A*的最終搜索結(jié)果就是最優(yōu)的。其實這也很好理解,因為如果啟發(fā)函數(shù)的選擇實際上大于到終點的實際距離,那么依據(jù)該規(guī)則進行的排序搜索,必然會漏掉距離最短的那條路。因此如果我們需要A*給出最短路徑的話,我們可以將啟發(fā)函數(shù)設(shè)定為歐式距離或者對角距離,而不是曼哈頓距離。

以上就是基于圖搜索的常用路徑規(guī)劃算法介紹,歡迎大家交流指正。

原文標(biāo)題:技術(shù)|自動駕駛規(guī)劃算法解析——圖搜索篇

文章出處:【微信公眾號:汽車工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    39856

    瀏覽量

    301506
  • 自動駕駛
    +關(guān)注

    關(guān)注

    794

    文章

    14890

    瀏覽量

    180003

原文標(biāo)題:技術(shù)|自動駕駛規(guī)劃算法解析——圖搜索篇

文章出處:【微信號:e700_org,微信公眾號:汽車工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    自動駕駛端到端為什么會出現(xiàn)黑盒現(xiàn)象?

    自動駕駛領(lǐng)域,端到端(End-to-End)是指從感知環(huán)境的原始數(shù)據(jù)到車輛實際控制指令,全部交給一個統(tǒng)一的深度學(xué)習(xí)模型來完成。這和傳統(tǒng)的模塊化自動駕駛系統(tǒng)不一樣,模塊化自動駕駛系統(tǒng)會先識別道路和障礙物,再做行為預(yù)測,再
    的頭像 發(fā)表于 02-20 09:25 ?9293次閱讀
    <b class='flag-5'>自動駕駛</b>端到端為什么會出現(xiàn)黑盒現(xiàn)象?

    純視覺自動駕駛的優(yōu)勢和劣勢有哪些?

    [首發(fā)于智駕最前沿微信公眾號]最近有很多小伙伴在后臺詢問純視覺自動駕駛的優(yōu)劣,純視覺自動駕駛以其低成本、高冗余的技術(shù)路徑,正成為自動駕駛現(xiàn)階段主要的一個發(fā)展方向。但它由于在多個場景下的
    的頭像 發(fā)表于 01-18 09:50 ?2158次閱讀
    純視覺<b class='flag-5'>自動駕駛</b>的優(yōu)勢和劣勢有哪些?

    如何設(shè)計自動駕駛傳感器失效檢測與容錯策略?

    對于自動駕駛汽車而言,傳感器是它感知世界的窗口。攝像頭負(fù)責(zé)采集環(huán)境圖像,毫米波雷達和激光雷達則用于測量周圍物體的位置和速度,而GNSS(全球?qū)Ш叫l(wèi)星系統(tǒng))與慣性測量系統(tǒng)可提供車輛的定位信息。這些數(shù)據(jù)經(jīng)過融合處理之后,自動駕駛系統(tǒng)才能判斷周圍環(huán)境、
    的頭像 發(fā)表于 01-10 10:33 ?2657次閱讀

    規(guī)劃模塊在自動駕駛系統(tǒng)主要干了啥事?

    規(guī)劃模塊在自動駕駛系統(tǒng)主要用來執(zhí)行決定“行駛路徑”與“行駛方式”的任務(wù)。它接收來自定位、感知、地圖、預(yù)測等模塊的信息,進行綜合處理后,制定出一條既符合法規(guī)、保障安全,又盡可能舒適高效
    的頭像 發(fā)表于 12-13 12:07 ?2278次閱讀

    VLA能解決自動駕駛的哪些問題?

    、語言表達和動作控制這三者整合到一個統(tǒng)一的模型框架。 與傳統(tǒng)自動駕駛系統(tǒng)將感知、預(yù)測、規(guī)劃、控制拆解為多個獨立模塊的做法不同,VLA可以縮短“看見什么”和“如何行動”之間的鴻溝,構(gòu)建一個能直接將視覺輸入和語言描述映射到具體動作
    的頭像 發(fā)表于 11-25 08:53 ?498次閱讀
    VLA能解決<b class='flag-5'>自動駕駛</b><b class='flag-5'>中</b>的哪些問題?

    語言模型是否是自動駕駛的必選項?

    [首發(fā)于智駕最前沿微信公眾號]自動駕駛的發(fā)展并非一成不變,在傳統(tǒng)自動駕駛系統(tǒng),通常采用分層的體系架構(gòu)。最底層是感知層,負(fù)責(zé)將攝像頭、雷達、激光雷達等傳感器數(shù)據(jù)轉(zhuǎn)化為車輛能夠“看到”的環(huán)境信息;其上
    的頭像 發(fā)表于 11-14 16:23 ?3669次閱讀
    語言模型是否是<b class='flag-5'>自動駕駛</b>的必選項?

    無引導(dǎo)線的左轉(zhuǎn)場景下,自動駕駛如何規(guī)劃軌跡?

    對于很多新手司機來說,在無引導(dǎo)線左轉(zhuǎn)的場景,開車會非常謹(jǐn)慎,但依舊會很好地處理好這一操作。但對于自動駕駛汽車來說,其行駛需要有較為明顯的參考線,在沒有白色虛線、沒有箭頭感知“我的車道在哪兒”的交通
    的頭像 發(fā)表于 09-18 09:12 ?762次閱讀
    無引導(dǎo)線的左轉(zhuǎn)場景下,<b class='flag-5'>自動駕駛</b>如何<b class='flag-5'>規(guī)劃</b>軌跡?

    邊聊安全 | 高效信息管理模塊:支持自動駕駛安全的數(shù)據(jù)庫解決方案

    的危害事件。ISO21448標(biāo)準(zhǔn)涵蓋了感知、規(guī)劃和控制系統(tǒng)的驗證和確認(rèn),確保車輛在安全性和可靠性方面表現(xiàn)優(yōu)異。尤其是規(guī)劃算法的有效性,直接影響自動駕駛
    的頭像 發(fā)表于 09-05 16:19 ?8389次閱讀
    邊聊安全 | 高效信息管理模塊:支持<b class='flag-5'>自動駕駛</b>安全的數(shù)據(jù)庫解決方案

    三坐標(biāo)測量機路徑規(guī)劃與補償技術(shù):核心算法解析

    三坐標(biāo)測量的微米級精度背后,是精密的路徑規(guī)劃算法與實時補償技術(shù)在保駕護航。三坐標(biāo)測量機的智能避撞算法保障了測量的安全與高效;溫度補償技術(shù)消除了環(huán)境的無形干擾;點云智能處理則讓海量數(shù)據(jù)蛻變?yōu)榫珳?zhǔn)的工程
    的頭像 發(fā)表于 08-01 14:15 ?1619次閱讀
    三坐標(biāo)測量機<b class='flag-5'>路徑</b><b class='flag-5'>規(guī)劃</b>與補償技術(shù):核心<b class='flag-5'>算法</b>解析

    低速自動駕駛與乘用車自動駕駛在技術(shù)要求上有何不同?

    [首發(fā)于智駕最前沿微信公眾號]自動駕駛技術(shù)的發(fā)展正朝著多元化方向邁進,其中低速自動駕駛小車(以下簡稱“低速小車”)因其在物流配送、園區(qū)運維、社區(qū)服務(wù)等場景的獨特價值而受到廣泛關(guān)注,且現(xiàn)階段已經(jīng)深入
    的頭像 發(fā)表于 07-14 09:10 ?1048次閱讀
    低速<b class='flag-5'>自動駕駛</b>與乘用車<b class='flag-5'>自動駕駛</b>在技術(shù)要求上有何不同?

    自動駕駛汽車是如何準(zhǔn)確定位的?

    [首發(fā)于智駕最前沿微信公眾號]隨著自動駕駛技術(shù)的快速發(fā)展,車輛的精準(zhǔn)定位成為安全駕駛路徑規(guī)劃的核心基礎(chǔ)。相比于傳統(tǒng)人類駕駛依賴路標(biāo)和視覺判
    的頭像 發(fā)表于 06-28 11:42 ?1280次閱讀
    <b class='flag-5'>自動駕駛</b>汽車是如何準(zhǔn)確定位的?

    AGV小車的動態(tài)路徑規(guī)劃算法揭秘

    在現(xiàn)代倉儲、物流和制造業(yè),自動導(dǎo)引車(AGV)的身影日益普遍。它們?nèi)缤趧诘墓は?,在?fù)雜的環(huán)境自主穿梭,高效地完成物料搬運任務(wù)。而支撐AGV實現(xiàn)智能導(dǎo)航的核心技術(shù)之一,便是路徑
    的頭像 發(fā)表于 06-17 15:54 ?1719次閱讀
    AGV小車<b class='flag-5'>中</b>的動態(tài)<b class='flag-5'>路徑</b><b class='flag-5'>規(guī)劃算法</b>揭秘

    新能源車軟件單元測試深度解析:自動駕駛系統(tǒng)視角

    焦點是否落在目標(biāo)物體上。某自動駕駛公司借此發(fā)現(xiàn)模型在夜間過度關(guān)注路燈而非行人。 ? 實時性保障: ?時間感知測試框架(TAF)注入時間戳探針,監(jiān)控函數(shù)執(zhí)行耗時。例如,某路徑規(guī)劃算法因內(nèi)存泄漏導(dǎo)致響應(yīng)
    發(fā)表于 05-12 15:59

    具身智能工業(yè)機器人路徑規(guī)劃算法成為破局關(guān)鍵

    在工業(yè)4.0與智能制造深度融合的今天,傳統(tǒng)路徑規(guī)劃算法已難以滿足動態(tài)生產(chǎn)環(huán)境的需求。面對復(fù)雜場景下的高精度避障、實時決策與多任務(wù)協(xié)同挑戰(zhàn),具身智能工業(yè)機器人路徑規(guī)劃算法成為破局關(guān)鍵。作
    的頭像 發(fā)表于 03-28 15:01 ?1061次閱讀