自动驾驶规划控制系列文章(一)——车辆数学模型


规划控制模块在整个自动驾驶领域占有相当重要的位置;对规划而言,能够规划出一条符合车辆运动规律的轨迹对底层的控制来说是至关重要。对于控制而言,其建立的模型越准确,则控制通常就会更加精准。因此建立比较精确的车辆数学模型对规划和控制都相当重要。本文以将车辆简化为自行车模型,然后分别建立运动学模型和动力学模型。

一、车辆自行车运动学模型(kinematic bicycle model)

运动学模型基于如下假设:

  1. 不考虑车辆在垂直方向(z轴方向上的运动),即假设车辆在一个二维平面上运动。
  2. 忽略车辆受力情况,只考虑车辆在运动中的几何关系;
  3. 两个前轮(后轮)合并成一个单独的轮胎(自行车模型的由来);
  4. 轮胎运动方向和轮胎平面水平.

1.基于车辆重心的运动学模型

车辆自行车模型示意如下 所示。
在这里插入图片描述
点O为车辆旋转中心,A为前轮中心,B为后轮中心,C为重心(质心)。
其它符号含义入下:

符号含义符号含义
δ f \delta_f δf前轮偏角 δ r \delta_r δr后轮偏角
l r l_r lr后轮中心到重心之间的距离 l f l_f lf前轮中心到重心的距离
v v v重心速度 β \beta β滑移角
ψ \psi ψ航向角 u 1 u_1 u1车辆加速度
x x x车辆x轴方向位置 y y yy轴位置

其根据几何关系可以得到如下数学模型1 2
根据三角形正弦定理,对于OCA有:
s i n ( δ f − β ) l f = s i n ( π 2 − δ f ) R                    ( 1.1 ) \frac{sin(\delta_f-\beta)}{l_f} = \frac{sin(\frac{\pi}{2}-\delta_f)}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:(1.1) lfsin(δfβ)=Rsin(2πδf)(1.1)
对OCB有:
s i n ( β − δ r ) l r = s i n ( π 2 + δ r ) R                    ( 1.2 ) \frac{sin(\beta-\delta_r)}{l_r} = \frac{sin(\frac{\pi}{2}+\delta_r)}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:(1.2) lrsin(βδr)=Rsin(2π+δr)(1.2)
从(1.1)得到:
s i n ( δ f ) c o s ( β ) − s i n ( β ) c o s ( δ f ) l f = δ f R               ( 1.3 ) \frac{sin(\delta_f)cos(\beta) - sin(\beta)cos(\delta_f)}{l_f} = \frac{\delta_f}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.3) lfsin(δf)cos(β)sin(β)cos(δf)=Rδf(1.3)
从(1.2)得到:
c o s ( δ r ) s i n ( β ) − c o s ( β ) s i n ( δ r ) l r = c o s ( δ r ) R               ( 1.4 ) \frac{cos(\delta_r)sin(\beta) - cos(\beta)sin(\delta_r)}{l_r} = \frac{cos(\delta_r)}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.4) lrcos(δr)sin(β)cos(β)sin(δr)=Rcos(δr)(1.4)
(3)两边乘以 l f c o s ( δ f ) \frac{l_f}{cos(\delta_f)} cos(δf)lf得到:
t a n ( δ f ) c o s ( β ) − s i n ( β ) = l f R               ( 1.5 ) tan(\delta_f)cos(\beta)-sin(\beta)=\frac{l_f}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.5) tan(δf)cos(β)sin(β)=Rlf(1.5)
同理(4)两边乘以 l r c o s ( δ r ) \frac{l_r}{cos(\delta_r)} cos(δr)lr得到:
s i n ( β ) − t a n ( δ r ) c o s ( β ) = l r R               ( 1.6 ) sin(\beta)-tan(\delta_r)cos(\beta) = \frac{l_r}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.6) sin(β)tan(δr)cos(β)=Rlr(1.6)
将(5)(6)相加得:
( t a n ( δ f ) − t a n ( δ r ) ) c o s ( β ) = l f + l r R               ( 1.7 ) (tan(\delta_f)-tan(\delta_r))cos(\beta)=\frac{l_f+l_r}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.7) (tan(δf)tan(δr))cos(β)=Rlf+lr(1.7)
在上述假设条件下,很容易得到如下关系:
ψ ˙ = v R               ( 1.8 ) \dot{\psi} = \frac{v}{R}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.8) ψ˙=Rv(1.8)
代入(1.7)中,可以得到:
ψ ˙ = v c o s ( β ) l f + l r ( t a n ( δ f ) − t a n ( δ r ) )               ( 1.9 ) \dot{\psi} = \frac{vcos(\beta)}{l_f+l_r}(tan(\delta_f)-tan(\delta_r))\:\:\:\:\:\:\:\:\:\:\:\:\:(1.9) ψ˙=lf+lrvcos(β)(tan(δf)tan(δr))(1.9)
综上,可得到自行车运动学模型:
x ˙ = v   c o s ( ψ + β ) y ˙ = v   s i n ( ψ + β ) ψ ˙ = v c o s ( β ) l r + l f   t a n ( δ f − δ r ) v ˙ = u 1 }               ( 1.10 ) \left. \begin{matrix} \dot{x} = v\,cos(\psi + \beta) \\ \dot{y} = v\,sin(\psi + \beta) \\ \dot{\psi} = \frac{v cos(\beta)}{l_r + l_f}\, tan(\delta_f-\delta_r) \\ \dot{v} = u_1\\ \end{matrix} \right\}\:\:\:\:\:\:\:\:\:\:\:\:\:(1.10) x˙=vcos(ψ+β)y˙=vsin(ψ+β)ψ˙=lr+lfvcos(β)tan(δfδr)v˙=u1(1.10)

