提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
需要先理解车辆运动学模型
好久不见!
之前两篇文章把车辆运动学模型讲完了。
这次讲一下车辆动力学模型:
少年,这个就有点难了,按照你之前的步骤,先点了收藏再退出吧。
首先需要理解,车辆动力学模型和车辆运动学模型的不同,以及为什么要学这个:
因为之前咱们推导的运动学模型,没有力,就纯纯是非常理想化的一个简易二维平面模型,不仅存在着各种误差,并且实际上无法进行控制。
因为输入不能是速度,无论是电机还是发动机,输入都是力。
(推导起来还是有一定难度哈,所以不要觉得自己笨。)
并且车辆在实际形式过程中,势必还会受到轮胎性能影响(否则为啥好轮胎那么贵呢),这些就会影响它的加速度,从而影响速度,从而影响车辆的位姿,从而影响车辆的所需的控制。
所以,为了更好的控制车辆,必须进行车辆动力学建模。
我们依然还是从【输入】【输出】【已知量】出发,结合之前的【运动学模型】进行推导。
需要注意的是,我们这次模型依然是二维平面下的模型。
一、【输入】【输出】【已知量】?
先说【输出】:
【输出】是车辆在全局坐标系下的加速度。
之前我们在【运动学模型】的时候,【输出】是车辆在全局坐标系下运动的速度,现在我们为了更简单的表达出【动力学模型】的式子,选取车辆速度在时间下的微分——加速度,来做输出量。
x方向加速度——ax
y方向加速度——ay
绕z轴角加速度——α
【注意:速度也罢,加速度也罢,其实都是为了在时间上积分,得到我们真正想控制的量——车辆在全局坐标系下的速度。】
再说【输入】:
要输出加速度,那输入一定就是各种力了。
这里一共有五个力:
前车轮x方向受力:Fxf
前车轮y方向受力:Fyf
后车轮x方向受力:Fxr
后车轮y方向受力:Fxr
x方向科氏力:Fxk
y方向科氏力:Fyk
需要注意的是,上面所有的【输入】受力都是车辆自身的坐标系,而【输出】则是全局坐标系,所以之间还需要坐标转换。
你一定发现少了个空气阻力,对,因为忽略了,不是因为它不重要,而是因为加上它就太复杂了,所以你就能看出来,其实整个模型依然是一个低速模型,不过没运动学模型那么低速。具体怎么选择,要做停车等动作就用运动学模型,正常跑就用动力学,上高速就当我没说。
首先说明一下这个假定是前面两个轮子受力完全一样,后面两个轮子受力完全一样。
你是不是想问,科氏力是什么呢?
就是车辆旋转时的惯性力,为啥叫这个名字我就不清楚了。
接下来我们就开始推导。
二、推导步骤
推导前需要先说一下,因为车辆的动力学模型非常复杂,所以根据方向不同,分为纵向动力学,横向动力学,和
1.【输入】【输出】建立关系。
因为这个推导比较难,所以我们先写个其实看不出什么关系的关系:
x轴方向:ax=f(Fxf,Fxr,Fkx)
y轴方向:ay=f(Fyf,Fyr,Fky)
绕z轴旋转:α=f(Fyr,Fyr)
需要注意的是,其中所有的力都是【车辆自身坐标系】,
上面的式子,看不出什么关系来,但是会让你产生疑问:
为啥绕z轴旋转没有科氏力呢?
因为绕z轴的旋转的力,只和车体的横向受力有关,这个横向是只垂直于车身方向。
【输入】力和【输出】加速度之间还差了一个质量,这个我们最后再加上
到这里呢,我们就先进行了一个简易的【输入】【输出】关系的搭建映射,接下来呢,我们进行进一步推导,把他们具体的关系给写出来。
接下来呢,我们就需要进行这几个力的推导。
2.纵向受力Fx
再强调一遍,这里的纵向受力都是指车身坐标系中的纵向受力。
图片来源:https://blog.csdn.net/awhoee/article/details/128519534
如图所示,在斜坡上,车辆纵向受力主要分为三部分:
前轮and后轮纵向力:Fxf,Fxr,这两个力向上爬的动力。
前轮and后轮滚动阻力:Rxf,Rxr,这部分和
车身重力的沿地面方向力:mg*sinθ
等效风阻:Fareo,车辆在行驶过程中不可避免有风阻,且车速越快风阻越大。
则可以得到车辆的纵向受力Fx:
Fx=Fxf+Fxr-(Rxf+Rxr)-Fareo-mg*sinθ
其中θ是坡度
在上坡时,车辆动力就是车轮纵向力,其余三种力都是阻力。
注意:如果是下坡,则受力分析会有不同。
接下来分别开始推导这4组力中的三组【等效风阻】【纵向力】【滚动阻力】:
等效风阻(也就是空气阻力):
图片来源:https://blog.csdn.net/awhoee/article/details/128519534
没什么推导的,就是一个公式,里面只有Vx为控制量。
轮胎纵向力
这个力是让车辆可以正常行驶的动力,也就是克服其他所有阻力的力,先直接给出计算公式:
Fxf=Cfσxf
Fxr=Crσxr
首先解释一下Cf是什么,Cf又名穿越火线,是一款充钱游戏。
Cr则是轮胎侧偏刚度,也就是【车轮纵向力与滑动率】的比值,这个是在轮胎生产之后就可以测出来的,也是一个固定系数。
然后需要明确一个概念–滑移率(滑动率),这个名称相信大家在别的博客力都看到过,滑移率就是【车轮接地处的滑动速度与车轮中心运动速度的比值】,就是【轮胎打滑】。
滑移率公式给出:
图片来源:https://blog.csdn.net/awhoee/article/details/128519534
上面公式里,我们能控制的是车轮转速和汽车速度,汽车速度可以通过传感器反馈,车轮转速则是我们需要控制的。
又需要注意的是:大家也看到了,上面的公式直接将一个固定的系数乘滑移率,是一个线性模型,其实在车辆实际运行时,遇到雨雪等地面,经常出现非线性情况,这个时候就需要引入轮胎魔术公式等其他轮胎模型,有兴趣的可以去了解一下。
轮胎滚动阻力
这就是最后一个需要推导的阻力了,非常简单:
Rxf+Rxr=f*(Fzf+Fzr)
其中f是滚动阻力系数,与路面的种类、行驶车速以及轮胎的构造、材料、气压等有关。取值范围一般在0.01到0.04之间,常见的子午线轮胎的滚动阻力系数在0.015左右。
这个系数通过实验求得,不用自己算。
Fzf和Fzr就是车辆前后轮胎受到的法向载荷,也就是车胎和地面接触面受到的压力。
有人就会问了,为什么不直接是车辆重力的分力呢,这部分我也不太理解,等之后理解了回来补吧 ,直接给出公式:
图片来源:https://blog.csdn.net/awhoee/article/details/128519534
公式里面又带…的x,这个就是车身纵向加速度。
到了这里,轮胎纵向力就推导完毕了,公式因为我也是粘贴过来的,就不整理了。
3.侧向受力Fy
整个车辆动力学中,侧向受力是最难的最复杂的,于是你就会看到有很多博客中用了很多笔墨去介绍这部分,但是由于过于复杂所以看不懂,所以我在下面尽量用一种通俗易懂的模式解释:
车辆的侧向受力分为两部分,前车轮侧向受力和后车轮侧向受力,如图:
图片来源:https://https://zhuanlan.zhihu.com/p/520887731
分为两部分的原因就是如图,因为前车轮有角度,后车轮与车身没角度。
于是:
Fy=Fyr+Fyf*cosδ
其中需要注意的是,其中的三个受力都是车身坐标系下的,我们还没有进行坐标转换。
Fy为车辆坐标系下的纵向力合力,Fyr是后轮所受侧偏力,Fyf为前轮所受侧偏力。
到了这里一定会有疑问:
1.为什么纵向力就是前后轮所受侧偏力的合力呢?
2.什么是侧偏力?
其实这两个问题需要一起回答,先看图:
图片来源:https://https://zhuanlan.zhihu.com/p/520887731
先说一下这个图是从上往下看轮胎的图,x是它的行驶方向。
上面的长方形就是一个轮胎,箭头就是它的受力图。
轮胎是一个非刚体,在行驶过程中,路面的侧向倾斜,侧向风或者曲线行驶时的向心力等,都会产生侧向力,也就是侧偏力。
这个力会让轮胎的受力不再是轮胎的行驶方向,而是成一定角度,如图所示,也就是α。
于是就可以用轮胎的侧偏力来描述轮胎所受侧向力:
Fyr=Crαr
Fyf=Cfαf
Cf和Cr分别是前后轮的侧偏刚度系数,αr和αf分别是前后轮的侧偏角,也就是前进方向和受力方向的夹角。
到这里的时候,就需要求出αr和αf两个侧偏角的表达式了。
重申一遍侧偏角的定义:轮胎速度方向和轮胎横截面的角度。
图片来源:https://https://zhuanlan.zhihu.com/p/520887731
如图所示,后轮夹角较为简单,如图:
图片来源:https://https://zhuanlan.zhihu.com/p/520887731
直接给出公式
来解释一下公式中的字母的含义:
φ是车身中心绕z轴的摆角,上面加个点就是对应的角速度,lr是后车轮中心到车辆中心的距离,二者相乘就是后轮此时沿切线的线速度;
v是车辆的速度方向;
下面那个vr是后车轮实际的速度方向。
前轮的侧偏角如图:
还是先列公式:
αf=δf-θ
其中
这里解释一下其中的几个字母:
v是车辆速度
vf是前车轮速度
δf是车轮转角,也就是我们用方向盘控制的车轮角度
这里的θ是车轮速度方向和车身的夹角
到此为止,车辆的横向受力我们就算推导完了,不整理公式了,太麻烦了。
3.旋转受力
mα=2aFyf-2bFyr
其中m是汽车质量,α为车辆绕z轴角加速度,a是前轮中心和车辆中心距离,b就是后轮中心和车轮中心的夹角。
4.科式力Fk
Fk=mαV
其中α是车辆绕z轴的旋转角加速度,V是车辆速度
就这么算的,没什么原因
于是车身x方向:
Fkx=mαVx
Fky=mαVy
5.推导结束
到这里,所有的力就推导结束了。
之后有空了再整理在这个下面。
注意:
最后其实还缺失从车辆坐标系转到大地坐标系的转换,这部分就是加入一个sin和cos就可以,角度是车辆横摆角,可以参考我自行车运动模型里面的内容
总结
如果你要是看不太懂,不要觉得是自己的问题,是我这个博客没写清楚,因为我看了别人写的也觉得他们写的不清楚,所以按照自己的思路写了一篇,其中还有些地方我也不是特别理解,之后等理解了回来补充说明。