色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Lattice Planner規劃算法

YB7m_Apollo_Dev ? 來源:未知 ? 作者:李倩 ? 2018-09-05 14:14 ? 次閱讀

人類在駕駛時面對不同的路況會有不同的解決方案,自動駕駛系統也是如此。而決策規劃就如大腦進行狀況預測。這一預測過程涵蓋了路況分析、行為決策、動作規劃和反饋控制等多重內容,同時還要重視安全和舒適兩大要點,進而構成了自動駕駛系統的核心部分。

想要同時兼顧這些條件并不容易,當前在業界關于決策規劃也并沒有成熟統一的解決方案。但一些優秀的規劃算法卻可以很好的完成這些任務。比如Lattice Planner,遵循先采樣后選擇的邏輯,依據從安全性、舒適性和交規抽象出的cost函數來保障軌跡的平滑。

上周,來自百度Apollo的高級研發工程師許珂誠,在Apollo開發者社群內分享了有關Lattice Plannner的內容,幫助開發者更加了解Apollo核心算法的邏輯與細節。

Lattice Planner 總體概覽

Lattice算法隸屬于規劃模塊。規劃模塊以預測模塊、Routing模塊、高精地圖和定位的結果作為輸入,通過算法,輸出一條平穩、舒適、安全的軌跡,交給控制模塊去執行。我們可以看到,規劃模塊在Apollo中是一個承上啟下的重要模塊。

這是Apollo中規劃模塊的工作流程。首先是依據Routing和定位,通過平滑算法,生成一條平滑的參考線(平滑的道路中心線)。再通過規劃算法,生成一條符合交規,安全舒適的規劃軌跡。那么Lattice算法就是Apollo開源平臺中,其中的一種規劃算法。

一個合格規劃算法,必須滿足幾個條件。首先,必須能夠使自動駕駛汽車到達目的地;其次,必須符合交規;第三,能夠避免碰撞;最后,也需要能保證一定的舒適性。在Apollo中,規劃算法的輸出是一系列軌跡點連成的軌跡。每一個軌跡點包含位置,速度,加速的等信息

2Lattice 規劃算法的工作流程

下面介紹一下Lattice規劃算法的工作流程。我們以右圖中的場景為例。其中紅車是我們的自動駕駛汽車,藍車是其他障礙車,前面藍色帶尖頭的曲線是藍車的預測軌跡。那么這是一個前方即將有車輛并入的場景。

面對這樣的場景,有些司機會按照右圖中淺紅色的軌跡,選擇繞開藍色的障礙車。另外有一些司機開車相對保守,會沿著右圖中深紅色較短的軌跡做一個減速,給藍色障礙車讓路。

既然對于同一個場景,人類司機會有多種處理方法,那么Lattice規劃算法的第一步就是采樣足夠多的軌跡,提供盡可能多的選擇。

Lattice規劃算法的第二步是計算每一條軌跡計算的cost。這個cost考慮了軌跡的可行性、安全性等因素。會在后面為大家詳細介紹。

那么有了軌跡的cost以后,第三步就是一個循環檢測的過程。在這個過程中,每次會先挑選出cost最低的軌跡,對其進行物理限制檢測和碰撞檢測。如果挑出來的軌跡不能同時通過這兩個檢測,就將其篩除,考察下一條cost最低的軌跡。

以右圖為例,假設首先挑選出cost最低的是深紅色較短的軌跡。但我們發現即便猛踩剎車也無法執行這條軌跡。也就是說,這條軌跡超出了汽車的減速度上限。那么它就無法通過物理限制檢測,我們會將其篩除。

假設下一條選出來cost最低的軌跡是右圖中深紅色較長的軌跡。會發現若沿著這條軌跡前進,紅車會和藍色障礙車發生碰撞。也就是說,這條軌跡軌跡無法通過碰撞檢測。于是只能放棄這條軌跡,考慮下一條cost最低的。

這樣的過程循環繼續下去,假設現在挑選出右圖中靠左邊的深紅色軌跡,它既符合汽車的物理性狀,也不會有碰撞風險。

最終就將這條軌跡作為規劃軌跡輸出。

那么下面將對每一個步驟,進行詳細的說介紹。

3Lattice Planner的采樣過程

首先是采樣過程。在正式介紹采樣過程之前,作為鋪墊,先來介紹一下Frenet坐標系。在二維平面中,通常采用X-Y坐標系來描述問題。但在自動駕駛規劃問題中,我們的工作是基于道路的。這種情況下,X-Y坐標系并不是最方便的。所以我們這里需要使用基于車道線橫向和縱向的Frenet坐標系。

