自动驾驶控制算法——车辆动力学模型

车辆动力学模型(2自由度模型)

考虑车辆 y 方向和绕 z 轴的旋转,可以得到车辆2自由度模型,如下图:

在这里插入图片描述
m a y = F y f + F y r (2.1) ma_y = F_{yf} + F_{yr} \tag{2.1} may=Fyf+Fyr(2.1)

I z ψ ¨ = l f F y f − l r F y r (2.2) I_z\ddot\psi = l_fF_{yf} - l_rF_{yr} \tag{2.2} Izψ¨=lfFyflrFyr(2.2)

经验公式可知,轮胎侧向力和速度偏角成正比,前后各两个轮胎,故有(根据轮胎坐标系有关符号定义可知,正的侧偏力产生负的侧偏角,因此侧偏刚度为负值。不同坐标系的定义可能不同,Apollo中侧偏刚度系数为正值,相应的状态方程也会有所改变,因此,这里与apollo保持一致,侧偏刚度采用正值):

F y f = 2 C α f ( δ − θ v f ) F y r = 2 C α r ( − θ v r ) (2.3) F_{yf} = 2C_{\alpha f}(\delta-\theta_{vf}) \\ F_{yr} = 2C_{\alpha r}(-\theta_{vr}) \tag{2.3} Fyf=2Cαf(δθvf)Fyr=2Cαr(θvr)(2.3)

在这里插入图片描述

图四

再参考图四可得:

tan ⁡ ( θ v f ) = V y + l f ψ ˙ V x tan ⁡ ( θ v r ) = V y − l r ψ ˙ V x (2.4) \tan(\theta_{vf}) = \frac{V_y + l_f\dot{\psi}}{V_x} \\ \tan(\theta_{vr}) = \frac{V_y - l_r\dot{\psi}}{V_x} \tag{2.4} tan(θvf)=VxVy+lfψ˙tan(θvr)=VxVylrψ˙(2.4)

在小角度转向假设下,可以将上述公式转换为:

θ v f = V y + l f ψ ˙ V x θ v r = V y − l r ψ ˙ V x (2.5) \theta_{vf} = \frac{V_y + l_f\dot{\psi}}{V_x} \\ \theta_{vr} = \frac{V_y - l_r\dot{\psi}}{V_x} \tag{2.5} θvf=VxVy+lfψ˙θvr=VxVylrψ˙(2.5)