其中
β = a t a n [ l r t a n ( δ f ) + l f t a n ( δ r ) l r + l f ]               ( 1.11 ) \beta = atan[\frac{l_rtan(\delta_f)+l_ftan(\delta_r)}{l_r+l_f}] \:\:\:\:\:\:\:\:\:\:\:\:\:(1.11) β=atan[lr+lflrtan(δf)+lftan(δr)](1.11)

2. 以后轴中心为原点的运动学模型

在这里插入图片描述
在这里插入图片描述

根据几何关系可以的得到如下模型
{ x ˙ = s ∗ c o s ( θ ) y ˙ = s ∗ s i n ( θ ) θ ˙ = s ∗ t a n ( α ) L s ˙ = u 1 \begin{cases} \dot{x} = s*cos(\theta) \\ \dot{y} = s*sin(\theta) \\ \dot{\theta} = s* \frac{tan(\alpha)}{L} \\ \dot{s} = u_1 \end{cases} x˙=scos(θ)y˙=ssin(θ)θ˙=sLtan(α)s˙=u1
其中s为车速(后轴中心速度),u1 为加速度,基于该模型,当我们确定了某个控制输入 ( u 1 , α ) (u_1,\alpha) (u1,α)时,我们就可以估算下一时刻车辆的状态信息。

二、车辆自行车动力学模型(kinematic bicycle model)

上面介绍的运动学模型在速度较低时,能够较为准确的反映车辆运动状态,但在高速条件下,其车轮的侧滑角已经不能在忽略。下面将建立自行车的动力学模型。

1、基本模型建立

在建模之前我们作如下假设:

  1. 车辆所受的空气的力只会对车身坐标系x轴方向上的运动有影响,y轴方向和沿着z轴的旋转不会受到空气力的影响;
  2. 车辆运行在二维平面中,也就是z轴无速度。
  3. 车辆轮胎力运行在线性区间。

建立如下坐标系,X,Y表示全局坐标系,x,y则表示车身坐标系,x轴方向沿车辆中轴方向向前,y轴方向朝右,其原点在质心位置。
在这里插入图片描述
根据牛顿运动定律有:
m a y = F y f + F y r ( 2.1 ) ma_y = F_{yf} + F_{yr}\qquad\qquad(2.1) may=Fyf+Fyr(2.1)
其中 a y = d 2 y d t 2 a_y=\frac{d^2y}{dt^2} ay=dt2d2y表示在y方向的质心加速度。
m a x = F x f + F x r − F a e r o ( 2.2 ) m a_x = F_{xf} + F_ {xr}-F_{aero}\qquad\qquad(2.2) max=Fxf+FxrFaero(2.2)
其中: a x = d 2 x d t 2 a_x=\frac{d^2x}{dt^2} ax=dt2d2x表示在x方向的质心加速度。

F y f \qquad F_{yf} Fyf F y r F_{yr} Fyr分别表示车前轮和后轮所受到的力在y轴方向上的分量。

F x f \qquad F_{xf} Fxf F x r F_{xr} Fxr分别表示车前轮和后轮所受到的力在x轴方向上的分量。

F a e r o \qquad F_{aero} Faero F x r F_{xr} Fxr表示车在x轴方向受到的空气阻力。

其沿着x和y轴方向上的加速度包括两部分,一部分是沿着轴方向运行加速度,另一部分为离心加速度。
a x = v x ˙ − v y ψ ˙ a y = v y ˙ + v x ψ ˙ } ( 2.3 ) \left. \begin{matrix} a_x = \dot{v_x}-v_y\dot{\psi} \\ a_y = \dot{v_y}+v_x \dot{\psi} \end{matrix} \right\}\qquad\qquad(2.3) ax=vx˙vyψ˙ay=vy˙+vxψ˙}(2.3)
另外,在z轴方向转动方程:
I z ψ ¨ = l f F y f − l r F y r ( 2.4 ) I_z \ddot{\psi} = l_f F_{yf} - l _r F_{yr}\qquad\qquad(2.4) Izψ¨=lfFyflrFyr(2.4)

