大家好,我是橙子,本章主要介绍,开发过程中关于主车前方目标车辆的生成
在Carla中,要在任何时刻准确生成一辆静止的车辆在主车前方,检测主车是否在算法控制下稳定停下来,首先需要的是获取主车的位置,知道主车在哪,其次是通过主车的位置进行偏移一定距离生成目标车辆,这个距离不宜太近,太近的话,由于计算延时和主车本身存在速度,会在生成时刻,主车突然检测到目标车辆无法及时制动,导致发生碰撞。
1.获取主车的位置:
get_transform()的解释:
之所以采用这个get_transform()方法,是因为该方法生成的Transform对象,具有
get_forward_vector()解释:
2.目标偏移
获取到了车辆的Transform之后,我们采用get_forward_vector() 乘以一个距离系数,便得到了静止目标车辆的偏移的距离
算出目标车辆的位置后,还有一个车辆的航向的确定,首先想到的是利用主车的航向,但是主车可能行驶在弯道,这样目标车辆生成后可能就与本车车道不是平行的,所以采用获取目标车辆位置的Waypoint,来获取航向,使目标车辆始终与车道方向一致
说明:为了不在生成目标车辆时,位置不对导致失败,采用地图中可用的随机位置,并通过set_transform,移动到特定位置
文章转载自公众号:智驾前沿社
作者:小橙子的青葱岁月
