仿真测试不仅仅针对于自动驾驶,在很多领域都应用的一个概念,仿真测试即在虚拟环境中进行的测试。完整的自动驾驶仿真环境,要提供虚拟的仿真世界,让被测对象在虚拟世界中运行并被测试。主要的要素包含:道路元素(道路结构、交通控制、交通标志、交通标线)、交通参与者、被测对象、外界环境(天气、光照、建筑、植物)等。对于越复杂的被测对象,测试越复杂,测试伴随着系统开发的全过程。对于自动驾驶系统,基本是由传感器、人机交互、控制系统、执行系统等组成,是一个相当复杂的一套控制系统。它的开发和设计是一个分模块、分阶段且历时很长的开发过程,在这个过程中也注定伴随着不同维度、不同方向的测试。
仿真测试的优点:
1.虚拟世界可以用高于现实世界的时间流速运行,可以加速测试速度
2.测试环境搭建速度快,成本较低,可以用于快速验证想法
3.可以在早期(无实物时)就开始试验,节约成本和时间
4.相对安全,可以在虚拟环境下进行一些危险或极端场景的测试
5.仿真的环境搭建是人为可控的、各类场景容易复现
仿真测试的缺点:
1.仿真环境并不能100%模拟现实环境,与真实场景难免有偏差
2.仿真环境中的物体是被人工设计出来的,现实世界中存在着各种各样未被考虑到的物体,比如交叉口类型、红绿灯形式、交通组织方式等
车辆动力学仿真:通过对车辆的动力学行为进行建模和仿真,来预测和评估车辆在各种工况下的性能。通过建立车辆模型,定义车辆基本属性和动力系统参数,设置仿真环境,利用数学模型和计算机技术,对车辆的动力学特性在不同环境下进行模拟和分析的过程。深入理解和评估车辆在各种行驶条件下的性能,包括加速、制动、转向、稳定性等方面,从而为车辆的设计、优化和控制提供理论依据和技术支持。
环境感知传感器仿真:自动驾驶车辆依赖于各种传感器来感知和理解周围环境,这些传感器包括摄像头、雷达(如毫米波雷达)和激光雷达(LiDAR)等。传感器仿真的重要性在于它能够在虚拟环境中重现传感器的工作情况;交通场景仿真:包括静态场景还原和动态场景仿真两部分,静态场景还原主要通过高精地图和三维建模技术来实现;动态场景仿真既可通过把真实路采数据经过算法抽取后,再结合已有高精地图进行创建,也可通过对随机生成的交通流基于统计学的比例,经过人工设置相关参数后自动生成复杂的交通环境。交通场景仿真是构建自动驾驶仿真系统的重要保障。
由于车辆动力学仿真比较传统,并且相对来说已经比较成熟,下面小编重点讲一下传感器仿真和交通场景仿真。
传感器仿真的三个层级
物理信号仿真:直接仿真传感器接收到的信号,如光学信号(摄像头的物理信号)、电磁波(毫米波雷达的物理信号)和声波(超声波雷达的物理信号)。这种仿真方式更接近真实环境,能够提供更准确的传感器输出。
原始信号仿真:取消传感器探测的单元,仿真数字处理芯片的输入单元。
传感器目标仿真,即传感器感知和决策如果是分为两个不同层级的芯片来做,那么可以将传感器检测的理想目标直接仿真到决策层算法输入端。
传感器仿真的基本思路
1.激光雷达仿真思路:激光雷达通过激光发射器将生成的激光光束向外发出,通过伺服电机与反光镜后,激光光束将被反射到各个方向,反射到周围环境中的激光会一直往前飞行,当激光在飞行途中与障碍物相交时,会触发激光产生折射或反射等现象,而反射的部分激光会原路返回至雷达的激光接收模块,最后通过计算单元解析生成点云数据。了解了激光雷达的基本工作原理后,可按照此原理来对激光雷达进行仿真,真实的激光雷达光线其实是从传感器发出到最后返回到传感器。在实际工程实践中,可以根据光线追踪的方法来实现光线发射及反射来回过程的仿真。
2.摄像头仿真的思路:通过模拟从光到数字信号的转换、颜色处理和渲染。基于环境物体的几何空间生成逼真的图像,再根据物体的真实材质与纹理,通过计算机图形学对三维模型添加颜色和光学属性等,来仿真模拟图像合成。对于颜色和光学属性等元素,一般情况下使用物理渲染引擎来实现。比如TAD Sim 、CARLA以及AirSim采用虚幻引擎UE(Unreal Engine),Apollo仿真平台和LG的LGSVL Simulator采用Unity引擎。
3.毫米波雷达仿真思路:毫米波雷达发射的是调频连续波(FMCW)信号。在仿真中,需要生成这种信号,并设定其参数,如载波频率、调频斜率、信号持续时间等。毫米波雷达通过微波在空间反射时间的延迟判断距离, 通过反射波形的频移判断对象是在接近还是在远离。接收到的回波信号需要经过混频、滤波、傅里叶变换等处理步骤,以提取出目标的距离和速度信息。在仿真中,需要建立这些信号处理步骤的数学模型,并实现相应的算法。根据仿真结果的分析,可以对毫米波雷达的模型参数、信号处理算法等进行优化调整,以提高雷达的性能和准确性。在优化参数后,需要重新运行仿真程序进行验证。需多次迭代仿真和优化调整。
自动驾驶仿真测试层级
根据被测对象的不同,自动驾驶仿真平台实可分为:模型在环(MIL)、软件在环(SIL)、硬件在环(HIL)、驾驶员在环(DIL)以及车辆在环(VIL)。模
型在环(MIL):在自动驾驶系统研发初期,需要对所建立的算法模型进行仿真测试,并根据测试结果的反馈不断优化模型设计。这一阶段不涉及任何实际要素,全部在虚拟的电子世界中进行。
软件在环(SIL):在完成模型在环测试后,需要将算法模型转换为代码。软件在环测试就是将生成的代码和算法模型进行对比测试,以保证输出结果的一致性。在此阶段,开发者已在软件系统里仿真模拟出真实的道路环境,如光照、天气等自然环境。自动驾驶代码开发完毕后在仿真系统内运行,测试是否可以实现既定目标。SIL的主要目的是针对自动驾驶系统的不同模块算法进行测试,测试其运行状况、模块功能、集成情况、资源占用等,并对各种场景进行仿真测试。SIL通常在开发的早期进行,可以加快算法的迭代,在前期发现问题并解决问题,从而节省研发时间和成本,提高开发效率。注:SIL测试是MIL的一种等效测试,目的是防止生成的代码出现错误。
硬件在环(HIL):硬件在环阶段的测试对象是汽车各零部件的控制器系统。通过将实际的零部件控制器与仿真硬件模拟出的被控对象相连,以高效率、低成本的方式对控制器的功能进行全面的、动态的测试。HIL能够模拟出真实的自动驾驶场景,例如加速、制动、转弯、变道等,从而对硬件进行充分的测试和验证。HIL是自动驾驶测试中不可或缺的环节,可以确保自动驾驶系统的算法和硬件设备在真实场景中的性能和稳定性。
驾驶员在环(DIL):驾驶员在环模拟器在车辆零部件和系统研发方面发挥着重要作用,支持汽车制造商在研究和开发阶段验证关键部件的功能开发。通过实时DIL模拟器,嵌入式硬件和控制算法可以在将模型部署到车辆之前进行测试和优化。
车辆在环(VIL):VIL测试系统是一个集真实车辆与虚拟仿真于一体的综合性测试平台。它将通过硬件在环测试的各零部件系统集成到真实车辆中,并通过仿真平台实时模拟道路、交通场景以及传感器环境,让真实车辆在仿真环境中完成整车级功能安全测试。在封闭场地内模拟开放道路的场景,能降低了实际道路测试的风险和难度。此外,这种方法还能有效减少测试成本和时间,降低对场地、真实交通和试验车辆的需求。
原文链接:自动驾驶之仿真测试
声明:本文为学习所用,若有转载文章或图片侵犯了您的合法权益,请作者私信或留言,我们将及时更正、删除,谢谢。