自動駕駛---Motion Planning之LaneChange

1 背景

         在Apollo中,有比較多的Decider(決策器),上篇博客《自動駕駛---Motion Planning之Decider》中筆者也大概介紹了每個Deicder的作用。

        本篇博客筆者主要介紹換道的決策內容,因為在自動駕駛中(嚴格意義上來講,目前還屬于輔助駕駛),變道的靈活性是用戶評價該功能是否好用很重要的一部分,變道遲緩或者激進都是不好的體驗,所以本篇博客會結合Apollo中的LaneChangeDecider、MCTS決策器及他們在量產中的使用做些介紹。

2 LaneChange

        在自動駕駛中,變道使用的規劃算法是一個核心組件,它負責確定車輛如何在保持安全和效率的同時,從當前車道轉移到相鄰車道。這些規劃算法通常涉及多個層次和多個階段的決策過程,通過下面四個模塊的說明,讀者可以進一步了解整個變道的過程。

(1)全局路徑規劃(Routing)

  • 結合高精地圖信息,全局路徑規劃會生成從當前位置到目的地的全局路徑,考慮到道路網絡、交通規則、交通流量等因素,全局路徑規劃算法會根據車道信息生成一條或者多條行駛路線。

(2)行為決策層(Behavior Planning)

  • 在全局路徑規劃的基礎上,行為決策層會結合實時感知數據(如周圍車輛、行人、障礙物等)進行更具體的決策。
  • 這一層會評估當前交通狀況,判斷是否適合變道,以及選擇最佳的變道時機和方式。
  • 行為決策層可能會使用決策樹、規則基系統、有限狀態機等方法來實現。

(3)運動規劃(Motion Planning)

  • 運動規劃層負責生成具體的軌跡,使車輛能夠按照行為決策層的決策進行變道。
  • 這一層會考慮車輛的動力學約束(如加速度、減速度、轉向角度等),以及乘客的舒適性、安全性等因素。
  • 運動規劃算法可能會使用采樣基方法(Lattice,RRT等)、優化方法(如模型預測控制、軌跡優化等)來生成滿足約束的軌跡。

