無人車系統(二):橫向動力學模型

運動學模型只是在幾何意義上描述了無人車的運動。實際情況中,無人車的運動受外界的因素(如:路面、坡度、空氣動力)影響較大。在高速動行時,這些外界擾動變得更加明顯。爲了構建更加精準的無人車模型,有必要考慮汽車的動力學特性。無人車的動力學模型可以拆分成橫向動力學模型與縱向動力學模型。橫向動力學建模從輪胎受力出發構建立無人車的橫向控制模型,縱向動力學建模考慮坡度、空氣動力學構建無人車的縱向控制模型。本篇主要介紹無人車橫向動力學模型的建立過程。關於無人車縱向動力學模型的構建請參照無人駕駛縱向控制研究

阿克曼轉向模型的動力學分析

無人車動學習模型表徵的是受力與速度、加速度以及橫擺角之間的關係,如下圖所示。
在這裏插入圖片描述

{FyfcosδFxfsinδ+Fyr=m(v˙y+vxω)lf(FyfcosδFxfsinδ)lrFyr=Izω˙ \left\{\begin{array} {l}{F_{y f} \cos \delta-F_{x f} \sin \delta+F_{y r}=m\left(\dot{v}_{y}+v_{x} \omega\right)} \\ {l_{f}\left(F_{y f} \cos \delta-F_{x f} \sin \delta\right)-l_{r} F_{y r}=I_{z} \dot{\omega}} \end{array}\right.

其中:
FyfF_{yf},FyrF_{yr}:無人車前、後輪側向力(NN);
FxfF_{xf},FxrF_{xr}:無人車前、後輪縱向力(NN);
lfl_f,lrl_r:無人車質心到前、後軸的距離(mm);
mm:無人車質量(kg);
vyv_y:無人車橫向車速(m/s);
vxv_x:無人車縱向車速(m/s);
ω\omega:無人車橫擺角速度(deg/s);
IzI_z:無人車相對zz軸的轉動慣量(kg.m2kg.m^2)

前後輪側向力可用簡化公式計算:
{Fyf=2cfαf=2cf(δarctan(vy+lfωvx))Fyr=2crαr=2crarctan(lrωvyvx) \left\{\begin{array}{l}{F_{y f}=2c_{f} \alpha_{f}=2c_{f} (\delta-\arctan \left(\frac{v_{y}+l_{f} \omega}{v_{x}}\right)}) \\ {F_{y r}=2c_{r} \alpha_{r}=2c_{r} \arctan \left(\frac{l_{r} \omega-v_{y}}{v_{x}}\right)}\end{array}\right.

其中:
αf\alpha_f,αr\alpha_r:無人車前、後輪側偏角(rad);
cfc_f,crc_r:無人車前、後輪綜合側偏剛度;

重要假設】無人車的航向角度δ\delta,前後輪側偏角αfαr\alpha_f,\alpha_r都較小時,上式可近似爲如下:

{Fyf+Fyr=m(v˙y+vxω)lfFyflrFyr=Izω˙ \left\{\begin{array} {l}{F_{y f} +F_{y r}=m\left(\dot{v}_{y}+v_{x} \omega\right)} \\ {l_{f}F_{y f}-l_{r} F_{y r}=I_{z} \dot{\omega}} \end{array}\right.

以及

{Fyf=2cfαf=2cf(δvy+lfωvx)Fyr=2crαr=2cr(lrωvyvx) \left\{\begin{array}{l}{F_{y f}=2c_{f} \alpha_{f}=2c_{f} \left(\delta-\frac{v_{y}+l_{f} \omega}{v_{x}}\right)} \\ {F_{y r}=2c_{r} \alpha_{r}=2c_{r} \left(\frac{l_{r} \omega-v_{y}}{v_{x}}\right)}\end{array}\right.

FyfF_{yf}FyrF_{yr}代入近似後的模型,可得:
{2cf(δvy+lfωvx)+2cr(lrωvyvx)=m(v˙y+vxω)2lfcf(δvy+lfωvx)2lrcr(lrωvyvx)=Izω˙ \left\{\begin{array} {l}{2c_{f} \left(\delta-\frac{v_{y}+l_{f} \omega}{v_{x}}\right) +2c_{r} \left(\frac{l_{r} \omega-v_{y}}{v_{x}}\right)=m\left(\dot{v}_{y}+v_{x} \omega\right)} \\ {2l_{f}c_{f} \left(\delta-\frac{v_{y}+l_{f} \omega}{v_{x}}\right)-2l_{r} c_{r} \left(\frac{l_{r} \omega-v_{y}}{v_{x}}\right)=I_{z} \dot{\omega}} \end{array}\right.

可得無人車二自由度模型如下:

X˙=AX+Bu\dot{X}=A X+Bu

其中:
X=[y˙θ˙]X=\left[\begin{array}{c}\dot{y} \\ \dot{\theta}\end{array}\right]
u=δu=\delta
A=[2Cf+2Crmvx2Cflf2Crlrmvxvx2lfCf2lrCrIzvx2lf2Cf+2lr2CrIzvx]A=\left[\begin{array}{cc}{-\frac{2C_{f}+2C_{r}}{m v_x}} & {-\frac{2C_{f} l_{f}-2C_{r} l_{r}}{m v_x}-v_x} \\ {-\frac{2l_{f} C_{f}-2l_{r} C_{r}}{I_{z} v_x}} & {-\frac{2l_{f}^{2} C_{f}+2l_{r}^{2} C_{r}}{I_{z} v_x}}\end{array}\right]
B=[2Cfm2lfCfIz]B=\left[\begin{array}{c}{\frac{2C_{f}}{m}} \\ {\frac{2l_{f} C_{f}}{I_{z}}}\end{array}\right]

寫在後面

再次強調我們構建的一切模型都是爲了預測系統未來的狀態。構建的模型可以用於控制領域,也可以用於強化學習領域(強化學習與控制理論的共同特點是——反饋)。本人非控制專業,所以不不敢涉入太過底層的電機模型(電機驅動轉向執行機構,電機驅動油門、剎車以及檔位)。無人車橫向控制得到期望的方向盤轉角,這與無人車系統中的速度規劃模塊功能相似。本文中介紹的無人車橫向模型,獨立於縱向模型,也獨立於底層電機驅動轉向執行器的模型,相對來說算是一個比較簡潔的模型。實際應用中,也建議將底層電機控制與無人車橫向控制解耦,形成兩層上下級控制架構,因爲與電機模型合在一起的總模型非常複雜,在後續控制算法設計過程中,還是得對模型進行簡化,這樣可能損失了更多精度。

在後續博客中,我將介紹幾種經典的無人車橫向控制方法(也即軌跡跟蹤控制方法)。


以上

發佈了67 篇原創文章 · 獲贊 122 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章