那么如何用Frenet坐標系來表示一輛汽車的狀態呢?首先有一條光滑的參考線(右圖中紅線),可以按右圖所示將汽車的坐標點投影到參考線上,得到一個參考線上的投影點(圖中藍色點)。從參考線起點到投影點的路徑長度就是汽車在Frenet坐標系下的縱向偏移量,用S表示。而投影點到汽車位置的距離則是汽車在Frenet坐標系下的橫向偏移量,用L表示。因為參考線是足夠光滑的,也可通過汽車的朝向、速度、加速度來計算出Frenet坐標系下,橫向和縱向偏移量的一階導和二階導。

這里需要注意的是,我們將橫向偏移量L設計成縱向偏移量S的函數。這是因為對于大多數的汽車而言,橫向運動是由縱向運動誘發的。

如何生成一條軌跡

有了Frenet坐標系的概念,下面來介紹一下如何生成一條軌跡。首先我們可以通過計算得到自動駕駛汽車在Frenet坐標系下的在零時刻的起始狀態,也就是汽車的當前狀態。為了生成一條軌跡,第一步就是在Frenet坐標系下采樣一個在T1時刻的末狀態。

第二步就是將末狀態和起始狀態做多項式擬合。分別形成橫向和縱向的多項式軌跡。

有了橫向軌跡和縱向軌跡之后,第三步就是二維合成。給定一個時刻T*,可以計算出在T*時刻的縱向偏移量和橫向偏移量,再通過參考線,即可還原成一個二維平面中的軌跡點。通過一系列的時間點T0,T1,...,Tn,可以獲得一系列的軌跡點P0,P1,…,Pn,最終形成一條完整的軌跡。了解了如何生成一條軌跡之后,下面介紹一下如何采樣一系列軌跡。

4如何采樣橫向和縱向軌跡

首先介紹如何采樣橫向軌跡。橫向軌跡的采樣需要涵蓋多種橫向運動狀態。現在Apollo的代碼中設計了三個末狀態橫向偏移量,-0.5,0.0和0.5,以及四個到達這些橫向偏移量的縱向位移,分別為10,20,40,80。用兩層循環遍歷各種組合,再通過多項式擬合,即可獲得一系列的橫向軌跡。

對于縱向軌跡的采樣,需要考慮巡航、跟車或超車、停車這三種狀態。

對于巡航狀態,通過兩層循環來完成采樣。外層循環將速度從零到上限值按等間隔均勻遍歷。內層循環遍歷到達末狀態速度的時間,從1秒到8秒按1秒的間隔均勻遍歷。由于巡航狀態不需要指明到達末狀態的S值,所以這里只需要用四次多項式擬合即可。

在停車狀態中,給定停車點,末狀態的速度和加速度都是零,所以末狀態是確定的。

那么我們只需用一層循環來采樣到達停車點的時間即可。

在介紹跟車/超車的采樣邏輯之前,需要介紹一下S-T圖的概念。以左圖中的場景為例,藍色障礙車從車道右側切入,在T_in時刻開始進入當前車道。那么這個場景對應的S-T圖就如右圖所示。從T_in時刻開始出現一塊斜向上的陰影區域。這塊陰影區域的高度就是藍色障礙車的車身長,上邊界表示車頭,下邊界表示車尾,斜率表示車速。

如果上述場景變成這樣,障礙車從T_in時刻進入車道,然后在T_out時刻離開車道。那么這個場景對應的S-T圖就會縮短。

有了S-T圖的概念,觀察左圖中的兩條規劃軌跡。紅色的是一條跟車軌跡,綠色的是超車軌跡。這兩條軌跡反映在S-T圖中,就如右圖所示。紅色的跟車軌跡在藍色陰影區域下方,綠色的超車軌跡在藍色陰影區域上方。

采樣末狀態時,就可以分別在S-T圖中障礙物對應的陰影區域的上方和下方分別采樣。上方的末狀態對應超車,下方的末狀態對應跟車。

如果有多個障礙物,就對這些障礙物分別采樣超車和跟車所對應的末狀態。

那么總結下來就是遍歷所有和車道有關聯的障礙物,對他們分別采樣超車和跟車的末狀態,然后用多項式擬合即可獲得一系列縱向軌跡。

將三組縱向軌跡組合起來,就可以獲得所有縱向軌跡。再將所有縱向軌跡和所有橫向軌跡兩兩配對二維合成,就可以完成軌跡采樣的工作。

5軌跡COST的實現方法

