動力學主要研究做用於物體的力與物體運動的關係。spa
車輛動力學模型通常用於分析車輛的平順性和車輛操縱的穩定性。.net
對於車來講,研究車輛動力學,主要是研究車輛輪胎及其相關部件的受力狀況。設計
好比縱向速度控制,經過控制輪胎轉速實現;3d
橫向航向控制,經過控制輪胎轉角實現。blog
正常狀況下,車輛上的做用力沿着三個不一樣的軸分佈:get
縱軸上的力包括驅動力和制動力,以及滾動阻力和拖拽阻力做滾擺運動;it
橫軸上的力包括轉向力、離心力和側風力,汽車繞橫軸做俯仰運動;class
立軸上的力包括車輛上下振盪施加的力,汽車繞立軸做偏擺或轉向運動。
不管是LQR或是MPC控制,都須要有車輛的模型做爲基礎。
動力學模型
-
小角度側偏角
-
勻速
-
不考慮環境因素
-
設e1爲橫向誤差,e2爲航向角誤差,
進而得:
其中
-
其中:
LQR 理論是現代控制理論中發展最先也最爲成熟的一種狀態空間設計法。特別難得的是,LQR可獲得狀態線性反饋的最優控制規律,易於構成閉環最優控制。
LQR 最優設計是指設計出的狀態反饋控制器 K 要使二次型目標函數 J 取最小值,而 K 由權矩陣 Q 與 R 惟一決定,故此 Q、R 的選擇尤其重要。
並且 Matlab 的應用爲 LQR 理論仿真提供了條件,更爲咱們實現穩、準、快的控制目標提供了方便。
線性二次調節器(Linear Quadratic Regulator 或LQR)是基於模型的控制器,它使用車輛的狀態來使偏差最小化。
Apollo 使用 LQR 進行橫向控制。橫向控制包含四個組件:
橫向偏差
橫向偏差的變化率
朝向偏差
朝向偏差的變化率
變化率與導數相同,咱們用變量名上面的一個點來表明。
咱們稱這四個組件的集合爲X,這個集合X捕獲車輛的狀態。除了狀態以外,該車有三個控制輸入:轉向、加速和制動。咱們將這個控制輸入集合稱爲U。
咱們考慮有以下離散線性系統:
爲了達到上述效果,定義代價函數:
其中x爲狀態量,u爲控制量,Q爲狀態權重矩陣,R爲控制權重矩陣,
爲最終狀態權重矩陣,N爲到達最終狀態的控制序列數。
其中K即爲經過迭代求解黎卡提方程獲得的等效閉環反饋矩陣。
至此,LQR算法求解過程能夠總結爲:
-
令P等於最終狀態權重矩陣;
-
迭代黎卡提方程求出新的P;
-
當兩次P的差值足夠小時,計算反饋矩陣K;
-
根據反饋矩陣K獲取最優控制量u;
採用《Apollo控制算法之汽車動力學模型》一文中的模型,代入AD、BD、
到以上算法對應各項,因模型中的CD項爲常量,在LQR求解完成後加入便可得到最終所需的系統控制量。
-
另外參見:
https://blog.csdn.net/heyijia0327/article/details/39270597