0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

講解線性二次調(diào)節(jié)器(或LQR)和模型預(yù)測(cè)控制(或MPC)

YB7m_Apollo_Dev ? 來(lái)源:未知 ? 作者:李倩 ? 2018-10-26 17:24 ? 次閱讀

Apollo自動(dòng)駕駛課程馬上進(jìn)入尾聲,在無(wú)人駕駛技術(shù)控制篇(上)中,具體講解了最常用的控制算法——PID控制器。

本期我們將繼續(xù)介紹和控制相關(guān)的知識(shí),具體講解線性二次調(diào)節(jié)器(或LQR)和模型預(yù)測(cè)控制(或MPC)。本期也是自動(dòng)駕駛?cè)腴T課程中的最后一個(gè)模塊。希望大家在完成入門課程后,繼續(xù)深入學(xué)習(xí)無(wú)人駕駛技術(shù),在無(wú)人駕駛領(lǐng)域越走越遠(yuǎn)。學(xué)習(xí)完課程的小伙伴記得做筆記領(lǐng)周邊好禮哦!

第十課,控制(下)

1線性二次調(diào)節(jié)器

線性二次調(diào)節(jié)器(Linear Quadratic Regulator 或LQR)是基于模型的控制器,它使用車輛的狀態(tài)來(lái)使誤差最小化。Apollo使用LQR進(jìn)行橫向控制。橫向控制包含四個(gè)組件:橫向誤差、橫向誤差的變化率、朝向誤差和朝向誤差的變化率。變化率與導(dǎo)數(shù)相同,我們用變量名上面的一個(gè)點(diǎn)來(lái)代表。我們稱這四個(gè)組件的集合為X,這個(gè)集合X捕獲車輛的狀態(tài)。除了狀態(tài)之外,該車有三個(gè)控制輸入:轉(zhuǎn)向、加速和制動(dòng)。我們將這個(gè)控制輸入集合稱為U。

LQR處理線性控制,這種類型的模型可以用等式來(lái)表示(詳見(jiàn)下圖)。x(上方帶點(diǎn))=Ax+Bu,x(上方帶點(diǎn))向量是導(dǎo)數(shù),或X向量的變化率。所以x點(diǎn)的每個(gè)分量只是x對(duì)應(yīng)分量的導(dǎo)數(shù)。等式x點(diǎn)=Ax+Bu,該等式捕捉狀態(tài)里的變化,即x點(diǎn)是如何受當(dāng)前狀態(tài) x 和控制輸入 u 的影響的。

這個(gè)等式是線性的,因?yàn)槲覀冇?x來(lái)改變x時(shí),并用?u來(lái)改變u。x點(diǎn)的變化也會(huì)讓這個(gè)等式成立(見(jiàn)下圖等式)?,F(xiàn)在我們了解了LQR中的L。

接下來(lái)我們學(xué)習(xí)LQR中的Q。這里的目標(biāo)是為了讓誤差最小化,但我們也希望盡可能少地使用控制輸入。由于使用這些會(huì)有成本,例如:耗費(fèi)氣體或電力。為了盡量減少這些因素,我們可以保持誤差的運(yùn)行總和和控制輸入的運(yùn)行總和。當(dāng)車往右轉(zhuǎn)的特別厲害之際,添加到誤差總和中。當(dāng)控制輸入將汽車往左側(cè)轉(zhuǎn)時(shí),從控制輸入總和中減去一點(diǎn)。然而,這種方法會(huì)導(dǎo)致問(wèn)題。因?yàn)橛覀?cè)的正誤差只需將左側(cè)的負(fù)誤差消除即可。對(duì)控制輸入來(lái)說(shuō)也是如此。相反,我們可以讓x和u與自身相乘,這樣負(fù)值也會(huì)產(chǎn)生正平方,我們稱這些為二次項(xiàng)。我們?yōu)檫@些項(xiàng)分配權(quán)重,并將它們加在一起。

最優(yōu)的u應(yīng)該最小化二次項(xiàng)的和隨時(shí)間的積分。在數(shù)學(xué)中我們將這個(gè)積分值稱為成本函數(shù)(形式見(jiàn)下圖)。我們經(jīng)常以緊湊的矩陣形式表示加權(quán)二次項(xiàng)的總和。

這里的Q和R代表x和u的權(quán)重集合。xT和uT是轉(zhuǎn)置矩陣,這意味著它們幾乎與x和u相同,只是重新排列以便矩陣相乘。x乘以xT,u乘以u(píng)T,實(shí)質(zhì)上是將每個(gè)矩陣乘以它自己。最小化成本函數(shù)是一個(gè)復(fù)雜的過(guò)程,但通常我們可以依靠數(shù)值計(jì)算器為我們找到解決方案。Apollo就提供了一個(gè)這樣的求解方案。在LQR中,控制方法被描述為u=-Kx。其中,K代表一個(gè)復(fù)雜的skeme,代表如何從x計(jì)算出u。所以找到一個(gè)最優(yōu)的u就是找到一個(gè)最優(yōu)的K。許多工具都可以輕松地用來(lái)解決K,尤其當(dāng)你提供了模擬車輛物理特征的A、B,以及x和u的權(quán)重Q、R。

