车辆控制知识总结(一):LQR算法
目錄
1 LQR簡(jiǎn)介
2 現(xiàn)代控制理論基礎(chǔ)
2.1 狀態(tài)空間描述
2.2 線性定常系統(tǒng)的狀態(tài)空間描述框圖
2.3 線性系統(tǒng)連續(xù)系統(tǒng)的反饋控制
2.31 全狀態(tài)反饋控制器
3 LQR設(shè)計(jì)控制器的方法
3.1 什么是二次型
3.3 連續(xù)時(shí)間下的LQR調(diào)節(jié)器設(shè)計(jì)步驟
3.3.1 Q、R矩陣選取
3.3.2 求解Riccati方程得到矩陣P
3.3.3 計(jì)算反饋矩陣
3.3.4 計(jì)算控制量
3.4 離散時(shí)間下的LQR調(diào)節(jié)器的設(shè)計(jì)(重要!!)
3.41 推導(dǎo)
3.42 推導(dǎo)結(jié)果
3.43 離散lqr算法步驟:
轉(zhuǎn)載參考資料:
LQR:Linear Quadratic Regulator 線性二次型調(diào)節(jié)器_One.Wan的博客-CSDN博客_線性二次型調(diào)節(jié)器
【控制理論】離散及連續(xù)的LQR控制算法原理推導(dǎo)_CHH3213的博客-CSDN博客_lqr控制
1 LQR簡(jiǎn)介
LQR:Linear Quadratic Regulator 線性二次型調(diào)節(jié)器,常用于車輛的橫向控制中。
那么,什么是LQR呢?
如果所研究的系統(tǒng)是線性的,且性能指標(biāo)為狀態(tài)變量和控制變量的二次型函數(shù),則最優(yōu)控制問題稱為線性二次型問題。
而LQR,Linear Quadratic Regulator,即線性二次型調(diào)節(jié)器, 是求解線性二次型問題常用的求解方法。
LQR ,其對(duì)象是現(xiàn)代控制理論中以狀態(tài)空間形式給出的線性系統(tǒng),而目標(biāo)函數(shù)為對(duì)象狀態(tài)和控制輸入的二次型函數(shù)。
LQR最優(yōu)設(shè)計(jì)是指設(shè)計(jì)出的狀態(tài)反饋控制器 K要使二次型目標(biāo)函數(shù)J 取最小值,而 K由權(quán)矩陣Q 與 R 唯一決定,故此 Q、 R 的選擇尤為重要。
LQR理論是現(xiàn)代控制理論中發(fā)展最早也最為成熟的一種狀態(tài)空間設(shè)計(jì)法。特別可貴的是,LQR可得到狀態(tài)線性反饋的最優(yōu)控制規(guī)律,易于構(gòu)成閉環(huán)最優(yōu)控制。
2 現(xiàn)代控制理論基礎(chǔ)
2.1 狀態(tài)空間描述
?
2.2 線性定常系統(tǒng)的狀態(tài)空間描述框圖
2.3 線性系統(tǒng)連續(xù)系統(tǒng)的反饋控制
經(jīng)典控制理論中,我們依據(jù)描述對(duì)象輸入輸出行為的傳遞函數(shù)模型來設(shè)計(jì)控制器,因此只能用系統(tǒng)的可測(cè)量輸出作為反饋信號(hào)。
而現(xiàn)代控制理論則是用刻畫系統(tǒng)內(nèi)部特征的狀態(tài)空間模型來描述對(duì)象,除了可測(cè)量的輸出信號(hào)外,還可以用系統(tǒng)的內(nèi)部狀態(tài)來作為反饋信號(hào)。
根據(jù)可利用的信息是系統(tǒng)的輸出還是狀態(tài),相應(yīng)的反饋控制可分為輸出反饋和狀態(tài)反饋。
現(xiàn)代控制理論中,更多地使用狀態(tài)反饋,由于狀態(tài)反饋能提供更豐富的狀態(tài)信息和可供選擇的自由度,因而能使系統(tǒng)更容易獲得更為優(yōu)異的性能。其實(shí),輸出反饋是可以看做是部分狀態(tài)反饋。
2.31 全狀態(tài)反饋控制器
(1)設(shè)計(jì)一個(gè)狀態(tài)反饋控制器,如下圖所示:多了個(gè)K反饋環(huán)節(jié),一般直接取u=-Kx;
?
(2)設(shè)計(jì)完反饋控制器的架構(gòu)之后,下面要保證反饋系統(tǒng)的穩(wěn)定性。
反饋系統(tǒng)穩(wěn)定性的充要條件是系統(tǒng)閉環(huán)傳遞函數(shù)的所有極點(diǎn)均有負(fù)實(shí)部,即均在復(fù)頻域S平面的左側(cè)。
根據(jù)穩(wěn)定性判定的條件,首先求閉環(huán)系統(tǒng)的傳遞函數(shù)。
為了書寫一致性,我們重寫系統(tǒng)狀態(tài)表達(dá)式將r替換成u:意思是最后實(shí)際是Y(s)/r(s);
?
可以得到系統(tǒng)的閉環(huán)傳遞函數(shù)的形式如式(6)所示,只需要分母表達(dá)式。可見系統(tǒng)傳遞的極點(diǎn)就是矩陣A ? BK的特征值。
因此,可以通過配置K矩陣 (r*n矩陣),使閉環(huán)系統(tǒng)達(dá)到我們期望的狀態(tài)。
問題是:當(dāng)系統(tǒng)變量很多的時(shí)候,即使設(shè)計(jì)好了極點(diǎn),但是矩陣K也不好計(jì)算。接下來開始引入LQR幫助求解K。
3 LQR設(shè)計(jì)控制器的方法
3.1 什么是二次型
在不指定優(yōu)化標(biāo)準(zhǔn)的前提下,控制領(lǐng)域中的“最優(yōu)”體現(xiàn)在“輸出能夠完全跟蹤控制,即在每一時(shí)刻輸出量與控制量完全一致”。實(shí)際過程并不是這樣完美的過程,每一時(shí)刻都會(huì)存在誤差。退而求其次,追求在整個(gè)工作時(shí)間的范圍內(nèi)誤差最小,與軌跡誤差類似,我們研究狀態(tài)誤差。
因此,把整個(gè)工作時(shí)間內(nèi)每一時(shí)刻狀態(tài)的誤差都累加起來,只要累加值更小,便會(huì)更加接近系統(tǒng)性能的期望。
1 首先,假設(shè)狀態(tài)向量x(t)的維度為1以及閉環(huán)系統(tǒng)穩(wěn)定。
?
2. 擴(kuò)充狀態(tài)變量到n個(gè),則代價(jià)函數(shù)為:
?
類似的J的函數(shù)稱為二次型函數(shù),變量的最高次數(shù)是2。
所有展開的函數(shù)最高次數(shù)為2的,這種類型的函數(shù)統(tǒng)稱為二次型函數(shù)。
3.2 二次型最優(yōu)控制(注意:代價(jià)函數(shù)前面有公式加系數(shù)1/2)
3.3 連續(xù)時(shí)間下的LQR調(diào)節(jié)器設(shè)計(jì)步驟
3.3.1 Q、R矩陣選取
Q為半正定的狀態(tài)加權(quán)矩陣, R為正定的控制加權(quán)矩陣(注意這里),兩者通常取為對(duì)角陣。Q矩陣元素變大意味著希望狀態(tài)量能夠快速趨近于零;R矩陣元素變大意味著希望控制輸入能夠盡可能小,它意味著系統(tǒng)的狀態(tài)衰減將變慢。所以,Q、R的選取,要綜合看具體的實(shí)際應(yīng)用場(chǎng)景來調(diào)節(jié)。
3.3.2 求解Riccati方程得到矩陣P
我們求解的前提是假定系統(tǒng)處于穩(wěn)定狀態(tài),此時(shí)的狀態(tài)反饋為 u(t)=-Kx(t);
將狀態(tài)方程代入到代價(jià)函數(shù)中
狀態(tài)方程:x ˙ ( t ) = ( A ? B K ) x ( t )
?
式(10)中A,B,Q,R 都是已知量,那么通過式(10)可以求解出 P(n×n維),式(10)就是著名的連續(xù)時(shí)間代數(shù)Riccati方程(CARE)。
3.3.3 計(jì)算反饋矩陣
根據(jù)P,可計(jì)算出反饋矩陣K=R-1BTP;
3.3.4 計(jì)算控制量
u=-Kx;
3.4 離散時(shí)間下的LQR調(diào)節(jié)器的設(shè)計(jì)(重要!!)
3.41 推導(dǎo)
首先,對(duì)狀態(tài)方程進(jìn)行離散化,如下圖:Apollo是第二種
接著,以這個(gè)離散的系統(tǒng)進(jìn)行dlqr推導(dǎo),注意此時(shí)的代價(jià)函數(shù)略微不同,多了一項(xiàng)。
?
推導(dǎo)參考:
自動(dòng)駕駛控制算法(四)離散LQR算法推導(dǎo) - 知乎
基礎(chǔ)算法-LQR-離散時(shí)間有限邊界 | Henry-Z
3.42 推導(dǎo)結(jié)果
?
3.43 離散lqr算法步驟:
一般迭代個(gè)幾十步,P就不變了!!收斂了!!?
輸入A、B、Q、R、最大迭代次數(shù)N,以及精度,即P變化量多少時(shí)可以看做不變收斂了。
?
總結(jié)
以上是生活随笔為你收集整理的车辆控制知识总结(一):LQR算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bada 2D游戏编程之八——逐帧动画
- 下一篇: 【C/C++】LibVLC库在逐帧提取的