从今天起,本人将会佛系更新技术文章,主要围绕车辆控制展开,包括车辆动力学模型、自动驾驶车辆常用规划控制算法、状态估计与信号处理算法、ESC/VCU/ADAS应用层逻辑开发、Simulink建模与代码生成等等。
1.纵向动力学之轮胎
轮胎动力学可以称之为车辆动力学最难的一部分,涉及到XYZ三个维度,今天我们只讨论X这一维度的,即轮胎纵向动力学模型。废话少说,常用的轮胎模型有Pacejka模型、Dugoff模型、Magic Formula模型,其实哪一种模型都可以描述轮胎滑移率和纵向力的关系,我们不妨就用最后一种即“魔术公式”动力学模型来一起探讨。
2.何为魔术公式
直接上公示,只考虑纵向运动:
F
x
=
F
z
∗
D
∗
s
i
n
(
C
∗
a
t
a
n
(
B
∗
λ
−
E
∗
(
B
∗
λ
−
a
t
a
n
(
B
∗
λ
)
)
)
)
Fx=Fz*D*sin(C*atan(B*λ-E*(B*λ-atan(B*λ))))
Fx=Fz∗D∗sin(C∗atan(B∗λ−E∗(B∗λ−atan(B∗λ))))
这么多参数,分别代表什么意思呢?
首先,λ代表轮胎滑移率(Slip Ratio)、Fx代表轮胎纵向力、Fz代表轮胎垂直载荷,B代表Stiffness Factor,C代表Shape Factor,D代表Peak Factor,E代表Curvature Factor。不同方路面有着不同的参数,以下为matlab官方数据:
进一步,B、C、D、E四个参数又是由更多的第二参数b0,b1,b2…等诸多拟合得到,公式如下:
F
o
r
m
u
l
a
s
1
=
.
.
.
.
.
.
.
Formulas_{1}=.......
Formulas1=.......
F
o
r
m
u
l
a
s
2
=
.
.
.
.
.
.
.
Formulas_{2}=.......
Formulas2=.......
…
F
o
r
m
u
l
a
s
n
=
.
.
.
.
.
.
.
Formulas_{n}=.......
Formulasn=.......
此处省略n个公式,因为太JB难打了,打出来你们也不会看!
不过本着严谨认真的原则,我还是把这些参数的含义附带上了。来吧各位仔细研读一下,这是个很好的学习专业英语的机会,多提升一下英语水平润去外企WLB岂不是美滋滋?
好了,有了这些理论我们就来验证一下大名鼎鼎的魔术公式。我找来一组实验数据,包含了滑移率和纵向力的信息,通过最小二乘法进行数据拟合得到了魔术公式的第一参数,D C B E分别为2.1597,2.0931,0.1000, 0.8000,跟官方的参数范围不是严格一致,这个时候,不仅要怀疑matlab官方数据是否权威!
3.魔术公式具象化
如果以上数据较为抽象,那么我们根据魔术公式来绘制一下在不同的路面下,λ、Fx以及Fz三者之间的关系,将公式具象化。
可以看出,不同路面下,即便是驾驶员给同样大的扭矩,但是作用在驱动轮上的扭矩却相差很大,低附路面要比高附路面损失更多的驱动力或者制动力,所以,要想跑得快,还得是汽车的“鞋子”——轮胎说了算,这样讲不是没有道理吧
理论上将轮胎的滑移率控制在12-25%之间,能够最大程度的输出扭矩,且保证车辆的操纵稳定性和安全性,而这也是TCS和ABS控制的目标。
4.魔术公式在实际开发中的应用
以上曲线可以大致反映在不同路面下,作用在轮胎上的纵向力与滑移率的关系。所以不管是魔术公式轮胎模型还是Dugoff轮胎模型,在车辆控制软件开发前期,在保证轮胎动力学以及整车动力学模型更贴合实车表现的前提下,利用MIL(Model-in-the-Loop)、SIL(Software-in-the-Loop)、PIL(Processor-in-the-Loop)以及HIL(Hardware-in-the-Loop)测试可以精准地验证控制算法的表现,并完成桌面标定;其次,可以借助简化的轮胎动力学模型进行车辆状态估算,估算出传感器无法直接测量的信号,或者对可测量的信号进行修正。
借助魔术公式以及基于轮胎的受力原理图,我们来搭建一下简化的车辆纵向动力学模型,并模拟车辆加速和减速时候的表现。
车轮受力公式和原理图如下:
T
D
r
i
v
e
−
T
B
r
a
k
e
−
F
x
=
I
∗
d
w
/
d
t
T_Drive-T_Brake-F_x=I*dw/dt
TDrive−TBrake−Fx=I∗dw/dt
$I代表车轮转动惯量,dw/dt代表车轮旋转加速度,通俗易懂。
可以看出在加速的时候车轮打滑,轮速明显高于车身速度,滑移率达到了40%以上;而减速的时候,车轮出现了抱死现象,滑移率达到了-30%以下。
有了轮胎动力学模型来模拟车辆加减速表现,下一步我们可以对车轮打滑和抱死的时候进行滑移率控制,即ABS和TCS的控制逻辑设计。
滑移率控制听着很简单,只需要轮速数据和车身速度数据即可,但是由于实车中没有直接测量车身速度的传感器,只能借助轮速传感器或者GPS来估计,车身速度的估计是一大难点,所以滑移率控制并不简单。
后续,我们会针对车辆纵向速度估计以及加速度估计展开一系列的专题探讨,如果,你也对此感兴趣,不如先关注一下!