二自由度车辆的运动学模型和动力学模型
最近刚接触自动驾驶相关的知识,得知像LQR、MPC这类基于模型的控制器,若想有不错的控制器性能,那么必须有比较精确的被控对象的数学模型。对于车辆这类被控对象的模型,经过一系列简化和在一些假设的情况下,可以将车辆简化成一个二自由度的模型,如下图所示是一个二自由度汽车模型,根据此模型建立其运行学和动力学模型。
二自由度车辆的运动学模型
首先建立运动学模型:
其中v vv是小车的实际速度将其沿着x , y x,yx,y轴进行分解,即将车体坐标系下的速度分解到笛卡尔坐标系下。
运用三角函数以及线速度和角速度的关系建立如下的运动学模型,
x ˙ = v c o s ( β + φ ) y ˙ = s i n ( β + φ ) ω = v R \dot{x} = vcos(\beta+\varphi) \\ \dot{y}=sin(\beta+\varphi) \\ \omega = \frac{v}{R}x˙=vcos(β+φ)y˙=sin(β+φ)ω=Rv
后轮到中心的距离为a,前轮到中心的距离为b且a + b = l a+b=la+b=l,根据三角函数中的正弦定理可知:
R s i n ( π 2 − δ r ) = a s i n ( δ r + β ) R s i n ( π 2 − δ f ) = b s i n ( δ f − β ) \frac{R}{sin(\frac{\pi}{2}-\delta_r)} = \frac{a}{sin(\delta_r+\beta)} \\ \frac{R}{sin(\frac{\pi}{2}-\delta_f)} = \frac{b}{sin(\delta_f-\beta)}sin(2π−δr)R=sin(δr+β)asin(2π−δf)R=sin(δf−β)b
考虑在低速的情况下,车不会发生侧向滑动,后轮不发生转向即δ r = 0 , β = 0 \delta_r =0,\beta =0δr=0,β=0
则得到
R = l t a n ( δ f ) R = \frac{l}{tan(\delta_f)}R=tan(δf)l
最终得到二自由度车辆的运动学模型
x ˙ = v c o s ( φ ) y ˙ = s i n ( φ ) ω = v . t a n ( δ f ) l \dot{x} = vcos(\varphi) \\ \dot{y}=sin(\varphi) \\ \omega = \frac{v.tan(\delta_f)}{l}x˙=vcos(φ)y˙=sin(φ)ω=lv.tan(δf)
二自由度车辆的动力学模型

根据上图的二自由度车辆的模型从力以及转矩方面进行分解
在x , y , z x,y,zx,y,z轴进行分析
m ( x ¨ − v y φ ˙ ) = F x r + F x f c o s ( δ ) − F y f s i n ( δ ) m ( y ¨ + v x φ ˙ ) = F y r + F y f c o s ( δ ) + F x f s i n ( δ ) I φ ¨ = ( F y f c o s ( δ ) + F x f s i n ( δ ) ) . b − F y r . a m(\ddot{x} -v_y\dot{\varphi})=F_{xr}+F_{xf}cos(\delta)-F_{yf}sin(\delta) \\ m(\ddot{y} +v_x\dot{\varphi})=F_{yr}+F_{yf}cos(\delta)+F_{xf}sin(\delta) \\ I \ddot{\varphi} = (F_{yf}cos(\delta)+F_{xf}sin(\delta)).b-F_{yr}.a \\m(x¨−vyφ˙)=Fxr+Fxfcos(δ)−Fyfsin(δ)m(y¨+vxφ˙)=Fyr+Fyfcos(δ)+Fxfsin(δ)Iφ¨=(Fyfcos(δ)+Fxfsin(δ)).b−Fyr.a
其中F y r = C r . δ r F_{yr} = C_r.\delta_rFyr=Cr.δr,F y f = C f . δ f F_{yf} = C_f.\delta_fFyf=Cf.δf,而C r , C f C_r,C_fCr,Cf代表侧偏刚度。
下面将对δ r 以 及 δ f \delta_r以及\delta_fδr以及δf进行计算
t a n ( δ r ) = φ ˙ a − v y v x t a n ( δ − δ f ) = φ ˙ b + v y v x tan(\delta_r) = \frac{\dot{\varphi}a-v_y}{v_x} \\ tan(\delta-\delta_f ) = \frac{\dot{\varphi}b+v_y}{v_x}tan(δr)=vxφ˙a−vytan(δ−δf)=vxφ˙b+vy
忽略前轮驱动力F x f F_{xf}Fxf对横摆运动的影响F x f s i n ( δ ) = 0 F_{xf}sin(\delta)=0Fxfsin(δ)=0,当以前轮驱动的车辆作为研究目标时,后轮驱动力F x r = 0 F_{xr} =0Fxr=0.
最终写成状态空间方程的形式
至此,关于二自由度车辆的运动学模型和动力学模型推导完毕,下面将讲解控制器的设计。
主要参考忠厚老实的老王王老师的相关推导