自動駕駛決策規劃——坐標轉換

以下內容來自b站up主忠厚老實的老王,視頻鏈接:自動駕駛決策規劃算法序章 總綱與大致目錄_嗶哩嗶哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1hP4y1p7es/?spm_id_from=333.999.0.0&vd_source=d36e625f376908cfa88ef5ecf2fb0ed8侵刪。

決策規劃算法概述

數學基礎

五次多項式

?其中隱含的限制就是f(t)的定義域和值域都應該是實數,因為s和t都是真實空間中的軌跡和時間坐標,不能有虛數。

要想使得上面的那個jark最小,積分號中是平方項,也就是當其為0時最小,也就是f(t)的三階導數為0,也就是f(t)是二次或者二次以下的函數時,三階導數才為0。

?

?

也就是求泛函?在后面的那三個約束條件下極小值對應的f(t)。

上面把一個帶約束的泛函化成了一個無約束的泛函,但是L和f點、f兩點、f三點都有關,不能直接使用上面只能處理一階導數的歐拉——拉格朗日方程。要使用廣義的歐拉——拉格朗日方程:

?凸優化

?所以一般求復雜函數在復雜約束條件下的最小值問題都采用迭代法。迭代法的求解速度要比求導法快很多。

以梯度下降法為例說明大概原理:

紫色區域是約束,所以迭代法對初值比較敏感,有可能收斂到局部最小值。

?凸優化是最簡單的非線性規劃方法。自動駕駛的規劃求解不是一個凸優化問題,凸優化必須滿cost function是一個凸函數,約束空間是一個凸空間,以避障工況為例:

?整個過程就是:

上述方法也有一定的缺點:

采樣點少的話會比較容易收斂到局部最優,采樣點多的話會發生維度災難,如下:

frenet坐標系和Cartesian坐標系坐標轉換

概述和基本量

也就是在直角坐標系下想對一個函數求導,那它只有一個dx,這個dx是不區分點在x坐標上的位移還是點的實際位移在x坐標上的分量,因為這兩者一樣;但是在frenet坐標系中,它們是一樣的所以在frenet坐標系中會有d/ds和d/dsx之分。在直角坐標系中可能只有一個dx,但是在frenet坐標系中,可能會有多個ds,舉例說明如下:

這里使用dsx和ds來區分不同的s,在很多推導教程中可能中只用ds,會造成理解困難。

預備知識1

證明這個質點位矢r的導數等于v的模乘以τ,τ是質點在切線方向的單位向量。

當dt趨近于0時,ds和dr無限的接近,比值為1,方向會無限的趨近于在位矢r處的切線方向,也就是τ。

?預備知識2:frenet坐標系

其中ds是黑色曲線的弧微分,證明如下:

其中τ+dτ和τ以及dτ形成的三角形是一個等腰三角形,可以求出dτ的大小(也即使dτ的模),方向趨近于τ的法線方向。

其中當dτ無限趨近于0時,sin(dθ/2)等價無窮小于(dθ/2)。

其中 kh是質點軌跡的曲率,kr是道路中心線的曲率,這里的曲率都是在直角坐標系下的曲率。

?這里的ds指的是frenet坐標軸下的弧微分。??

其中ρ是曲率半徑,法向加速度是向心加速度。

預備知識總結

?坐標轉換(從直角坐標轉為frenet坐標)

下面的問題就是已知在笛卡爾坐標系下的,以及frenet坐標系下的坐標起點算這個點在frenet坐標系下的,其中

其中向量三角形是黃色區域,由向量三角形可以得到核心的公式:

得到上面的核心公式,可以該公式和微積分依次求出,但是這個公式還不能直接使用,因為只知道rh,rr和nr未知,此時要找到投影點的相關信息。

投影點及其相關的信息的確定方法如下:

最后計算得到rr的原理如下:

為什么可以原理如下:

?至此投影點的信息已經基本求值完畢。

?下面可以使用上面的核心公式來計算相關量。

s的計算方法是從離散規劃點起點開始把各個點的長度累加起來一直累加到投影點(xr,yr)為止。也就是以直線長度近似代替弧長:

?小結

坐標變換(從frenet轉換到直角坐標)

???????

?

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

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

相關文章

自動故障轉移

這里詢問,你的插槽是從哪里移動過來的? all:代表全部,也就是三個節點各轉移一部分具體的id:目標節點的iddone:沒有了 這里我們要從7001獲取,因此填寫7001的id: 填完后,…

02-登錄頁面、動態路由、權限等模塊開發

權限模塊開發流程 前端login頁面開發后端SpringSecurity配置后端login接口開發前端頁面框架搭建前端路由守衛,狀態管理開發前后端完成認證流程 開發Login頁面 創建Login頁面創建router,可以跳轉到Login頁面 Login頁面 使用element-plus開發 認證功…

力扣75. 顏色分類

Problem: 75. 顏色分類 文章目錄 題目描述思路及解法復雜度Code 題目描述 思路及解法 由于題目只提供0,1,2分別代表顏色紅、白、藍,并按此排序,那么我們可以遍歷兩次數組,第一次將0,全部放到數組前面一部分…

移動 App 入侵與逆向破解技術-iOS 篇

如果您有耐心看完這篇文章,您將懂得如何著手進行app的分析、追蹤、注入等實用的破解技術,另外,通過“入侵”,將幫助您理解如何規避常見的安全漏洞,文章大綱: 簡單介紹ios二進制文件結構與入侵的原理介紹入…

軟考考試需要達到多少分才能及格?

當然是45分!45分!45分!而且是各科45! 初級和中級考兩科 綜合知識考試時長為150分鐘,筆試,選擇題(上午9:00-11:30) 案例分析考試時長為90分鐘,筆試,問答題&…