上述公式中:

  • F f y F_{fy} Ffy F f r F_{fr} Ffr – 前轮横向力和后轮横向力
  • C α f C_{\alpha f} Cαf C α r C_{\alpha r} Cαr – 前轮侧偏刚度和后轮侧偏刚度(采用正值
  • θ v f \theta_{vf} θvf θ v r \theta_{vr} θvr – 前轮速度偏角和后轮速度偏角
  • a y a_y ay – 侧向加速度(等于 y 方向加速度和向心加速度之和,即 a y = y ¨ + V x ψ ˙ a_y = \ddot{y} + V_x \dot{\psi} ay=y¨+Vxψ˙
  • V y = y ˙ V_y = \dot{y} Vy=y˙ – 车辆y方向速度
  • m – 车辆质量
  • I z I_z Iz – 绕Z轴转动惯量

将式 ( 2.3 , 2.4 , 2.5 ) (2.3,2.4,2.5) (2.3,2.4,2.5)带入公式 ( 2.1 ) (2.1) (2.1):

m a y = m ( y ¨ + V x ψ ˙ ) = F y f + F y r = 2 C α f ( δ f − θ v f ) + 2 C α r ( − θ v r ) = 2 C α f ( δ f − V y + l f ψ ˙ V x ) + 2 C α r ( − V y − l r ψ ˙ V x ) (2.6) ma_y = m(\ddot{y} + V_x \dot{\psi}) = F_{yf} + F_{yr} = 2C_{\alpha f}(\delta_f-\theta_{vf}) + 2C_{\alpha r}(-\theta_{vr}) = 2C_{\alpha f}(\delta_f-\frac{V_y + l_f\dot{\psi}}{V_x}) + 2C_{\alpha r}(-\frac{V_y - l_r\dot{\psi}}{V_x}) \tag{2.6} may=m(y¨+Vxψ˙)=Fyf+Fyr=2Cαf(δfθvf)+2Cαr(θvr)=2Cαf(δfVxVy+lfψ˙)+2Cαr(VxVylrψ˙)(2.6)

整理得到横向加速度公式:

y ¨ = − 2 C α f + 2 C α r m V x y ˙ + ( − V x − 2 C α f l f − 2 C α r l r m V x ) ψ ˙ + 2 C α f m δ f (2.7) \ddot{y} = -\frac{2C_{\alpha f} + 2C_{\alpha r}}{mV_x} \dot{y} + (-V_x-\frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x})\dot{\psi} + \frac{2C_{\alpha f}}{m}\delta_f \tag{2.7} y¨=mVx2Cαf+2Cαry˙+(VxmVx2Cαflf2Cαrlr)ψ˙+m2Cαfδf(2.7)

将式 ( 2.3 , 2.4 , 2.5 ) (2.3,2.4,2.5) (2.3,2.4,2.5)带入公式 ( 2.2 ) (2.2) (2.2):

I z ψ ¨ = l f 2 C α f ( δ f − θ v f ) − l r 2 C α r ( − θ v r ) = l f 2 C α f ( δ f − V y + l f ψ ˙ V x ) − l r 2 C α r ( − V y − l r ψ ˙ V x ) (2.8) I_z\ddot{\psi} = l_f 2C_{\alpha f}(\delta_f-\theta_{vf}) - l_r 2C_{\alpha r}(-\theta_{vr}) = l_f 2C_{\alpha f}(\delta_f-\frac{V_y + l_f\dot{\psi}}{V_x}) - l_r 2C_{\alpha r}(-\frac{V_y - l_r\dot{\psi}}{V_x}) \tag{2.8} Izψ¨=lf2Cαf(δfθvf)lr2Cαr(θvr)=lf2Cαf(δfVxVy+lfψ˙)lr2Cαr(VxVylrψ˙)(2.8)

整理得到横摆角加速度公式:

ψ ¨ = − ( 2 l f C α f − 2 l r C α r V x I z ) y ˙ + ( − 2 l f 2 C α f + 2 l r 2 C α r V x I z ) ψ ˙ + 2 l f C α f I z δ f (2.9) \ddot{\psi} = -(\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z}) \dot{y} + (-\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z}) \dot{\psi} + \frac{2 l_f C_{\alpha f}}{I_z}\delta_f \tag{2.9} ψ¨=(VxIz2lfCαf2lrCαr)y˙+(VxIz2lf2Cαf+2lr2Cαr)ψ˙+Iz2lfCαfδf(2.9)

将式 2.7 2.7 2.7 2.9 2.9 2.9写成矩阵形式,得到车辆动力学模型(与apollo保持一致,侧偏刚度采用正值):

d d t { y y ˙ ψ ψ ˙ } = [ 0 1 0 0 0 − 2 C α f + 2 C α r m V x 0 − V x − 2 C α f l f − 2 C α r l r m V x 0 0 0 1 0 − 2 l f C α f − 2 l r C α r V x I z 0 − 2 l f 2 C α f + 2 l r 2 C α r V x I z ] { y y ˙ ψ ψ ˙ } + { 0 2 C α f m 0 2 l f C α f I z } δ f (2.10) \frac{d}{dt} \left\{ \begin{matrix} y \\ \dot{y} \\ \psi \\ \dot{\psi} \end{matrix} \right\} = \left[ \begin{matrix} 0 & 1 & 0 & 0 \\ 0 & -\frac{2C_{\alpha f} + 2C_{\alpha r}}{mV_x} & 0 & -V_x-\frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} \\ 0 & 0 & 0 & 1 \\ 0 & -\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z} & 0 & -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \\ \end{matrix} \right] \left\{ \begin{matrix} y \\ \dot{y} \\ \psi \\ \dot{\psi} \end{matrix} \right\} + \left\{ \begin{matrix} 0 \\ \frac{2C_{\alpha f}}{m} \\ 0 \\ \frac{2 l_f C_{\alpha f}}{I_z} \end{matrix} \right\} \delta_f \tag{2.10} dtd yy˙ψψ˙ = 00001mVx2Cαf+2Cαr0VxIz2lfCαf2lrCαr00000VxmVx2Cαflf2Cαrlr1VxIz2lf2Cαf+2lr2Cαr yy˙ψψ˙ + 0m2Cαf0Iz2lfCαf δf(2.10)