現在介紹一下軌跡的cost的實現方法。前面提到,軌跡規劃所需要滿足的四點要求,分別是到達目的、符合交規,避免碰撞、平穩舒適。針對這四點要求,我們設計了六個cost,cost越高就表示越不滿足要求。下面一一介紹這六個cost的設計思路。

首先是到達目的的cost。分成兩種情況,一個是存在停車指令(比如紅燈)的情況,另一個是沒有停車指令的。如果存在停車指令,相對大的車速,其對應的軌跡cost就越大;如果沒有停車指令,那么低速軌跡的cost就會越大。

怎么實現這樣的效果呢?針對這兩種情況分別設計了參考速度。左圖藍線表示沒有停車指令時的參考速度。可以看到這種情況下,綠色的加速軌跡會獲得一個較小的cost,而紅色的減速軌跡會獲得一個相對較大的cost。那么如果存在停車指令,參考速度就會想右圖中的藍色曲線一樣呈下降趨勢。那么這種情況下,同樣的兩條軌跡,他們的cost大小關系就會正好相反。

第二個cost是橫向偏移cost。設計這個cost是為了讓自動駕駛汽車能盡量沿著道路中心行駛。那么像左圖汽車靠道路一邊行駛,和中圖畫龍的行駛軌跡,他們的cost都相對較高。

第三個cost是碰撞cost。左圖中的兩條軌跡,反映在右圖S-T圖中,我們可以發現紅色的軌跡和藍色障礙車在S-T圖中的陰影區域有重疊,說明有碰撞風險,那么它的碰撞cost就會相對較高。而綠色的軌跡在S-T圖中反映出來的碰撞風險較小,那么它的碰撞cost就相對較低。

第四個cost是縱向加加速度的cost。加加速度(jerk)是加速度對時間的導數,表示加速度的變化率。我們用加加速度的最大值值來表示這個cost。

第五個cost是橫向加速度的cost。設計這個cost是為了平穩地換道。那么像左圖猛打方向盤的軌跡,它的橫向加速度cost就會相對較大。

最后一個cost是向心加速度cost。設計這個cost是為了在轉彎或調頭的時候能夠減速慢行。在彎道處,車速慢的軌跡,其向心加速度cost就會相對較低,那么就會更容易被率先挑選出來。

這六個cost的加權求和就是軌跡的總cost。開發者可以根據產品的需要,調試這六個權重。

限制檢測和碰撞檢測

這里介紹一下限制檢測和碰撞檢測。限制檢測考察的內容有軌跡的加速度、加加速度、和曲率。碰撞檢測則是把自動駕駛汽車的軌跡和其他障礙物的預測軌跡進行比對,觀察是否有軌跡重疊。

換道場景

對于換道場景,Lattice算法僅僅需要對目標車道對應的參考線做一次采樣+選擇的流程。本車道和目標車道均能產生一條最優軌跡。給換道軌跡的cost上增加額外的車道優先級的cost,再將兩條軌跡比較,選擇cost較小的那條即可。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4344

    瀏覽量

    62855
  • 規劃算法
    +關注

    關注

    0

    文章

    4

    瀏覽量

    7382
  • Apollo
    +關注

    關注

    5

    文章

    342

    瀏覽量

    18491

原文標題:社群分享內容 | Lattice Planner規劃算法