2.1 Apollo之LaneChange

        Apollo中的Lane Change Decider(換道決策器)是其自動駕駛系統中一個重要的組成部分,主要負責產生是否換道的決策并更新換道狀態。

        換道決策器在LaneFollow場景下被調用,是第一個task。它的作用是對車輛的換道狀態進行管理,包括換道中(IN_CHANGE_LANE&#

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697227.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697227.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697227.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安裝和配置awscli

1、 安裝awscli curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip ./aws/install ln -s /usr/local/bin/aws /usr/bin/aws安裝完成,檢查awscli版本號 aws --version輸出內容 aws-cli…

igolang學習3,golang 項目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆紅解決

Odoo17 不再支持視圖中的attrs和states

在最新的視圖設計中&#xff0c;屬性寫法發生了改變。以前我們使用的attrs和states屬性不再被支持&#xff0c;因此在現有模塊的視圖中&#xff0c;之前寫在attrs屬性中的invisiable、readonly、required等屬性需要全部拆分成獨立的屬性表達式。 odoo17之前的寫法 <field …

回調函數(Language C)

#源于指針的深入學習 對于回調函數&#xff0c;其實我們只需要了解一下函數指針即可使用回調函數了 什么是回調函數&#xff1f; 通俗的來講&#xff0c;它是一個函數指針變量&#xff08;注意&#xff1a;它不是指針函數&#xff0c;它們是不同的一個概念&#xff09; 函數…

靡語IT:JavaScript_概述、基礎

一、JavaScript 概述 javaScript 語言主要是完成頁面的數據驗證&#xff0c;因此它運行在客戶端&#xff0c; 需要運行瀏覽器來解析執行 JavaScript 代碼。js 是網景公司 &#xff08;Netscape&#xff09;的產品&#xff0c;最早取名為 LiveScript 最后借 java 的熱度 改為 j…

C++多線程同步(上)

多線程同步 引言總述詳情互斥鎖示例運行結果分析條件變量示例一實現分析優化運行結果示例二實現代碼運行結果示例三實現代碼運行結果讀寫鎖示例實現代碼注意分析運行結果附言實現運行結果運行結果個人心得引言 項目中使用多線程,會遇到兩種問題,一種是對共享資源的訪問時需要…

關于運行flutter app 運行到模擬器出現異常提示

Exception: Gradle task assembleDebug failed with exit code 1 解決方案&#xff1a; 1.講當前文件的distributionUrl值改為 https://mirrors.cloud.tencent.com/gradle/gradle-7.4-all.zip

Redis 學習筆記 3:黑馬點評

Redis 學習筆記 3&#xff1a;黑馬點評 準備工作 需要先導入項目相關資源&#xff1a; 數據庫文件 hmdp.sql后端代碼 hm-dianping.zip包括前端代碼的 Nginx 啟動后端代碼和 Nginx。 短信登錄 發送驗證碼 PostMapping("code") public Result sendCode(RequestP…

超市售貨|超市售貨管理小程序|基于微信小程序的超市售貨管理系統設計與實現(源碼+數據庫+文檔)

超市售貨管理小程序目錄 目錄 基于微信小程序的超市售貨管理系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、微信小程序前臺 2、管理員后臺 &#xff08;1&#xff09;商品管理 &#xff08;2&#xff09;出入庫管理 &#xff08;3&#xff09;公告管理 …

CrossOver2024虛擬機軟件的優缺點分別是什么?

CrossOver虛擬機軟件的優缺點分別如下&#xff1a; 優點&#xff1a; 無需雙系統&#xff1a;用戶可以在Mac或Linux系統上直接運行Windows應用程序&#xff0c;無需安裝雙系統&#xff0c;從而節省了硬盤空間并避免了系統切換的麻煩。易于安裝和使用&#xff1a;CrossOver具有…

文件上傳---->生僻字解析漏洞

現在的現實生活中&#xff0c;存在文件上傳的點&#xff0c;基本上都是白名單判斷&#xff08;很少黑名單了&#xff09; 對于白名單&#xff0c;我們有截斷&#xff0c;圖片馬&#xff0c;二次渲染&#xff0c;服務器解析漏洞這些&#xff0c;于是今天我就來補充一種在upload…

RAW 編程接口 TCP 簡介

一、LWIP 中 中 RAW API 編程接口中與 TCP 相關的函數 二、LWIP TCP RAW API 函數 三、LwIP_Periodic_Handle函數 LwIP_Periodic_Handle 函數是一個必須被無限循環調用的 LwIP支持函數&#xff0c;一般在 main函數的無限循環中調用&#xff0c;主要功能是為 LwIP各個模塊提供…

web前端安全性——JSONP劫持

1、JSONP概念 JSONP(JSON with Padding)是JSON的一種“使用模式”&#xff0c;可用于解決主流瀏覽器的跨域數據訪問的問題。由于同源策略&#xff0c;協議IP端口有任意不同都會導致請求跨域&#xff0c;而HTML的script元素是一個例外。利用script元素的這個開放策略&#xff0…

vscode【報錯】yarn : 無法將“yarn”項識別為 cmdlet

問題 CMD下載完yarn可以查看到yarn版本&#xff0c;但是進入到vscode控制臺報錯無法識別&#xff0c;報錯內容如下&#xff1a; vscode【報錯】yarn : 無法將“yarn”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫&#xff0c;如果包括路徑&#xff…

@ 代碼隨想錄算法訓練營第8周(C語言)|Day57(動態規劃)

代碼隨想錄算法訓練營第8周&#xff08;C語言&#xff09;|Day57&#xff08;動態規劃&#xff09; Day53、動態規劃&#xff08;● 1143.最長公共子序列 ● 1035.不相交的線 ● 53. 最大子序和 動態規劃 &#xff09; 1143.最長公共子序列 題目描述 給定兩個字符串 text1 …

C#面:i++ 和 ++i 的區別

i 先參與左邊的運算&#xff0c;之后 i 自增&#xff1b; int i 5; int result i; // result的值為5&#xff0c;i的值變為6 i i 先自增&#xff0c;之后的值&#xff0c;參與左邊的運算&#xff1b; int i 5; int result i; // result的值為6&#xff0c;i的值也為6…

【一步步由簡入深,搞定FFT,持續更新中...】

作為一個傾向于形象思維的工程師&#xff0c;總想把復雜深奧的知識搞的方便理解&#xff0c;雖然上學時學過數字信號處理&#xff0c;仍然一知半解&#xff0c;現在想借著項目中涉及到的頻譜相關知識總結下來&#xff0c;在了解中逐步完善。 好了&#xff0c;首先要明確的概念是…

ffmpeg for android編譯全過程與遇到的問題

編譯前準備 編譯環境&#xff1a;Ubuntu16&#xff0c;可自行下載VMWare最新版并百度永久許可證或在服務器上安裝Ubuntu ffmpeg源碼&#xff1a;ffmpeg4.2.2 NDK下載&#xff1a;Android NDK r21e 有條件的最好還是在Liunx平臺下編譯吧&#xff0c;Windows平臺下編譯坑更多…

【計算機網絡】數據鏈路層|封裝成幀|透明傳輸|差錯檢測|PPP協議|CSMA/CD協議

目錄 一、思維導圖 ? 二、數據鏈路層功能概述 1.數據鏈路層概述 2.數據鏈路層功能概述——封裝成幀 3.數據鏈路層功能概述——透明傳輸 4.數據鏈路層功能概述——差錯檢測 三、數據鏈路層重要協議 1.數據鏈路層重要協議&#xff1a;PPP協議 2.數據鏈路層重要協議&#x…

js設計模式:備忘錄模式

作用: 封裝的對象可以在對象觸發行為時進行狀態的記錄與保存 也可以進行狀態的回退,恢復之前的狀態 示例: class Editor{constructor(){this.allText }edit(text){this.allText text}saveNow(){return new EditorText(this.allText)}backspacing(editorText){this.allText…