基于车辆动力学的道路-车辆误差模型

要实现自动驾驶车辆的横向控制系统,首先要建立车辆质心相对于车道中心线的位置和航向误差模型,示意图如下所示:

在这里插入图片描述

其中:

  • e 1 e_1 e1 – 横向位置偏差(横向位置偏差)
  • e 1 ˙ \dot{e_1} e1˙ – 横向偏差变化率(横向速度偏差)
  • e 1 ¨ \ddot{e_1} e1¨ – 横向偏差变化率的变化率(横向加速度偏差)
  • e 2 e_2 e2 – 航向角偏差
  • e 2 ˙ \dot{e_2} e2˙ – 航向角偏差变化率
  • e 2 ¨ \ddot{e_2} e2¨ – 航向角偏差变化率的变化率
  • V x V_x Vx – 车辆沿轴线方向速度
  • ϕ \phi ϕ – 道路横向坡度
  • ψ d e s ˙ \dot{\psi_{des}} ψdes˙ – (路径参考点理论横摆角速度)车辆参考航向变化率, V x R \frac{V_x}{R} RVx
  • ψ d e s ¨ \ddot{\psi_{des}} ψdes¨ – (路径参考点理论横摆角加速度)车辆参考航向变化率的导数, V x 2 R = V x ψ d e s ˙ \frac{V_x^2}{R}=V_x \dot{\psi_{des}} RVx2=Vxψdes˙

首先根据定义容易得到如下公式:

e 2 = ψ − ψ d e s e_2 = \psi - \psi_{des} e2=ψψdes

e 2 ˙ = ψ ˙ − ψ d e s ˙ \dot{e_2} = \dot{\psi} - \dot{\psi_{des}} e2˙=ψ˙ψdes˙

e 2 ¨ = ψ ¨ − ψ d e s ¨ \ddot{e_2} = \ddot{\psi} - \ddot{\psi_{des}} e2¨=ψ¨ψdes¨

根据定义可以得到:

e 1 ¨ = a y − a y d e s = ( y ¨ + ψ ˙ V x ) − ψ d e s ˙ V x = y ¨ + V x ( ψ ˙ − ψ d e s ˙ ) = y ¨ + V x e 2 ˙ \begin{aligned} \ddot{e_1} & = a_y - a_{ydes} \\ & = (\ddot{y} + \dot{\psi}V_x) - \dot{\psi_{des}}V_x \\ & = \ddot{y} + V_x(\dot{\psi} - \dot{\psi_{des}}) \\ & = \ddot{y} + V_x\dot{e_2} \end{aligned} e1¨=ayaydes=(y¨+ψ˙Vx)ψdes˙Vx=y¨+Vx(ψ˙ψdes˙)=y¨+Vxe2˙

假设纵向速度 V x V_x Vx不变,可以进一步推导出:
e 1 ˙ = y ˙ + V x e 2 \dot{e_1} = \dot{y} + V_xe_2 e1˙=y˙+Vxe2

将公式转换形式为:

y ˙ = e 1 ˙ − V x e 2 \dot{y} = \dot{e_1} - V_xe_2 y˙=e1˙Vxe2

y ¨ = e 1 ¨ − V x e 2 ˙ \ddot{y} = \ddot{e_1} - V_x\dot{e_2} y¨=e1¨Vxe2˙

ψ ˙ = e 2 ˙ + ψ d e s ˙ \dot{\psi} = \dot{e_2} + \dot{\psi_{des}} ψ˙=e2˙+ψdes˙

ψ ¨ = e 2 ¨ + ψ d e s ¨ \ddot{\psi} = \ddot{e_2} + \ddot{\psi_{des}} ψ¨=e2¨+ψdes¨

整理公式可以得到横向位置误差变化率的导数

e 1 ¨ = − 2 C α f + 2 C α r m V x e 1 ˙ + 2 C α f + 2 C α r m V x V x e 2 − 2 C α f l f − 2 C α r l r m V x e 2 ˙ − ( V x + 2 C α f l f − 2 C α r l r m V x ) ψ d e s ˙ + 2 C α f m δ (2.11) \ddot{e_1} = -\frac{2C_{\alpha f} + 2C_{\alpha r}} {mV_x} \dot{e_1} + \frac{2C_{\alpha f} + 2C_{\alpha r}} {mV_x} V_xe_2 - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} \dot{e_2} - (V_x + \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x}) \dot{\psi_{des}} + \frac{2C_{\alpha f}}{m}\delta \tag{2.11} e1¨=mVx2Cαf+2Cαre1˙+mVx2Cαf+2CαrVxe2mVx2Cαflf2Cαrlre2˙(Vx+mVx2Cαflf2Cαrlr)ψdes˙+m2Cαfδ(2.11)

