自动驾驶横向运动学分析和非线性问题处理方法

本文根据论文Autonomous vehicles control in the VisLab Intercontinental Autonomous Challenge 介绍了自动驾驶中使用的横向运动学模型的原理已经数学物理关系。

横向运动学的细节参考博文:
https://blog.csdn.net/gophae/article/details/100012763

在阿克曼转向系中,转向角和行驶路径的曲率关系是:
自动驾驶横向运动学分析和非线性问题处理方法
自动驾驶横向运动学分析和非线性问题处理方法
在图中也可以观察的很明显。这里的delta就是转向角(前轮),L 是车辆的轴距,kappa就是当前行驶路径的曲率了。

当然,如果要仔细区分,这里的前轮左右两轮的转向角还是有一点区别的:
自动驾驶横向运动学分析和非线性问题处理方法
这里有的B就是半轮距。

这里要分析的一个问题就是如何处理方向盘转角和真是的车轮转角之间的非线性问题,对这个非线性问题的处理直接影响到了寻迹行驶的控制精度,毕竟路径规划模块给出来的reference line 是需要车辆去精确跟随的,如果不能够很好的给出合理的车辆方向盘转角,就没办法很好的实现路径规划模块给出的车辆车轮转角。当然,为了简便,很多人选择了线性化这个关系,直接用一个固定的车辆转角和方形盘转角的传动比来描述这个关系,控制上则牺牲了部分精度,我试过以后效果也还行,但是这里还是介绍一个如何科学的从数学角度解决这个问题。

车辆动力学上面说车辆在转弯过程中,时可能产生离心力的,这个力的效果随车速增加而越发增强,离心力的产生可能会造成车辆的侧向滑移。我们称之为侧偏。我们定义两个侧偏力:
自动驾驶横向运动学分析和非线性问题处理方法
lf 和 lr 就是前后轮轴距,L 为车长,R 为转弯半径,M 为车重, V 为车速,看的出,这个侧偏力是和车速有直接关系的。

自动驾驶横向运动学分析和非线性问题处理方法
上图中,可以看出(通过三角形角度关系)
1,车辆的旋转中心不再是后轴中心了,而是发生了前移。
2,这个偏移量被滑移率所决定。在滑移角度,delta_f, delta_r, 以及车轮转向角delta 之间有这样的关系:
自动驾驶横向运动学分析和非线性问题处理方法
对于小角度的滑移角度,我们认为侧偏力和侧偏角之间还是可以用线性的侧偏刚度还刻画的:
自动驾驶横向运动学分析和非线性问题处理方法
根据上面的几个equation, 我们通过推导可以获得曲率,车轮转角,车速之间的关系:
自动驾驶横向运动学分析和非线性问题处理方法
这里Kv的表达式自己推导一下,我不写了。
这个Kv的另一个用处就是用来表示转向过度问题,K 小于0就是转向过度,否则就是转向不足。

很明显,车辆的方向盘转角角度phi, 和路径曲率是非线性的,我们通过泰勒级数展开,更准确的表达这两者之间的关系应该是这样的:

自动驾驶横向运动学分析和非线性问题处理方法
这就给出了理论关系表达式,自变量是车速V,和方向盘转角phi, 因变量就是曲率。最后通过系统辨识的方法,或者非线性回归的方法,把这里的P,Q 参数找出来,就可以通过一个非线性的表达式精准刻画这三个变量之间的关系,为车辆的横向控制提供更精确的控制指令。