2、力的计算

车辆轮胎在y轴方向受到的力 F y f F_{yf} Fyf F y r F_{yr} Fyr实验结果表明,其大小正比于轮胎的侧滑角。其侧滑角如下图所示:
在这里插入图片描述
可以得到,前轮侧滑角:
α f = δ − θ v f ( 2.5 ) \alpha_f = \delta -\theta_{vf}\qquad\qquad(2.5) αf=δθvf(2.5)
后轮侧滑角:
α r = − θ v r ( 2.6 ) \alpha_r= -\theta_{vr}\qquad\qquad(2.6) αr=θvr(2.6)
因此,有:
F y f = 2 C α f ( δ − θ v f ) ( 2.7 ) F_{yf} = 2 C_{\alpha f}(\delta-\theta_{vf})\qquad\qquad(2.7) Fyf=2Cαf(δθvf)(2.7)
F y r = 2 C α r ( − θ v r ) ( 2.8 ) F_{yr} = 2 C_{\alpha r}(-\theta_{vr})\qquad\qquad(2.8) Fyr=2Cαr(θvr)(2.8)
其中 C α f C_{\alpha f} Cαf C α r C_{\alpha r} Cαr分别表示前后轮的转弯刚度(cornering stiffness)

根据运动关系可以得到:
t a n ( θ v f ) = v y + l f ψ ˙ v x ( 2.9 ) tan(\theta_{vf}) = \frac{v_y + l_f \dot{\psi}}{v_x}\qquad\qquad(2.9) tan(θvf)=vxvy+lfψ˙(2.9)
t a n ( θ v r ) = v y − l r ψ ˙ v x ( 2.10 ) tan(\theta_{vr}) = \frac{v_y - l_r \dot{\psi}}{v_x}\qquad\qquad(2.10) tan(θvr)=vxvylrψ˙(2.10)

车辆在x轴方向的力 F x f F_{xf} Fxf F x r F_{xr} Fxr与轮胎的滑比 σ x \sigma_x σx成正比。其定义为:
σ x = r e f f ω w − v x v x 刹 车 时 σ x = r e f f ω w − v x r e f f ω w 加 速 时 } ( 2.11 ) \left. \begin{matrix} \sigma_x= \frac{r_{eff} \omega_w - v_x}{v_x} 刹车时 \\ \\ \sigma_x= \frac{r_{eff} \omega_w - v_x}{r_{eff} \omega_w} 加速时 \end{matrix} \right\}\qquad\qquad(2.11) σx=vxreffωwvxσx=reffωwreffωwvx(2.11)
因此有:
F x f = 2 C σ f σ x f ( 2.12 ) F_{xf} = 2 C_{\sigma f} \sigma_{xf}\qquad\qquad(2.12) Fxf=2Cσfσxf(2.12)
F x r = 2 C σ r σ x r ( 2.13 ) F_{xr} = 2 C_{\sigma r} \sigma_{xr}\qquad\qquad(2.13) Fxr=2Cσrσxr(2.13)
其中 C σ r C_{\sigma r} Cσr为纵向的轮胎刚性参数(tire stiffness parameters)。