整理公式可以得到航向误差变化率的导数
e 2 ¨ = − ( 2 l f C α f − 2 l r C α r V x I z ) e 1 ˙ + 2 l f C α f − 2 l r C α r V x I z V x e 2 + ( − 2 l f 2 C α f + 2 l r 2 C α r V x I z ) e 2 ˙ − 2 l f 2 C α f + 2 l r 2 C α r V x I z ψ d e s ˙ − ψ d e s ¨ + 2 l f C α f I z δ (2.12) \ddot{e_2} = -(\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z}) \dot{e_1} + \frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z} V_xe_2 + (-\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z}) \dot{e_2} -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \dot{\psi_{des}} - \ddot{\psi_{des}} + \frac{2 l_f C_{\alpha f}}{I_z}\delta \tag{2.12} e2¨=(VxIz2lfCαf2lrCαr)e1˙+VxIz2lfCαf2lrCαrVxe2+(VxIz2lf2Cαf+2lr2Cαr)e2˙VxIz2lf2Cαf+2lr2Cαrψdes˙ψdes¨+Iz2lfCαfδ(2.12)

X = [ e 1 , e 1 ˙ , e 2 , e 2 ˙ ] T X=[e_1,\dot{e_1},e_2,\dot{e_2}]^T X=[e1,e1˙,e2,e2˙]T为误差状态变量,则道路-车辆误差状态方程可写成(与apollo保持一致,侧偏刚度采用正值):
X ˙ = A X + B U + B 1 ψ d e s ˙ + B 2 ψ d e s ¨ + C d d t [ e 1 e 1 ˙ e 2 e 2 ˙ ] = [ 0 1 0 0 0 − 2 C α f + 2 C α r m V x 2 C α f + 2 C α r m − 2 C α f l f − 2 C α r l r m V x 0 0 0 1 0 − 2 l f C α f − 2 l r C α r V x I z 2 l f C α f − 2 l r C α r I z − 2 l f 2 C α f + 2 l r 2 C α r V x I z ] [ e 1 e 1 ˙ e 2 e 2 ˙ ] + [ 0 2 C α f m 0 2 l f C α f I z ] δ + [ 0 − V x − 2 C α f l f − 2 C α r l r m V x 0 − 2 l f 2 C α f + 2 l r 2 C α r V x I z ] ψ d e s ˙ + [ 0 0 0 − 1 ] ψ d e s ¨ + [ 0 g 0 0 ] sin ⁡ ϕ (2.13) \dot{X}=AX+BU+B_1 \dot{\psi_{des}} +B_2 \ddot{\psi_{des}}+C \\ \frac{d}{dt}\left[\begin{matrix} e_1 \\ \dot{e_1} \\ e_2 \\ \dot{e_2} \end{matrix}\right] =\left[\begin{matrix} 0 & 1 & 0 & 0 \\ 0 & -\frac{2C_{\alpha f} + 2C_{\alpha r}} {mV_x} & \frac{2C_{\alpha f} + 2C_{\alpha r}} {m} & - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x}\\ 0 & 0 & 0 & 1 \\ 0 & -\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z} & \frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{I_z} & -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \end{matrix} \right] \left[ \begin{matrix} e_1 \\ \dot{e_1} \\ e_2 \\ \dot{e_2} \end{matrix} \right] +\left[ \begin{matrix} 0 \\ \frac{2C_{\alpha f}}{m} \\ 0 \\ \frac{2 l_f C_{\alpha f}}{I_z}\end{matrix}\right]\delta+\left[\begin{matrix} 0 \\- V_x - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} \\ 0 \\ -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \end{matrix} \right] \dot{\psi_{des}}+\left[\begin{matrix} 0 \\ 0 \\ 0 \\ -1 \end{matrix} \right] \ddot{\psi_{des}} +\left[\begin{matrix} 0 \\ g \\ 0 \\ 0 \end{matrix} \right] \sin{\phi} \tag{2.13} X˙=AX+BU+B1ψdes˙+B2ψdes¨+Cdtd e1e1˙e2e2˙ = 00001mVx2Cαf+2Cαr0VxIz2lfCαf2lrCαr0m2Cαf+2Cαr0Iz2lfCαf2lrCαr0mVx2Cαflf2Cαrlr1VxIz2lf2Cαf+2lr2Cαr e1e1˙e2e2˙ + 0m2Cαf0Iz2lfCαf δ+ 0VxmVx2Cαflf2Cαrlr0VxIz2lf2Cαf+2lr2Cαr ψdes˙+ 0001 ψdes¨+ 0g00 sinϕ(2.13)

