開發者說 | Apollo控制算法之汽車動力學模型和LQR控制

參考:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247486444&idx=1&sn=6538bf1fa74429600d8fa10f4f766a58&chksm=ea1e199edd699088aee4b3c72404649751c60a9901ab71421f64e7125759765193bb4827aa15&scene=0&xtrack=1#rd算法

 

https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247486554&idx=1&sn=4e3655d0adf0ba126b49d03df63bc64a&chksm=ea1e1e28dd69973eab7f08b2c520d4258877a7dcff8533646d2282bf5cb98a7999e9794a236f&scene=0&xtrack=1#rd函數

 

動力學主要研究做用於物體的力與物體運動的關係。spa

 

車輛動力學模型通常用於分析車輛的平順性車輛操縱的穩定性.net

對於車來講,研究車輛動力學,主要是研究車輛輪胎及其相關部件的受力狀況。設計

好比縱向速度控制,經過控制輪胎轉速實現;3d

橫向航向控制,經過控制輪胎轉角實現。blog

正常狀況下,車輛上的做用力沿着三個不一樣的軸分佈:get

縱軸上的力包括驅動力和制動力,以及滾動阻力和拖拽阻力做滾擺運動;it

橫軸上的力包括轉向力、離心力和側風力,汽車繞橫軸做俯仰運動;class

立軸上的力包括車輛上下振盪施加的力,汽車繞立軸做偏擺或轉向運動。

不管是LQR或是MPC控制,都須要有車輛的模型做爲基礎

image

image

動力學模型

  • 小角度側偏角

  • 勻速

  • 不考慮環境因素

     

    image

     

  • 設e1爲橫向誤差,e2爲航向角誤差,

    進而得:

    image

    其中

    image

    image

  • image

    其中:

    image

    image

    image


    LQR 理論是現代控制理論中發展最先也最爲成熟的一種狀態空間設計法。特別難得的是,LQR可獲得狀態線性反饋的最優控制規律,易於構成閉環最優控制。

    LQR 最優設計是指設計出的狀態反饋控制器 K 要使二次型目標函數 J 取最小值,而 K 由權矩陣 Q 與 R 惟一決定,故此 Q、R 的選擇尤其重要。

    並且 Matlab 的應用 LQR 理論仿真提供了條件,更爲咱們實現穩、準、快的控制目標提供了方便。

    image

    線性二次調節器(Linear Quadratic Regulator 或LQR)是基於模型的控制器,它使用車輛的狀態來使偏差最小化

    Apollo 使用 LQR 進行橫向控制。橫向控制包含四個組件:

    橫向偏差

    橫向偏差的變化率

    朝向偏差

    朝向偏差的變化率

    變化率與導數相同,咱們用變量名上面的一個點來表明。

    咱們稱這四個組件的集合爲X,這個集合X捕獲車輛的狀態。除了狀態以外,該車有三個控制輸入:轉向加速制動。咱們將這個控制輸入集合稱爲U。

    咱們考慮有以下離散線性系統:

    image

     

    爲了達到上述效果,定義代價函數:

    image

    其中x爲狀態量,u爲控制量,Q爲狀態權重矩陣,R爲控制權重矩陣image爲最終狀態權重矩陣,N爲到達最終狀態的控制序列數

     

    image

    image

    其中K即爲經過迭代求解黎卡提方程獲得的等效閉環反饋矩陣

    至此,LQR算法求解過程能夠總結爲:

    1. 令P等於最終狀態權重矩陣;

    2. 迭代黎卡提方程求出新的P;

    3. 當兩次P的差值足夠小時,計算反饋矩陣K;

    4. 根據反饋矩陣K獲取最優控制量u;

    採用《Apollo控制算法之汽車動力學模型》一文中的模型,代入AD、BD、image到以上算法對應各項,因模型中的CD項爲常量,在LQR求解完成後加入便可得到最終所需的系統控制量。

 

 

另外參見:

https://blog.csdn.net/heyijia0327/article/details/39270597

相關文章
相關標籤/搜索