CarSim驾驶员模型的设置方法,以及它导致轨迹偏移时的处理思路,需要先区分清楚驾驶员模型是在控制转向、控制车速,还是同时对两者进行控制。CarSim内置的控制器能够让车辆按照设定的目标路径和目标速度去运行,也可以在开环控制和闭环控制之间来回切换。一旦出现明显的轨迹偏移,通常并不是某一个参数单独造成的,而是路径、速度、预瞄、车辆的初始位置,还有轮胎与路面的条件,这几样东西一起作用的结果。
一、CarSim驾驶员模型怎么设置
在对驾驶员模型进行设置以前,需要先弄明白这次仿真的目的是什么,比如双移线、蛇形绕桩、定圆、换道、避障、制动与转向的耦合,这些不同的工况对驾驶员模型的要求,彼此之间是不一样的。如果只是想让车辆沿着已经给出来的那条路径去行驶,那么一般就优先考虑使用闭环的路径跟随;要是想要去复现实车上面方向盘转角的输入,那么使用开环的控制就会更加合适一些。
1、先把控制的方式确定下来
在跟驾驶员控制有关的数据集里面,需要先判断一下,是使用开环的转向,还是采用闭环的路径跟随。开环转向比较适合用来复现实车方向盘转角的输入,车辆不一定会自动地回到目标路径上面去;闭环路径跟随呢,则会依据目标路径,不断地去修正车辆的方向,这种方式要更加适合路线的跟踪、车道的保持,还有标准工况的复现。CarSim的闭环驾驶员模型,是可以靠着转向去跟随目标路径的,而且目标路径,也能够在运行的过程当中去进行切换。
2、接着把目标路径设置好
目标路径需要和道路、车辆的初始位置,被放在同一套坐标逻辑的下面。在CarSim当中,VS Reference Path是一条处在水平平面里面的连续曲线,并且要求位置和梯度都必须是连续的,不能像折线那样,出现很突兀的尖角。如果路径本身就不够平滑,那么驾驶员模型就会频繁地去修正方向,这样一来,轨迹也就容易发生左右的摆动。
3、然后把目标车速设置好
目标速度是不能脱离路径的曲率,被单独拿出来设置的。在弯道半径比较小、路面的附着系数比较低、车辆的质心又比较高的时候,速度一旦过高,车辆就很难再去贴合那条路径了。CarSim内置的速度控制器,是可以基于目标速度、目标加速度,或者是目标路径,去对油门和制动进行控制的,它也会把路径的曲率、坡度,还有横向加速度的限制,这一些信息结合起来,去做路径的预瞄。
二、CarSim驾驶员模型导致轨迹偏移怎么办
出现了轨迹偏移的时候,不要只是单独地去调整某一个转向增益。需要先去判断一下,偏移是从刚一开始起步的时候就存在了,还是进入了弯道以后才逐渐变大的;是稳定地偏向某一侧,还是在那里来来回回地振荡;是低速的时候也偏,还是只有速度上去了才会偏。不同的现象,它所对应的排查方向,也是不一样的。
1、去检查一下初始的位置和航向
如果车辆在刚一开始起步的时候,它就不在目标路径的上面,又或者是初始的航向,跟路径切线所指的那个方向是不一致的,那么驾驶员模型,就会在起步的那个阶段,强行去进行修正,这样一来,就容易造成一段非常明显的偏移。需要去检查一下车辆初始的X坐标、Y坐标、横摆角,和那条目标路径的起点,是不是能够相互匹配得上,尤其是从外部导入了路径,或者是复制了工况以后,就更加需要去确认,坐标的方向,是不是给弄反了。
2、去检查一下预瞄和转向的响应
预瞄的距离要是设得太短了,车辆就容易频繁地去进行修正,整个轨迹看上去,就像是左右抖动一样;预瞄的距离要是设得太长了,车辆又有可能会提前转向,而且转得过多,这样一来,在弯道的内侧,或者是外侧,偏差就会变大。转向控制的响应,要是太过激烈了,也同样会出现过冲和振荡的现象。在排查的时候,是可以先把车速给降下来,然后再去逐步地调整预瞄,还有转向控制的参数,去观察一下横向的误差,是不是在逐渐地收敛。
3、去检查一下速度和轮胎的附着情况
如果车辆在低速的时候,还是能够贴合路径的,可是一到了高速,就开始偏离了,那么这种情况往往就说明,目标速度,已经超出了当前这个工况下面,车辆跟随路径的能力了。在这种时候,继续去提高驾驶员控制的强度,倒也不一定就能起效,反而还有可能,让车辆变得更加地不稳定。应当去检查一下路面的附着系数、轮胎的模型、载荷、制动和转向执行器的限制,在这之后,再去判断,是不是需要把目标速度给降下来,又或者是去调整一下路径的曲率。
三、轨迹偏移排查后怎么验证结果
在对驾驶员模型调整完了以后,不能只是看着动画里面,车辆“差不多跑过去了”就完事了。需要用横向的误差、航向的误差、方向盘转动的角度、横摆的角速度,还有侧向的加速度,这一系列的结果,放在一起来做判断,要避免表面上看着,好像是贴合了路径,可实际上,控制却已经做得太过头了。
1、把目标路径和实际的轨迹拿来做一次对比
在输出的结果图里面,同时去查看目标路径,和车辆实际跑出来的轨迹,重点去看一看起步的那一段、进入弯道的那一个点、曲率达到最大的那个位置,还有出弯的那一段。如果偏差仅仅只是出现在了起步的那一段,那这么多半,就是初始位置的问题;要是偏差都集中在了弯道里面,那就更多地,是和速度、预瞄、路径的曲率,这几样东西有关系。
2、去观察一下控制的输出量是不是出现了异常
检查一下方向盘转动的角度、转向的角速度、油门、制动,还有速度的曲线。要是方向盘转动的角度,频繁地到达了所能给出的限制边界,这就说明驾驶员模型,它已经是尽力在修正了,问题很有可能,并不是出在控制参数设得太弱了,而是速度太高了、路径太急了,又或者是车辆本身的能力,已经不够用了。
3、要分阶段地去修改那些参数
不要在同一时间里面,同时去改动路径、速度、预瞄、轮胎,还有车辆的参数。一个比较稳妥的方式是,先固定住路径和车辆的模型,只去修改驾驶员的控制参数;然后再固定住驾驶员的参数,去调整速度;到了最后,再去检查轮胎和路面的条件。只有这样,才能判断出来,轨迹到底发生了偏移,是由哪一类的原因所引起的。
总结
CarSim驾驶员模型应该怎么去设置,和它导致轨迹偏移以后又该怎么去处理,是可以按照“先去选定开环还是闭环的控制方式,接着去设定好目标路径和目标车速,最后再去检查初始的位置、预瞄的参数、转向的响应,还有轮胎的附着情况”,按照这样的一个顺序,来依次进行处理的。发生了轨迹偏移,倒也不一定,就说明驾驶员模型是被设置错了,它也有可能是路径本身不够平滑、起点的航向没有对齐、速度设定得过高了,又或者是车辆物理上的极限,已经不够用了。把目标路径、实际跑出来的轨迹,还有控制的输出量,这几样东西,放在一起去进行对比,这样才能更加准确地去定位出问题,到底是出在了哪里。