其中:
A = [ 0 1 0 0 0 − 2 C α f + 2 C α r m V x 2 C α f + 2 C α r m − 2 C α f l f − 2 C α r l r m V x 0 0 0 1 0 − 2 l f C α f − 2 l r C α r V x I z 2 l f C α f − 2 l r C α r I z − 2 l f 2 C α f + 2 l r 2 C α r V x I z ] , B = [ 0 2 C α f m 0 2 l f C α f I z ] A = \left[ \begin{matrix} 0 & 1 & 0 & 0 \\ 0 & -\frac{2C_{\alpha f} + 2C_{\alpha r}} {mV_x} & \frac{2C_{\alpha f} + 2C_{\alpha r}} {m} & - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x}\\ 0 & 0 & 0 & 1 \\ 0 & -\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z} & \frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{I_z} & -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \end{matrix} \right], B =\left[ \begin{matrix} 0 \\ \frac{2C_{\alpha f}}{m} \\ 0 \\ \frac{2 l_f C_{\alpha f}}{I_z} \end{matrix} \right] A= 00001mVx2Cαf+2Cαr0VxIz2lfCαf2lrCαr0m2Cαf+2Cαr0Iz2lfCαf2lrCαr0mVx2Cαflf2Cαrlr1VxIz2lf2Cαf+2lr2Cαr B= 0m2Cαf0Iz2lfCαf

B 1 = [ 0 − V x − 2 C α f l f − 2 C α r l r m V x 0 − 2 l f 2 C α f + 2 l r 2 C α r V x I z ] , B 2 = [ 0 0 0 − 1 ] , C = [ 0 g 0 0 ] sin ⁡ ϕ , U = δ B_1 =\left[\begin{matrix} 0 \\- V_x - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} \\ 0 \\ -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \end{matrix} \right], B_2 = \left[ \begin{matrix} 0 \\ 0 \\ 0 \\ -1 \end{matrix} \right], C= \left[ \begin{matrix} 0 \\ g \\ 0 \\ 0\end{matrix}\right] \sin{\phi}, U = \delta B1= 0VxmVx2Cαflf2Cαrlr0VxIz2lf2Cαf+2lr2Cαr ,B2= 0001 ,C= 0g00 sinϕ,U=δ

