写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝
个人主页:清流君_博客,期待与您一同探索 移动机器人 领域的无限可能。
🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~
文章目录
- 引言
- 一、运动学模型的不足
- 1、实际应用中的问题
- 2、运动学模型不适用高速情况的原因
- 二、车辆动力学模型的必要性
- 1、引入自然坐标系
- 2、纵向控制与横向控制的解耦
- 3、整体控制思路
- 三、二自由度车辆动力学模型
- 1、基本假设
- 2、轮胎变形与侧偏特性
- 3、侧偏角的计算
- 4、车辆动力学模型最终形式
- 四、侧偏刚度的符号选择与实际应用差异
- 1、侧偏刚度相差两倍
- 2、侧偏刚度相差负号
- 五、总结
- 参考资料
引言
本篇博客是 自动驾驶控制算法 系列的第三节。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。
、质心侧边角
【自动驾驶】控制算法(二)三大坐标系与车辆运动学模型
一、运动学模型的不足
理论上来说,有了运动学方程就可以做相应的控制算法。像龚建伟的《无人驾驶车辆模型预测控制》这本书里专门有一章讲以运动学模型作为基础做车辆控制。
1、实际应用中的问题
但实际上很少用运动学模型作为理论依据,原因如下:
- 简化实在太多
- 做了太多假设
- 是非线性方程
- 纵向速度 和方向盘转角
其实运动学方程更多用来做坐标变换,以及一个非常重要的公式,就是角速度和线速度间的关系,可以把它代入到运动学公式里,推导出:
除以 应该等于航向角速度,即
但是因为运动学方程中,默认为 0 ,所以说运动学方程假设太多,只适用于低速情况,在高速情况下运动学方程就不再适用。
2、运动学模型不适用高速情况的原因
最主要的原因是没有考虑到轮胎特性,在高速情况下,不能把轮胎看成完全刚性的轮胎,因为在低速情况下轮胎变形不大,可以近似为钢铁轮胎,而高速情况下轮胎变形比较大,所以会有很大误差。
二、车辆动力学模型的必要性
动力学模型相比运动学模型的最大的区别是考虑轮胎特性,所以更准确。
目前市面上大多数已经商业化的自动驾驶企业的算法基本都是以动力学模型为基础,很少用运动学模型,因为运动学模型简化太多,其实运动学方程只有 以及坐标变换时可能用得到,其他时候基本用不到。
公式在高速情况下也比较准,因为和横摆角 相比,质心侧偏角 一般都比较小,如果质心侧偏角
1、引入自然坐标系
本篇博客讲解车辆动力学模型,如果要做控制的话,有动力学方程还不够,还需要 Frenet 坐标系将纵向控制与横向控制解耦。
下面来看 自然坐标系(Frenet 坐标系) :
以切向向量 和法向向量 作为坐标系,那么
可以发现
- 只与 有关, 经过积分两次可得到
- 和 、
- 和 相关,
,然后通过
2、纵向控制与横向控制的解耦
在 Frenet 坐标系中,纵向控制可以解耦,但横向控制和 和 有关,所以横向控制似乎依赖于纵向控制和方向盘。但是当纵向控制稳定后,
可以和运动学模型作为类比:
而 动力学方程 + Frenet坐标系,可以将纵向控制和横向控制直接分开,把纵向位移设为s,横向位移设为d,将纵向控制和横向控制解耦后,处理起来就会更加简单。
3、整体控制思路
直接相关:
横向控制和方向盘转角之间
在汽车理论中已经有比较成熟的关于方向盘转角和横向位移之间的动力学方程,但方程是以车身坐标系为参考系,所以汽车理论的知识不能直接用,必须经过坐标变换成自然坐标系才能用。
,再建立关系 ,再通过联立得到
- 是坐标变换,就是将车身坐标系变换到
Frenet
坐标系 。
,下节讲解车身坐标系与 Frenet
。这一方程在汽车理论书籍中随处可见,理论成熟,看似简单,实则至关重要。其重要性在于,无人驾驶领域有许多非汽车专业背景的从业者,他们可能将这一方程视为一个固定的公式,直接套用。从严格意义上讲,这样并无大错,但车辆动力学方程中包含了许多细节,这些细节虽小,却至关重要。若对这些细节处理不当,可能导致严重后果。
在上一篇博客中推荐了一些参考书籍,并指出这些书籍中存在诸多错误。这些错误的出现,正是因为作者们对这些细节不够重视,认为动力学方程书上都有,便直接采用,导致内容矛盾。这对初学者来说极为不利,容易使他们陷入自我否定的恶性循环,怀疑自己的能力,甚至放弃学习。
通过本篇博客的学习,对车辆动力学方程进行深入细致的分析,使大家具备评价他人论文的能力,能够自行判断内容的正确与否。因此,尽管动力学方程简单且成熟,但它的重要性不容忽视,它让我们具备了评判他人著作的能力。我们一定要深入理解并掌握这一知识点。
三、二自由度车辆动力学模型
1、基本假设
本篇博客介绍最经典的二自由度车辆动力学模型,做了两个假设:
- 前轮转角
- 纵向速度
和 Frenet 坐标系中纵向控制的
为什么说二自由度车辆中学方程最经典?因为它最简单,同时能抓住主要矛盾,用两个自由度模型算出来的结果和实际实验结果在不怎么极限和恶劣的环境下能达到比较高的精度。
是常数,也就是不管纵向控制,只管横向控制。而我们控制思路正好也是将纵向控制和横向控制分开控制,这样就完美契合。
除了 自由度模型,还有 自由度的
二自由度动力学方程就是应用牛顿第二定律进行受力分析,不过二自由度模型最重要的是考虑轮胎变形,所以下面先讲轮胎变形。
2、轮胎变形与侧偏特性
轮胎变形在汽车领域中的专门术语叫 轮胎的侧偏特性,看下面的轮胎三视图:
,车也会给轮胎一个反作用力 。但是轮胎相对钢铁来说比较软,所以受到力会变形成这样:
它不是严格意义上的圆柱体,因为变形等效成圆台。
为什么圆柱有了这样的变形,就会等效成一个圆台呢?
,也就是前进 ,它还是这样:
但是变成圆台有一个很麻烦的事情,圆台不能走直线,只能走圆弧,会导致一个什么样的一个结果呢?
看下面的轮胎俯视图:
的方向直线前进, 但由于侧向力的作用,它不是圆柱,变成圆台了,所以实际上轮胎按照红色箭头方向走,存在一个侧偏角,即轮胎实际速度
,反映轮胎的软硬程度。侧偏刚度乘以侧偏角等于侧向力:
就像弹簧一样,弹簧的力越大,它的位移也就越大,力除以位移定义为弹簧刚度,那么对于轮胎也一样。
注意,侧偏刚度一定是负数,因为坐标系都是右手系,看下面建立的右手系俯视图:
指向
一般通过做轮胎实验得到侧偏刚度,侧偏刚度是一个比较难以估计准的参数,实际上就是把轮胎等效于一个特殊的弹簧,认为侧偏角和力呈线性关系,但实际上因为轮胎是橡胶,并不是理想弹簧,所以在比较极限的工况下,侧向力和侧偏角并不成正比例关系。而且更重要的一点是侧偏刚度和轮胎的垂向力息息相关。但是在比较平缓的工况,可以认为侧向力和侧偏角是线性关系,并且侧偏刚度是常数。
再看一下自行车模型:
,车辆质心到前轮的距离为,到后轮的距离为 ,两个轮子受到侧向力的作用,分别为 和 , 就是 front
和 rear
由于轮胎侧偏特性,轮胎有侧偏角,注意侧偏角永远和所受侧向力的方向相反,正的侧向力会得到负的侧偏角,质心速度和车轴线的夹角叫做 质心侧偏角。前轮和后轮的侧偏角分别为 和 ,显然都是负的。
受力分析,列出方程:
力矩方程: 假设 比较小,那么,代入化解,再把侧向力写成侧偏刚度乘以侧偏角的形式,可得到如下方程:
有人可能会觉得
进行验证。车的轴距一般都是 ,在通常交通情况下,最小转弯半径差不多是 ,所以 ,那么算出来 ,可以接受。
一般开车时:
- 转直角弯时,转弯半径为
- 变道时,转弯半径为
这样的话近似程度就相当高了,所以上述近似在通常情况下可以接受。
与 的关系,以及侧偏角 和 的具体表达式,因为最终目的是希望通过前轮转角 实现对横向位移 以及车辆横摆角 的控制,那就需要找到前轮转角 和 、之间的具体关系。
直接给出结果:
为什么 后面带个小尾巴?
加速度是速度的导数,本质上是矢量关系,在这里是
在直角坐标系下,单位基础量 、 是常矢量,不会变,所以 、 都是 ,所以
在直角坐标系下,由于 、 都是常矢量,所以
所以
但在车身坐标系:
、 显然不是常矢量,所以 、不等于0,所以加速度后面要带个小尾巴。
物理解释:车身坐标系不是惯性系。那个小尾巴其实就是惯性力,要把惯性力加上。
3、侧偏角的计算
下面推导侧偏角的计算式,先看如下自行车模型:
移到质心,连接 与 的矢量一定与车的轴线垂直,并且大小轮等于 。放大图如下:
,竖着的蓝线长度 ,那么
因为 是负的,所以要换过来:
其中, 是非常小的,但是 一般比较大,所以能保证
正负号其实是非常重要的,因为只有坐标系确定之后,才能判断正负。我们所有坐标系都是右手系,对于轮胎,往左转是正的,往右边转是负的。
对于前轮也一样,做运动的合成与分解:
图中蓝色角为 :
再回到自行车模型:
绿色角是 ,绿色角上面的角是 ,由于 是负的,所以:
4、车辆动力学模型最终形式
把侧偏角方程带到动力学的牛顿第二定律公式里,得到下面两个方程:
把 用
其中, 就是我们所要的控制方程:
通过改变 ,实现对 和
四、侧偏刚度的符号选择与实际应用差异
如果各位有百度 Apollo 的代码,或者有《车辆动力学及控制》这本书的话,可能会发现这里讲的控制方程和他们代码里或者书上写的控制方程不一样,差别在以下两点:
1、侧偏刚度相差两倍
都要乘以 ,相当于两个轮子合并在一起的自行车模型。
2、侧偏刚度相差负号
除此之外其他都一样,这是为什么呢?前面也说过了,认为侧偏刚度是负的,一般的车辆工程的关于车辆动力学知识都认为侧偏刚度是负的,在汽车理论里就明确的写出了侧偏刚度永远是负的。
但在阿波罗的代码或者在《车辆动力学及控制》这本书里,他们认为侧偏刚度是正的,所以相差一个负号,其实无论正和负,得到的结果都一样。
大家可以根据自己的喜好来,博主比较喜欢侧偏刚度是负的,因为侧偏刚度是负的是汽车理论的知识,而且也和车辆动力学相关知识的坐标系能对得上,也比较符合物理认知逻辑。
五、总结
本篇博客讲解了车辆动力学模型,下一篇博客讲解比较难的坐标变换,坐标变换是整个课程中最难也是最核心的一节,非常重要,因为只有会坐标变换才能将现在得到的基于车身坐标的控制方程转化到基于 Frenet 坐标系下的控制方程,而那个方程才是整个控制的核心。
后续博客继续讲解自动驾驶控制算法系列,欢迎关注!
参考资料
后记:
🌟 感谢您耐心阅读这篇关于 轮胎侧偏与车辆动力学模型 的技术博客。 📚
🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢
🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀
🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡
🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