文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    動態規劃算法

    動態規劃算法資料。
    發表于 08-30 20:44

    LCS的動態規劃算法

    LCS的動態規劃算法(自底向上)
    發表于 05-25 15:06

    為ROS navigation功能包添加自定義的全局路徑規劃器(Global Path Planner)

    ROS 的navigation官方功能包提供了三種全局路徑規劃器:carrot_planner、global_planner、navfn。我們通常使用的是navfn,如果機器人執行一些特殊任務而
    發表于 05-16 19:17

    你知道有哪幾種常見的車輛路徑規劃算法嗎?

    如何去提高汽車的主動安全性和交通安全性?從算法上解讀自動駕駛是如何實現的?有哪幾種常見的車輛路徑規劃算法
    發表于 06-17 10:56

    基于進化規劃算法的IIR數字濾波器優化設計

    采用進化規劃算法進行IIR數字濾波器的優化設計。進化規劃算法是一種模擬自然選擇和變異機制的隨機并行優化算法。本文首先描述了進化規劃算法,并將進化規劃
    發表于 08-07 09:53 ?21次下載

    多軸聯動線性插補及其_S加減規劃算法

    多軸聯動線性插補及其_S加減速”規劃算法
    發表于 05-03 14:23 ?15次下載

    基于實時交通信息的動態路徑規劃算法性能比較_黃西洲

    基于實時交通信息的動態路徑規劃算法性能比較_黃西洲
    發表于 03-16 10:04 ?0次下載

    動態規劃算法和貪心算法的區別與聯系

     動態規劃算法和貪心算法,這兩種算法都是選擇性算法,就是從一個候選集合中選擇適當的元素加入解集合。兩種算法的應用背景很相近,針對具體問題,有
    發表于 11-30 10:22 ?7.6w次閱讀
    動態<b class='flag-5'>規劃算法</b>和貪心<b class='flag-5'>算法</b>的區別與聯系

    電路布線問題的幾種動態規劃算法

    動態規劃算法是通過拆分問題,定義問題狀態和狀態之間的關系,使得問題能夠以遞推(或者說分治)的方式去解決。
    發表于 11-30 16:09 ?1.6w次閱讀

    基于路徑跟蹤方法的路徑規劃算法

    為解決拖掛式移動機器人系統路徑規劃算法精準性低、穩定性差和無法考慮系統間安全性等的問題,提出一種基于路徑跟蹤方法的路徑規劃算法。該算法融合快速拓展隨機樹( RRT)基本算法和路徑跟蹤控
    發表于 12-04 14:18 ?6次下載
    基于路徑跟蹤方法的路徑<b class='flag-5'>規劃算法</b>

    水下航行器自主巡航的路徑規劃算法實現

    路徑規劃算法是自主水下航行器(AUV)完成水下自主巡航的核心算法之一。分別綜述了基于環境建模和路徑搜索兩類AUⅣ路徑規劃算法。闡述了柵格法、可視圖法和維諾圖法等環境建模方法的囯內外硏究現狀,并指出
    發表于 04-09 16:01 ?8次下載
    水下航行器自主巡航的路徑<b class='flag-5'>規劃算法</b>實現

    嵌入式GIS中最優路徑規劃算法研究與實現

    嵌入式GIS中最優路徑規劃算法研究與實現(嵌入式開發項目經理)-嵌入式GIS中最優路徑規劃算法研究與實現 ? ? ? ? ? ? ? ? ? ?
    發表于 07-30 12:49 ?4次下載
    嵌入式GIS中最優路徑<b class='flag-5'>規劃算法</b>研究與實現

    A星路徑規劃算法完整代碼資料匯總

    A星路徑規劃算法完整代碼資料匯總
    發表于 12-03 17:16 ?11次下載

    自動駕駛決策規劃算法第一章筆記

    第一章 自動駕駛決策規劃算法數學基礎 第一節:決策規劃算法的地位和作用 該筆記來自b站up主(偶像):憨厚老實的老王 視頻鏈接主頁 第二節:為什么規劃中經常見到五次多項式
    發表于 06-02 14:17 ?0次下載
    自動駕駛決策<b class='flag-5'>規劃算法</b>第一章筆記

    機器人基于搜索和基于采樣的路徑規劃算法

    基于搜索的路徑規劃算法已經較為成熟且得到了廣泛應用,常常被用于游戲中人物和移動機器人的路徑規劃
    發表于 10-13 14:23 ?405次閱讀
    機器人基于搜索和基于采樣的路徑<b class='flag-5'>規劃算法</b>
    主站蜘蛛池模板: 国产精品视频大全| 岳的奶大又白又胖| 花蝴蝶免费观看影视| 99九九精品视频| 网友自拍成人在线视频| 免费观看视频成人国产| 果冻传媒2021精品影视| 成 人 动漫3d 在线看| 中文中幕无码亚洲在线| 亚洲AV无码久久流水呻蜜桃久色 | qvod在线| 伊人狠狠丁香婷婷综合尤物| 偷拍 自怕 亚洲 在线| 青青久久国产| 人人舔人人爱| 恋孩癖网站大全在线观看| 欧美日韩国产高清综合二区| 久久久黄色大片| adc影院在线| 玉林天天论坛| 亚洲AV精品乱码专区| 少妇人妻偷人精品视蜜桃| 男人舔女人的阴部黄色骚虎视频| 久cao在线香蕉| 国产午夜精品片一区二区三区| 爱看吧孕妇网| 龙腾亚洲人成电影网站| 精品无码日本蜜桃麻豆| 国产露脸150部国语对白| 戳女人屁股流水羞羞漫画| 99精品国产高清自在线看超| 97超碰在线视频 免费| 午夜免费小视频| 涩涩网站在线看| 久久视频精品3线视频在线观看| 99在线在线视频观看| 97国产视频| 一个人HD高清在线观看免费视频| 99er久久国产精品在线| 99精品视频在线观看免费播放| 亚洲这里只有精品|