国产乱精品一区二区三区_韩国一级特黄的一级毛片_日本精品视频在线播放_欧美熟妇淫乱视频_欧美日韩在线视频中文字幕_亚洲国产精品一区久_永久免费看擁有海量影視資源_人成无码区免费aⅤ片_午夜电影在线观看国产1区_777免费视频在线观看软件

路徑規(guī)劃(九)快速行進(jìn)樹(FMT *)

標(biāo)簽: 函數(shù) 工具箱 建模 算法

王昊 2023-01-05 15:21:19

9.1 原理

        FMT*算法專門針對(duì)解決高維構(gòu)型空間中的復(fù)雜運(yùn)動(dòng)規(guī)劃問(wèn)題,它是為高密度障礙物的環(huán)境構(gòu)建的算法。該算法被證明是漸近最優(yōu)的,并且比同類型算法(RRT*)更快收斂到最優(yōu)解。FMT*算法在預(yù)先確定的概率繪制的樣本數(shù)量上執(zhí)行“惰性”動(dòng)態(tài)規(guī)劃遞歸,以生長(zhǎng)路徑樹,該路徑樹在成本到達(dá)空間中穩(wěn)定地向外移動(dòng)。

        FMT*的最終產(chǎn)物是一棵樹,它在連續(xù)空間中獲取一批樣本,然后它能在圖中使用惰性的動(dòng)態(tài)編程搜索該樣本集合,并以此找到路徑,這也是一個(gè)漸進(jìn)最優(yōu)的解決方案,F(xiàn)MT*相比于RRT*的加速效果優(yōu)勢(shì)在高維和碰撞檢查很昂貴的情況下尤其突出。很棒的一點(diǎn)是,F(xiàn)MT*是從起始位置開始構(gòu)建,而不是像RRT*是在空間的任意位置采點(diǎn),因?yàn)檫@可能會(huì)得到非常遠(yuǎn)的點(diǎn)或非常近的點(diǎn),這有什么好處呢?這意味著你不必在樹中回溯以進(jìn)行重布線,因?yàn)檫@在計(jì)算上效率低下。FMT*比RRT*更好,因?yàn)樗鼊?chuàng)建的連接接近最佳,沒有重布線。

        FMT*算法在預(yù)先確定的采樣點(diǎn)數(shù)量上執(zhí)行前向動(dòng)態(tài)規(guī)劃遞歸,并相應(yīng)地通過(guò)在代價(jià)到達(dá)空間中穩(wěn)步向外移動(dòng)生成路徑樹。FMT*執(zhí)行動(dòng)態(tài)規(guī)劃遞歸,其特點(diǎn)有三個(gè)關(guān)鍵特征:

·它是為磁盤連接圖量身定制的,其中兩個(gè)樣本的距離低于給定的界限(稱為連接半徑)則這兩個(gè)樣本被認(rèn)為是鄰居,因此是可連接的。

·它同時(shí)執(zhí)行圖構(gòu)造和圖搜索。

·為了評(píng)估動(dòng)態(tài)規(guī)劃遞歸中的即時(shí)成本,算法“懶惰地”忽略了障礙物的存在,每當(dāng)與新樣本的局部最優(yōu)(假設(shè)沒有障礙物)連接與障礙物相交時(shí),該樣本就會(huì)簡(jiǎn)單地跳過(guò)并留待以后,而不是在鄰域中尋找其他連接。

注意:

FMT*的樣本點(diǎn)是提前生成好的,然后把這些點(diǎn)固定,再利用這些固定好的點(diǎn)來(lái)生成行進(jìn)樹,注意區(qū)別于RRT*那一套,RRT*是生成隨機(jī)點(diǎn)的同時(shí),生成行進(jìn)樹。


9.2 算法思路

6e3c06625691e472c8e875cc83c0ab6.png

56d1dcda9b61e02341a65610f6202c4.png

2111541661d9c989601e46b8546fc74.png4bec2eb17266b1f23ccd64ab6edd08c.png

72e2de5029f6e72bcc88b57f77537a9.png

3d4ac04e7d4a46fc0ebe337e642ead0.pngcedc4c2bc357bf433ae994f1686f7e6.png84f0399d889d19a62787f2cb431635c.png

上圖(a)是RRT*添加新節(jié)點(diǎn)的某一步,上圖(b)(c)是FMT*添加新節(jié)點(diǎn)的某一步。

        先看RRT*,節(jié)點(diǎn)9是新考慮的節(jié)點(diǎn),它在第一次重布線時(shí),需要從它的所有鄰居節(jié)點(diǎn)中找出一個(gè)父節(jié)點(diǎn),使得節(jié)點(diǎn)9到達(dá)起始節(jié)點(diǎn)的cost最小,因此節(jié)點(diǎn)9需要計(jì)算它到4、5、6、8號(hào)節(jié)點(diǎn)的距離并同時(shí)進(jìn)行碰撞檢測(cè),因此,第一次重布線過(guò)程就要求待加入的節(jié)點(diǎn)對(duì)它的所有鄰居節(jié)點(diǎn)進(jìn)行一次碰撞檢測(cè),第二次重布線過(guò)程也需要計(jì)算距離和碰撞檢測(cè),但這在第一次重布線過(guò)程中做過(guò)了,可以記錄先來(lái)直接利用,因此第二次重布線過(guò)程碰撞檢測(cè)這一步可以不用重復(fù)進(jìn)行,因此,總的來(lái)說(shuō),RRT*每新加入一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)需要對(duì)它的所有鄰居節(jié)點(diǎn)進(jìn)行一次碰撞檢測(cè)。

        再看FMT*,上圖(b)(c)中的x就是新考慮的節(jié)點(diǎn),在圖(b)中,x需計(jì)算它到集合V_open中所有的鄰居節(jié)點(diǎn)的cost,但不需要進(jìn)行碰撞檢測(cè),從中選擇一個(gè)能使它到達(dá)初始節(jié)點(diǎn)總cost最小的節(jié)點(diǎn)作為它的父節(jié)點(diǎn),然后,對(duì)它和這個(gè)父節(jié)點(diǎn)的連線進(jìn)行碰撞檢測(cè),如果能通過(guò)碰撞檢測(cè),則加入x,若不能,則下一個(gè)x,因此,總的來(lái)說(shuō),F(xiàn)MT*每新加入一個(gè)節(jié)點(diǎn),永遠(yuǎn)只需要進(jìn)行一次碰撞檢測(cè)。

FMT*比RRT*每新加入一個(gè)節(jié)點(diǎn)需要進(jìn)行的碰撞檢測(cè)次數(shù)少得多,而且FMT*也是漸進(jìn)最優(yōu)的,這就是FMT*相比于RRT*的優(yōu)勢(shì)所在。


9.3 偽碼

4cab8ba2ee22d9c9470d1c3b835a37c.png


9.4 程序示例

下圖中的 圓圈代表提前采好的隨機(jī)點(diǎn)

bc64101b0bcfdbaa770be7e3190679e.png


9.5 參考

Fast Marching Tree: a Fast Marching Sampling-Based Method for Optimal Motion Planning in Many Dimensions?


回復(fù)

回復(fù)

重置 提交