二自由度车辆的运动学模型和动力学模型
最近刚接触自动驾驶相关的知识,得知像LQR、MPC这类基于模型的控制器,若想有不错的控制器性能,那么必须有比较精确的被控对象的数学模型。对于车辆这类被控对象的模型,经过一系列简化和在一些假设的情况下,可以将车辆简化成一个二自由度的模型,如下图所示是一个二自由度汽车模型,根据此模型建立其运行学和动力学模型。
二自由度车辆的运动学模型
首先建立运动学模型:
其中
v
v
v是小车的实际速度将其沿着
x
,
y
x,y
x,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=l
a+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,z
x,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_r
Fyr=Cr.δr,
F
y
f
=
C
f
.
δ
f
F_{yf} = C_f.\delta_f
Fyf=Cf.δf,而
C
r
,
C
f
C_r,C_f
Cr,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)=0
Fxfsin(δ)=0,当以前轮驱动的车辆作为研究目标时,后轮驱动力
F
x
r
=
0
F_{xr} =0
Fxr=0.
最终写成状态空间方程的形式
至此,关于二自由度车辆的运动学模型和动力学模型推导完毕,下面将讲解控制器的设计。
主要参考忠厚老实的老王王老师的相关推导