無人駕駛中的控制模塊-線性二次調節器

目錄

線性二次型調節器即LQR (linear quadratic regulator)是另外一個控制模塊的算法,它是現代控制理論中以狀態空間形式給出的線性系統,它的目標函數為對象狀態和控制輸入的二次型函數。LQR最優設計是指設計出的狀態反饋控制器K要使二次型目標函數J 取最小值,而 K由權矩陣Q與R 唯一決定,故此Q、 R的選擇尤為重要。LQR理論是現代控制理論中發展最早也最為成熟的一種狀態空間設計法。特別可貴的是,LQR可得到狀態線性反饋的最優控制規律,易於構成閉環最優控制。

LQR是基於模型的控制器,它使用車輛的狀態來使誤差最小化。Apollo使用LQR進行橫向誤差控制,橫向控制包含四個部分:橫向誤差、橫向誤差變化率、朝向、朝向的變化率。

無人駕駛中的控制模塊-線性二次調節器

用X表示橫向控制的狀態,則有:

無人駕駛中的控制模塊-線性二次調節器

除了狀態之外,車輛還有三個控制輸入:轉向、加速和制動。用U來表示車輛控制輸入,則有:

無人駕駛中的控制模塊-線性二次調節器

X的變化率有以下等式:

無人駕駛中的控制模塊-線性二次調節器

該等式給出了車輛狀態的變化率如何受到當前狀態X和控制輸入U的影響。這個等式是線性的,這也就是LQR中的L的含義。

無人駕駛中的控制模塊-線性二次調節器

控制的目標就是為了誤差最小化,同時也希望儘可能少的使用控制輸入,因為使用控制輸入會有成本,比如汽油或者電的成本。為了減少這些因素,我們可以保持誤差的運行總和和控制的運行總和。當汽車右偏轉特別厲害的時候,我們將這些偏差添加到誤差總和中,當控制輸入使得車輛向左時,我們從控制輸入總和中減去一些。

用平方項來消除誤差正負,w表示各個誤差項的權重。

無人駕駛中的控制模塊-線性二次調節器

寫成矩陣形式的cost函數:

無人駕駛中的控制模塊-線性二次調節器

有了cost函數之後,剩下的就是最優化求解的過程。


分享到:


相關文章: