接着上文的描述来介绍自适应巡航,通俗一点的解释就是自车跟着目标车稳定的行驶,至于保持多少距离有很多算法,主流的就是期望时距(根据当前车速)乘以参考速度加上一段距离。这地方其实给我带来了很多的困扰,下面介绍怎么去描述这个简单模型。
1. 使用matlab中自带的acc学习模型,这样就避免了自己去写脚本繁琐,当然原理是要理解的,可以参考相关的MPC文档,搭建模型如下:
还是简单的模型,可以看到第二排图像,自车和前车的距离逐渐趋于稳定,即使前车以正弦不合理的加速度在波动。观察第一排图像,自车Vego速度在0以下(倒车现象)。
2. 上述模型其实和第一篇差不多,或许可以用PID来搭建呢,当然不一定是PID,但是使用MPC的原因就是为了优化,,所以有对未来的预测在里面,假设我们用PID,考虑到时滞,是不是要用预测时间后的变量去设定么?所以引出一个变量 。
2.1.关于这个预测时间我尝试着用一种的方式去描述,定义车辆的相对距离等于希望距离+额外距离,在follow模式下,车辆相对距离除以车辆相对速度其实就是车辆碰撞时间,我们希望在这个预测时间后,车辆的距离为希望距离,也就是自车其实要走额外距离。
那如果在当下的时刻,自车已经和前车保持希望距离,那么只需要这个预测时间吗,很显然不要,车辆维持现有状态就行。在平面上建立坐标系,横轴为相对速度,纵轴为相对距离,考虑到量纲一致性,横轴为相对速度除以自身速度,纵轴为相对距离除以希望距离(因为希望距离是要参,所以坐标轴要整体向上平移1),定义单位圆的半径为预测时间系数。
2.2. 拿到了预测时间,其实根据前车的加速度,可以计算出前车这段时间跑了多远,对于前车拿来的加速度的数据有各种干扰,参考如下,可以在matlab自己构建,加入噪声实测效果
下一篇介绍后续