这里仅仅考虑了横向的动力学关系,如果需要同时考虑到纵向动力学,且忽略最后带 ψ d e s ¨ \ddot{\psi_{des}} ψdes¨项和横坡度 C C C项,可以将上式进一步扩展为:
d d t [ e 1 e 1 ˙ e 2 e 2 ˙ e 3 e 3 ˙ ] = [ 0 1 0 0 0 0 0 − 2 C α f + 2 C α r m V x 2 C α f + 2 C α r m − 2 C α f l f − 2 C α r l r m V x 0 0 0 0 0 1 0 0 0 − 2 l f C α f − 2 l r C α r V x I z 2 l f C α f − 2 l r C α r I z − 2 l f 2 C α f + 2 l r 2 C α r V x I z 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ] [ e 1 e 1 ˙ e 2 e 2 ˙ e 3 e 3 ˙ ] + [ 0 0 2 C α f m 0 0 0 2 l f C α f I z 0 0 0 0 − 1 ] [ δ a ] + [ 0 − V x − 2 C α f l f − 2 C α r l r m V x 0 − 2 l f 2 C α f + 2 l r 2 C α r V x I z 0 0 ] ψ d e s ˙ (2.14) \frac{d}{dt} \left[ \begin{matrix} e_1 \\ \dot{e_1} \\ e_2 \\ \dot{e_2} \\ e_3 \\ \dot{e_3} \end{matrix} \right] =\left[ \begin{matrix} 0 & 1 & 0 & 0 &0 & 0\\ 0 & -\frac{2C_{\alpha f} + 2C_{\alpha r}} {mV_x} & \frac{2C_{\alpha f} + 2C_{\alpha r}} {m} & - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} &0 &0 \\ 0 & 0 & 0 & 1 & 0 & 0\\ 0 & -\frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{V_x I_z} & \frac{2 l_f C_{\alpha f} - 2 l_r C_{\alpha r}}{I_z} & -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} e_1 \\ \dot{e_1} \\ e_2 \\ \dot{e_2} \\ e_3 \\ \dot{e_3} \end{matrix} \right] +\left[ \begin{matrix} 0 & 0 \\ \frac{2C_{\alpha f}}{m} & 0\\ 0 & 0 \\ \frac{2 l_f C_{\alpha f}}{I_z} & 0 \\ 0 & 0 \\ 0 & -1 \end{matrix} \right] \left[ \begin{matrix} \delta \\ a \end{matrix} \right] + \left[ \begin{matrix} 0 \\- V_x - \frac{2C_{\alpha f} l_f - 2C_{\alpha r} l_r}{mV_x} \\ 0 \\ -\frac{2 l_f^2 C_{\alpha f} + 2 l_r^2 C_{\alpha r}}{V_x I_z} \\ 0 \\0 \end{matrix} \right] \dot{\psi_{des}} \tag{2.14} dtd e1e1˙e2e2˙e3e3˙ = 0000001mVx2Cαf+2Cαr0VxIz2lfCαf2lrCαr000m2Cαf+2Cαr0Iz2lfCαf2lrCαr000mVx2Cαflf2Cαrlr1VxIz2lf2Cαf+2lr2Cαr00000000000010 e1e1˙e2e2˙e3e3˙ + 0m2Cαf0Iz2lfCαf00000001 [δa]+ 0VxmVx2Cαflf2Cαrlr0VxIz2lf2Cαf+2lr2Cαr00 ψdes˙(2.14)

其中:

  • e 3 e_3 e3 – 纵向位置偏差
  • e 3 ˙ \dot{e_3} e3˙ – 纵向速度偏差(纵向位置偏差变化率)
  • e 3 ¨ \ddot{e_3} e3¨ – 纵向加速度偏差(纵向速度偏差变化率)
  • a a a – 加速度补偿量

动力学误差模型离散化

连续系统的离散化方法比较多,例如正向/反向差分变化法,双线性变换法,脉冲响应不变法,阶跃响应不变法等。
上述部分基于车辆横向误差和航向误差的动力学模型建立后,需要对模型进行离散化,这里对系统矩阵A进行中点欧拉离散化,对B和C矩阵进行正向差分变换,可以得到离散模型。下面对下列连续状态空间方程进行离散化:
连续状态空间方程(忽略最后带 ψ d e s ¨ \ddot{\psi_{des}} ψdes¨项和横坡度 C C C项):
X ˙ = A X + B U + B 1 ψ d e s ˙ \dot{X} = AX + BU + B_1\dot{\psi_{des}} X˙=AX+BU+B1ψdes˙

系统矩阵 A 双线性变换离散后为:
A d = ( I − T 2 A ) − 1 ( I + T 2 A ) A_d = (I - \frac{T}{2}A)^{-1}(I + \frac{T}{2}A) Ad=(I2TA)1(I+2TA)
B d = B ∗ T B_d = B*T Bd=BT
B 1 d = B 1 ∗ T B_{1d} = B_1*T B1d=B1T

则离散后的模型为:
X ( k + 1 ) = A d X ( k ) + B d U ( k ) + B 1 d ∗ ψ d e s ˙ ( k ) X(k+1) = A_d X(k) + B_d U(k) + B_{1d}*\dot{\psi_{des}}(k) X(k+1)=AdX(k)+BdU(k)+B1dψdes˙(k)
注:

  • I I I 为单位矩阵
  • T T T 为采样周期
  • 忽略最后一项 ψ d e s ¨ \ddot{\psi_{des}} ψdes¨
  • U ( k ) = [ δ ( k ) , a ( k ) ] T U(k) = [\delta(k), a(k)]^T U(k)=[δ(k),a(k)]T
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值