畢業(yè)設(shè)計(jì)論文網(wǎng)站開發(fā)需要多少附近哪里有計(jì)算機(jī)培訓(xùn)班
歡迎大家關(guān)注我的B站:
偷吃薯片的Zheng同學(xué)的個(gè)人空間-偷吃薯片的Zheng同學(xué)個(gè)人主頁-嗶哩嗶哩視頻 (bilibili.com)
目錄
1.基于圓覆蓋
2.BVH
3.MATLAB自動(dòng)駕駛工具箱?
4 ROS內(nèi)置的模型
自動(dòng)駕駛軌跡規(guī)劃之碰撞檢測(一)-CSDN博客
自動(dòng)駕駛軌跡規(guī)劃之碰撞檢測(二)-CSDN博客
大家可以先閱讀前兩篇關(guān)于碰撞檢測算法的介紹?
1.基于圓覆蓋
圓的性質(zhì)是圓心到圓周各點(diǎn)等距,這非常適合碰撞檢測,如果兩個(gè)物體能近似為圓,那么兩個(gè)物體之間是否碰撞,則可以利用兩個(gè)圓心之間的距離是否大于半徑之和就可以判斷,但是大部分物體若用圓去近似將產(chǎn)生較大的冗余部分,因此針對汽車,一篇2010年的IEEE IV提出通過多個(gè)圓去覆蓋車輛,這個(gè)方法極大地提高了自動(dòng)駕駛汽車碰撞檢測的計(jì)算速度,也是現(xiàn)在廣泛使用的方法
但是這個(gè)方法仍舊會產(chǎn)生冗余,并且改變覆蓋圓的個(gè)數(shù)難以解決這個(gè)問題,因?yàn)闄M向和縱向上的冗余是此消彼長的關(guān)系,并且我個(gè)人認(rèn)為汽車最容易發(fā)生碰撞的位置其實(shí)是汽車的四個(gè)角落,但是這種方法在那個(gè)地方?jīng)]有安全距離,如果在圓的半徑上補(bǔ)充安全距離,會導(dǎo)致其他地方的冗余距離更大,因此這個(gè)方法對于非常狹窄的空間還是不適用的
2.BVH
BVH為層次包圍盒,通過遞歸地形式將碰撞檢測的任務(wù)分解,當(dāng)大包圍盒之間有碰撞,則檢測子包圍盒之間有沒有碰撞,這能夠同時(shí)提升碰撞檢測的精度和速度,但是基于BVH的碰撞檢測取決于待檢測物體的形狀,每個(gè)基元都應(yīng)該預(yù)先計(jì)算并存儲在陣列中。
BVH的一個(gè)較好應(yīng)用可以看這個(gè)視頻,這篇論文實(shí)現(xiàn)了同時(shí)提升自動(dòng)駕駛汽車碰撞檢測的精度和速度,能夠良好地應(yīng)用于狹窄的自主泊車中
ITSC2023 | 碰撞檢測 | 一種在狹窄空間內(nèi)自動(dòng)駕駛汽車自主泊車時(shí)的快速準(zhǔn)確的碰撞檢測方法
3.MATLAB自動(dòng)駕駛工具箱?
在MATLAB中也實(shí)現(xiàn)了基于圓覆蓋的碰撞檢測算法,同時(shí)碰撞檢測通過柵格地圖實(shí)現(xiàn),詳細(xì)內(nèi)容可以參考官方給出的自動(dòng)駕駛工具箱的相關(guān)文檔
Costmap representing planning space around vehicle - MATLAB - MathWorks 中國
4 ROS內(nèi)置的模型
對于ROS中的碰撞檢測,很多參加智能車或電賽的同學(xué)可能比較熟悉,但其實(shí)也存在不少誤區(qū),有時(shí)候不是調(diào)參調(diào)不出來,而是沒有真正理解這些參數(shù)的意義
robot_radius:設(shè)置機(jī)器人的半徑,單位是米。如果你的機(jī)器人不是圓形的那就需要使用footprint這個(gè)參數(shù),該參數(shù)是一個(gè)列表,其中的每一個(gè)坐標(biāo)代表機(jī)器人上的一點(diǎn),設(shè)置機(jī)器人的中心為[0,0],根據(jù)機(jī)器人不同的形狀,找到機(jī)器人各凸出的坐標(biāo)點(diǎn)即可,具體可參考下圖來設(shè)置:
inflation_layer:膨脹層,用于在障礙物外標(biāo)記一層危險(xiǎn)區(qū)域,在路徑規(guī)劃時(shí)需要避開該危險(xiǎn)區(qū)域
- 當(dāng)你選用了footprint,那么膨脹層就沒有意義了,因?yàn)橹挥心闶菆A形的,障礙物才能進(jìn)行有意義的閔可夫斯基和運(yùn)算
- 同時(shí)footprint是利用多邊形計(jì)算代價(jià),在耗算力,如果為了節(jié)省算力,可以用圓,冗余的部分當(dāng)做緩沖就行
- 如果你發(fā)現(xiàn)怎么調(diào)膨脹距離都會碰,因?yàn)榕蛎泴觾H在圓形時(shí)有效,因此為了使用有安全距離的footprint,必須直接擴(kuò)大footprint
通過下圖來認(rèn)識下為何要設(shè)置膨脹層以及意義:
雖然我提到footprint情況下膨脹層沒用,但是對于全局路徑規(guī)劃,ROS中默認(rèn)機(jī)器人為質(zhì)點(diǎn),這時(shí)候膨脹層非常有用,假如你全局路徑規(guī)劃貼邊走,那么對于實(shí)際機(jī)器人完全是碰撞的,這時(shí)候就需要膨脹障礙物了