对于空气阻力2
F a e r o = 1 2 ρ C d A F ( v x + v w i n d ) 2 ( 2.14 ) F_{aero} = \frac{1}{2}\rho C_d A_F(v_x + v_{wind})^2\qquad\qquad(2.14) Faero=21ρCdAF(vx+vwind)2(2.14)
另外在全局坐标系下:
X ˙ = v x c o s ( ψ ) − v y s i n ( ψ ) Y ˙ = v x s i n ( ψ ) + v y c o s ( ψ ) } ( 2.15 ) \left. \begin{matrix} \dot{X} = v_x cos(\psi) - v_y sin(\psi) \\ \dot{Y} = v_x sin(\psi) + v_y cos(\psi) \end{matrix} \right\}\qquad\qquad(2.15) X˙=vxcos(ψ)vysin(ψ)Y˙=vxsin(ψ)+vycos(ψ)}(2.15)

3、动力学模型总结

总结上述建模过程,我们可以轻松得到如下车辆自行车动力学模型:
{ X ˙ = v x c o s ( ψ ) − v y s i n ( ψ ) Y ˙ = v x s i n ( ψ ) + v y c o s ( ψ ) x ˙ = v x y ˙ = v y v x ˙ = 2 C σ r σ x r + 2 C σ f σ x f − 1 2 ρ C d A F ( v x + v w i n d ) 2 m + v y ψ ˙ v y ˙ = 2 C α f [ δ − a t a n ( v y + l f ψ ˙ v x ) ] + 2 C α r [ − a t a n ( v y − l r ψ ˙ v x ) ] m − v x ψ ˙ ψ ¨ = 2 l f C α f [ δ − a t a n ( v y + l f ψ ˙ v x ) ] − 2 l r C α r [ − a t a n ( v y − l r ψ ˙ v x ) ] I z \left \{ \begin{matrix} \dot{X} = v_x cos(\psi) - v_y sin(\psi) \\ \\ \dot{Y} = v_x sin(\psi) + v_y cos(\psi) \\ \\ \dot{x}= v_x\\ \\ \dot{y} = v_y\\ \\ \dot{v_x} = \frac{2 C_{\sigma r} \sigma_{xr} + 2 C_{\sigma f} \sigma_{xf} - \frac{1}{2}\rho C_d A_F(v_x + v_{wind})^2 }{m} + v_y\dot{\psi}\\ \\ \dot{v_y} = \frac{2 C_{\alpha f}[\delta- atan(\frac{v_y + l_f \dot{\psi}}{v_x} )]+ 2 C_{\alpha r}[-atan(\frac{v_y - l_r \dot{\psi}}{v_x})]}{m}-v_x \dot{\psi}\\ \\ \ddot{\psi} =\frac{ 2l_f C_{\alpha f}[\delta- atan(\frac{v_y + l_f \dot{\psi}}{v_x} )] - 2 l _r C_{\alpha r}[-atan(\frac{v_y - l_r \dot{\psi}}{v_x})]}{I_z} \end{matrix} \right. X˙=vxcos(ψ)vysin(ψ)Y˙=vxsin(ψ)+vycos(ψ)x˙=vxy˙=vyvx˙=m2Cσrσxr+2Cσfσxf21ρCdAF(vx+vwind)2+vyψ˙vy˙=m2Cαf[δatan(vxvy+lfψ˙)]+2Cαr[atan(vxvylrψ˙)]vxψ˙ψ¨=Iz2lfCαf[δatan(vxvy+lfψ˙)]2lrCαr[atan(vxvylrψ˙)]


  1. 自动驾驶中的车辆运动学模型 ↩︎

  2. Rajamani R. Vehicle Dynamics and Control[M]. Springer Science, 2006. ↩︎ ↩︎

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值