2模型控制預(yù)測(cè)

模型預(yù)測(cè)控制(或MPC)是一種更復(fù)雜的控制器,它非常依賴于數(shù)學(xué)優(yōu)化,但基本上可以將MPC歸結(jié)為三個(gè)步驟:1、建立車輛模型。2、使用優(yōu)化引擎計(jì)算有限時(shí)間范圍內(nèi)的控制輸入。3、執(zhí)行第一組控制輸入。MPC是一個(gè)重復(fù)過(guò)程,它著眼未來(lái),計(jì)算一系列控制輸入,并優(yōu)化該序列。但控制器實(shí)際上只實(shí)現(xiàn)了序列中的第一組控制輸入,然后控制器再次重復(fù)該循環(huán)。為什么我們不執(zhí)行整個(gè)控制輸入序列呢?那是因?yàn)槲覀冎徊捎昧私茰y(cè)量與計(jì)算。如果實(shí)現(xiàn)了整個(gè)控制輸入序列,實(shí)際產(chǎn)生的車輛狀態(tài)與我們的模型有很大差異,最好在每個(gè)時(shí)間步不斷地重新評(píng)估控制輸入的最優(yōu)序列。

MPC的第一步為定義車輛模型,該模型近似于汽車的物理特性,該模型估計(jì)了假如將一組控制輸入應(yīng)用于車輛時(shí)會(huì)發(fā)生什么。接下來(lái),我們決定MPC預(yù)測(cè)未來(lái)的能力。預(yù)測(cè)越深入,控制器就越精確,不過(guò)需要的時(shí)間也越長(zhǎng)。所以,我們需要在準(zhǔn)確度與快速獲取結(jié)果之間做出取舍。獲取結(jié)果的速度越快,越能快速地將控制輸入應(yīng)用到實(shí)際車輛中。

下一步是將模型發(fā)送到搜索最佳控制輸入的優(yōu)化引擎。該優(yōu)化引擎的工作原理是通過(guò)搜索密集數(shù)學(xué)空間來(lái)尋求最佳解決方案。為縮小搜索范圍,優(yōu)化引擎依賴于車輛模型的約束條件。

優(yōu)化引擎可間接評(píng)估控制輸入,它通過(guò)使用以下方法對(duì)車輛軌跡進(jìn)行建模:通過(guò)成本函數(shù)對(duì)軌跡進(jìn)行評(píng)估。成本函數(shù)主要基于與目標(biāo)軌跡的偏差;其次,基于其他因素,如加速度和提升旅客舒適度的措施。

為使乘客感覺(jué)更舒適,對(duì)控制輸入的調(diào)整應(yīng)該很小。因?yàn)閯?dòng)作變化幅度過(guò)大會(huì)讓乘客感到不舒服。根據(jù)具體情況,我們可能需要為其考慮進(jìn)一步的成本,并設(shè)計(jì)成本函數(shù)。模型、約束和成本函數(shù)合并在一起,并作為優(yōu)化問(wèn)題加以解決。我們可以在不同的優(yōu)化引擎中,選擇一種來(lái)尋找最佳解決方案。

3總結(jié)

控制實(shí)際上是無(wú)人駕駛汽車實(shí)現(xiàn)自動(dòng)移動(dòng)的方式。在控制中,我們使用轉(zhuǎn)向、加速和制動(dòng)來(lái)運(yùn)行我們的目標(biāo)軌跡。我們研究了幾種不同類型的控制器。PID控制是一種簡(jiǎn)單而強(qiáng)大的控制算法,線性二次調(diào)節(jié)器和模型預(yù)測(cè)控制是另外兩種類型的控制器,它們更復(fù)雜,但也更強(qiáng)大、更準(zhǔn)確。Apollo支持所有這三種控制器,而你也可以選擇最適合自己的控制器!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 調(diào)節(jié)器
    +關(guān)注

    關(guān)注

    5

    文章

    809

    瀏覽量

    46204
  • PID控制器
    +關(guān)注

    關(guān)注

    2

    文章

    167

    瀏覽量

    18487
  • Apollo
    +關(guān)注

    關(guān)注

    5

    文章

    336

    瀏覽量

    18350

原文標(biāo)題:Apollo自動(dòng)駕駛?cè)腴T課程第⑩講 — 控制(下)

