自动驾驶仿真是为了减少验证自动驾驶功能模块的成本而诞生的,通过数学建模的方式将真实的世界进行数字化的还原和泛化,建立正确可靠的有效的仿真模型,其中主要可以分解为以下大的模块
- 汽车的各个信号进行仿真如四个车轮分别的轮速和接地点,刹车信号,车门关闭信号…这些汽车本身的信息外,还包括为了满足自动驾驶而安装的摄像头传感器,红外雷达来对汽车外部的环境进行勘测
- 路面的静态信息如路面车道线,路面的形状,路面的坡度情况,在路面进行还原的时候路面上的障碍物
- 路面的动态信息如路上的行人,信号灯,周边的车辆
进行还原仿真的时候可以通过多种方式来进行仿真验证,只对SIL进行介绍 - SIL:软件在环测试通过纯软件的的方式来对辅助驾驶的功能是否正常来进行测试,该方法只需要电脑主机就可以完成。需要用到的软件,VTD来对汽车行驶的动态与静态的场景进行还原,carsim来对汽车动力学模型进行模拟,中间使用python来对每个软件输入与输出的信息进行解析和传送,从而可以实现汽车在场景中的 行驶和对应功能验证。
在对汽车进行仿真还原的时候分别需要用到三个部分:汽车模型,中间的信号的传递,场景的创造。
- 汽车模型通过carsim需要一个车辆工程专业的人进行完成
- 中间信号的传递,VTD与carsim在两台不同的电脑上。且VTD与carsim中都预留了配置信息,将信息与端口主机号进行绑定。python代码在这些特定的端口取信息并且对信息进行解析后向指定端口进行传递,如果写好了自动驾驶的某个功能,该功能的代码加入总代码中然后进行适配的调试,在进行调试前新加入的代码在真车环境下是可以正常使用的。然后在特定的场景中进行功能检验,如果激活失败需要查看中间的信号的传递的全部过程,然后对信号传递过程进行修正。两台电脑间信息的传递使用的是udp与tcp混合使用,因为不同的车辆信息对传递的要求不一样。
- 场景的创造,也可以场景的转换,这一个步骤需要专业的车辆在道路进行场景的采集,采集的时候要采集有代表的场景,比如前车刹停,弯道超车,紧急避让等等。采集车辆带有六个摄像头,GPS定位,雷达,来对场景的动态信息与静态信息进行收集,收集的原始数据需要经过算法组对这些采集的数据进行融合,融合可以分为道路融合和目标融合,融合的目的是为了让采集到的原始视频数据变为道路的描述信息,例如抽取融合后某一帧数据就是:当前采集车辆的位置信息,GPS安放点,传感器安放点与与采集车物理中心点的位置偏移,其他车辆的需要通过坐标转换后的位置信息和其他车辆的类型,大小,三个方向的加速度与速度,还有道路的道路线进行还原。
经过算法组的初步计算只是把图像信息转变为描述性信息并且打包为特殊类型的数据,而并不能进行实际的应用,还需要对数据包的信息进行进一步的提取,因为实际采集的数据可能5ms采集一次。在工程中只需要10ms一次或者其他频率,需要对数据进行过滤,将数据的轨迹变得光滑,并且对数据的格式进行转换适配VTD的使用,可以在转 换过程中对数据进行过滤,在转换的时候动态场景和静态场景是分开进行的,
其他的场景创建的方式可以通过已有的场景进行泛化,或者人工在VTD中进行创造,在未来城市的高精度地图放开后可以较少的依赖道路的静态信息。
407

被折叠的 条评论
为什么被折叠?