計算機畢業設計 | vue+springboot圖書借閱 書籍管理系統(附源碼)

1. 開發目的 實現圖書的智能化、信息化和簡單化;實現圖書信息的增加、刪除、修改、查找、借閱、還書、收藏的顯示操作及實時數據庫的提交和更改和對普通用戶的增、刪、改、查;提高圖書管理員工作信息報送及反饋的工作效率,減輕管理員的勞動負…

Unity組件入門篇目錄

Audio AudioChorusFilter......................................點擊導航AudioDistortionFilter..................................點擊導航AudioEchoFilter.........................................點擊導航AudioHighPassFilter..................................點擊導…

設計模式Java實現-迭代器模式

?這里是第七人格的博客?小七,歡迎您的到來~? 🍅系列專欄:設計模式🍅 ??本篇內容: 迭代器模式?? 🍱 本篇收錄完整代碼地址:https://gitee.com/diqirenge/design-pattern 🍱 楔子 很久…

Java Spring 中使用緩存來提高性能

在Spring框架中,緩存是一種用于提高應用程序性能的重要機制。通過緩存,可以減少對數據庫或其他外部資源的訪問次數,從而加快應用程序的響應速度。以下是如何在Spring中使用緩存來提高性能的詳細過程: 1. 引入緩存依賴 首先&…

蒼穹外賣Day06筆記(復習了jwt的加密解密和傳遞)

瘋玩了一個月,效率好低,今天開始撿起來蒼穹外賣~ 1. 為什么不需要單獨引入HttpClient的dependency? 因為我們在sky-common的pom.xml中已經引入了aliyun-sdk-oss的依賴,而這個依賴低層就引入了httpclinet的依賴,根據依…

C語言從頭學05——頭文件及庫文件

我們寫"Hello World!"程序時&#xff0c;一上來先寫了一句代碼&#xff1a; #include <stdio.h> 我們看上面這條代碼&#xff0c;前面有個"#"號后邊沒有";"號&#xff0c;這樣的代碼不是普通的C語言代碼&#xff0c;它屬于預處理命令。這…

代碼隨想錄算法訓練營第六天| 242. 有效的字母異位詞、349. 兩個數組的交集、202. 快樂數、1. 兩數之和

哈希表理論基礎 [LeetCode] 242. 有效的字母異位詞 [LeetCode] 242. 有效的字母異位詞 文章解釋 [LeetCode] 242. 有效的字母異位詞 視頻解釋 題目: 給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的字母異位詞。 注意&#xff1a;若 s 和 t 中每個字符出…

JavaEE技術之SpringCloud(Nacos注冊中心、Nacos配置中心、Sentinel實現熔斷與限流)

文章目錄 SpringCloud Alibaba1、簡介1.1 背景1.2 Nacos主要功能1.3 Nacos和SpringBoot、SpringCloud版本選擇 2、Nacos注冊中心2.1 案例準備2.2 Nacos注冊中心下載啟動2.2.1 下載2.2.2 解壓啟動2.2.3 nacos-server訪問測試 2.3 nacos注冊中心客戶端整合2.3.1 訂單服務整合naco…

YTU 3166 共享單車 DFS 記憶化搜索

問題 D: 共享單車 題目描述 共享單車走進煙臺&#xff0c;小明決定嘗試。小明啟動共享單車 App&#xff0c;輕松地找到附近的單車。那么問題來了&#xff0c;到最近的那輛單車&#xff0c;小明大約要走多少米呢&#xff1f; 現在簡化問題。將地圖設定成一個由 100100 米的像…

【UE】仿原神實現無限道路延伸的開場效果

目錄 效果 步驟 一、無限生成磚塊 二、制作門 三、停止移動并生成門 四、進入門 效果 步驟 一、無限生成磚塊 1. 新建一個Basic關卡&#xff0c;再新建一個Pawn類&#xff0c;這里命名為“BP_MyPawn” 打開“BP_MyPawn”&#xff0c;添加一個膠囊體碰撞組件和一個攝像…

工器具管理(基于若依)

文章目錄 前言一、工器具管理項目總覽 二、入庫功能1. 前端1.1 界面展示1.2 具體操作實現1.3 js文件 2. 后端2.1 工器具信息回顯2.2 工器具入庫 三、領用功能1. 前端1.1 界面展示1.2 具體實現操作1.3 js文件 2. 后端2.1 工器具信息回顯2.2 工器具領用 遇到的問題1. 同一頁面展示…

pat乙1033-舊鍵盤打字

1測試點2&#xff1a; 輸入的字符串如果為空&#xff0c;要用getline(cin,s)&#xff0c;而不是cin>>s&#xff0c;否則程序做不了 2題目說的如果上鍵壞了那大寫字母打印不了&#xff0c;不是大寫轉小寫打印啦&#xff0c;認真讀題 3兩個for循環長這樣&#xff0c;break…

基于springboot+vue的自習室管理和預約系統(全套)

一、系統架構 前端&#xff1a;vue | element-ui | html 后端&#xff1a;springboot | mybatis-plus 環境&#xff1a;jdk1.8 | mysql | maven | nodejs 二、代碼及數據庫 三、功能介紹 01. web端-首頁1 02. web端-首頁2 03. web端-注冊 04. web端-登錄 05. w…

牛客Linux高并發服務器開發學習第六天

目錄相關函數 學習進度&#xff1a; Linux系統編程入門 06&#xff1a;59&#xff1a;42

Apollo9.0 Control模塊算法源碼學習

參考資料 Apollo控制算法_嗶哩嗶哩_bilibili