文章出處:【微信號(hào):Apollo_Developers,微信公眾號(hào):Apollo開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    永磁同步電機(jī)模型預(yù)測(cè)控制Simulink仿真教程資料下載

    本篇文章為永磁同步電機(jī)模型預(yù)測(cè)控制(PMSM-MPC)Simulink仿真教程包含了控制原理和simulink仿真搭建。詳細(xì)的描述了模型
    發(fā)表于 06-30 06:30

    永磁同步電機(jī)模型預(yù)測(cè)控制matlab/simulink仿真模型

    出售永磁同步電機(jī)(pmsm)模型預(yù)測(cè)控制MPC)matla b/simulink仿真模型,轉(zhuǎn)速控制,電流
    發(fā)表于 07-05 07:18

    模型預(yù)測(cè)控制+邏輯控制

    模型預(yù)測(cè)控制MPC)+邏輯控制(相平面分區(qū)控制)–matlab例程介紹MATLAB-模型模糊神
    發(fā)表于 08-17 07:09

    模型預(yù)測(cè)控制介紹

    這篇主要講一下模型預(yù)測(cè)控制,如果對(duì)PID控制了解的同學(xué),那效果更好。如果不了解PID控制,還是熟悉下比較好。模型
    發(fā)表于 08-18 06:21

    什么是有限集模型預(yù)測(cè)控制

    有限集模型預(yù)測(cè)控制(finitecontrol set-model predictive control,F(xiàn)CS-MPC)作為一種具有運(yùn)算量大的特點(diǎn)的控制算法,隨著數(shù)字信號(hào)處理
    發(fā)表于 08-27 06:05

    LQR線性二次調(diào)制系統(tǒng)的記錄

    LQR 控制本blog主要記錄LQR 線性二次調(diào)制系統(tǒng)的,學(xué)習(xí)教程為兩個(gè)B站的教學(xué)視頻。狀態(tài)空間4-LQ
    發(fā)表于 08-30 08:00

    魯棒模型預(yù)測(cè)控制(RMPC)是什么

    魯棒模型預(yù)測(cè)控制(RMPC)是一種設(shè)計(jì)不確定系統(tǒng)控制器的有效方法,在這種不確定系統(tǒng)中,每個(gè)可能的擾動(dòng)實(shí)現(xiàn)都必須滿足狀態(tài)和輸入約束。然而,在某些情況下,由于需要防止低概率異常值,這一要求可能會(huì)顯著降低
    發(fā)表于 09-10 08:37

    什么是MPC模型預(yù)測(cè)控制?

    什么是MPC模型預(yù)測(cè)控制?
    發(fā)表于 11-22 06:10

    基于LQR最優(yōu)調(diào)節(jié)器的倒立擺控制系統(tǒng)

    倒立擺控制系統(tǒng)是一個(gè)典型的高階、不穩(wěn)定、多變量、非線性和強(qiáng)藕合控制系統(tǒng)。本文研究分析了單節(jié)倒立擺控制系統(tǒng)的數(shù)學(xué)
    發(fā)表于 09-02 16:38 ?24次下載

    基于Laguerre函數(shù)的模型預(yù)測(cè)控制電流調(diào)節(jié)器

    電動(dòng)汽車用異步電機(jī)復(fù)雜的運(yùn)行工況,造成電機(jī)參數(shù)改變,傳統(tǒng)同步PI控制性能不甚理想。基于復(fù)矢量比例積分( PI)控制模型預(yù)測(cè)控制MPC)的
    發(fā)表于 01-09 14:40 ?1次下載

    Apollo代碼學(xué)習(xí)—MPCLQR比較

    MPC(Model Predictive Control,模型預(yù)測(cè)控制)和LQR(Linear–Quadratic Regulator,線性
    的頭像 發(fā)表于 03-22 17:08 ?1.5w次閱讀

    Matlab/yalmip工具編寫自動(dòng)駕駛模型預(yù)測(cè)控制(MPC)代碼

    在無(wú)人駕駛的運(yùn)動(dòng)控制中,模型預(yù)測(cè)控制MPC)算法得到了廣泛使用,龔建偉《無(wú)人駕駛車輛模型預(yù)測(cè)控制
    發(fā)表于 06-06 09:38 ?1次下載
    Matlab/yalmip工具編寫自動(dòng)駕駛<b class='flag-5'>模型</b><b class='flag-5'>預(yù)測(cè)控制</b>(<b class='flag-5'>MPC</b>)代碼

    開(kāi)關(guān)模式二次側(cè)后調(diào)節(jié)器UCC3583數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《開(kāi)關(guān)模式二次側(cè)后調(diào)節(jié)器UCC3583數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-08 11:11 ?0次下載
    開(kāi)關(guān)模式<b class='flag-5'>二次</b>側(cè)后<b class='flag-5'>調(diào)節(jié)器</b>UCC3583數(shù)據(jù)表

    二次側(cè)立柱調(diào)節(jié)器控制器LM25115數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《二次側(cè)立柱調(diào)節(jié)器控制器LM25115數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-22 10:44 ?0次下載
    <b class='flag-5'>二次</b>側(cè)立柱<b class='flag-5'>調(diào)節(jié)器</b><b class='flag-5'>控制器</b>LM25115數(shù)據(jù)表

    二次側(cè)后調(diào)節(jié)器/同步降壓控制器LM5115數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《二次側(cè)后調(diào)節(jié)器/同步降壓控制器LM5115數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-28 09:41 ?0次下載
    <b class='flag-5'>二次</b>側(cè)后<b class='flag-5'>調(diào)節(jié)器</b>/同步降壓<b class='flag-5'>控制器</b>LM5115數(shù)據(jù)表