高级驾驶辅助系统(Advanced Driving Assistance System ADAS)技术的兴起,ADAS它被认为是解决数据分布长尾问题的任务ADAS控制算法的不断升级越来越关注随机小概率的极端情况。传统的道路景、驾驶员素质、测试成本、时间等因素,传统的道路测试存在明显的技术瓶颈,测试效果往往达不到预期。此外,由于缺乏复杂极端环境的边界用例,被测系统容易隐藏与人员生命财产安全相关的缺陷,因此该测试方法不适用于大型车辆系统测试。
为解决上述问题,MWORKS虚拟驾驶舱提供了在虚拟环境中重现真实车辆系统特征的方法,构建了与被测系统相互作用的内外因素和条件,从而模拟被测车辆不同程度面临的各种场景条件。尤其在ADAS在产品开发的早期阶段,模拟真实车辆的真实反馈的真实反馈可以最大限度地恢复真实车辆。MWORKS虚拟驾驶舱不仅可以消除ADAS产品开发中后期出现重大问题的概率也可以避免多场景重复工作,提高测试效率,节约成本。
图1 MWORKS虚拟驾驶舱平台架构
基于定制硬件,该平台可以根据驾驶员的操作实时控制模拟车辆,并通过显示器实时刷新驾驶员的视角。MWORKS虚拟驾驶舱软件平台开放了多语言操作环境之间的相互通信。其模拟内容涵盖静态环境模拟、动态场景模拟、传感器模拟和车辆动力学模拟,可支持MIL到SIL到HIL全周期开发过程是ADAS仿真验证提供了良好的研究基础和试验平台。
图2 MWORKS虚拟驾驶舱系统由软硬件组成
MWORKS虚拟驾驶舱硬件设备由方向盘和踏板、高性能服务器、三屏显示器和支架、模拟赛车座椅支架和伺服系统控制器组成;软件平台主要部署在高性能服务器中,并通过驱动接口与硬件通信。如图2所示,MWORKS虚拟驾驶舱采用高模拟方向盘和踏板获取驾驶员操作信号,传输到高性能服务器输入接口;通过在高性能服务器中部署的软件平台进行模拟计算和输出模拟结果。除了保存测试数据和渲染实时图片外,模拟结果信号还可以输出车辆姿态信息,控制外部硬件设备,以提供虚拟驾驶的感知反馈。
方向盘和踏板模拟真实车辆配置。转向机构采用带手感电机的方向盘总成,实现转向时的扭矩反馈和自动恢复功能,集成换档拨片,实现左右增加的换档操作。关键功能支持自定义设置。油门踏板、制动踏板和离合器踏板集成在一组组件中。踏板的阻尼脚感可根据实际情况进行调整。
专业高性能服务器GPU支持虚幻4引擎实时渲染生成三维图像,渲染速度不低于60帧/秒,支持三屏联动。CPU双路多核服务器处理器有40个核心和80个线程MWORKS虚拟驾驶舱软件平台的多线程仿真计算,实现高仿真度模拟。
模拟赛车座椅支架及伺服系统控制器由四个伺服丝杠动力单元、模拟赛车座椅支架及伺服系统控制器组成。伺服系统控制器是驱动动力柱运行的控制设备,包括电源、电机控制器、主控板等。伺服系统控制器通过控制电动缸的行程,实现模拟赛车座椅的三个自由度的运动,分别为笛卡尔坐标系内的沿Z轴的垂直平移运动、和绕X轴的滚动运动和绕Y轴俯仰运动。
图3 MWORKS虚拟驾驶软件平台结构图
●基于开源仿真平台的交通场景模块CARLA模拟车辆虚拟驾驶环境。CARLA基于虚幻4引擎运行的开源ADAS使用模拟系统项目OpenDRIVE定义道路和城市设置的标准。通过模拟过程Python调用C 封装的API接口函数驱动虚拟车辆和控制场景对象,模拟车辆运行的外部环境。
●传感器取渲染引擎中的交通场景信息,模拟安装在车辆固定位置的各种传感器的传感器仿真模块。
通过道路建设模块MWORKS.Sysplorer的Roadbuilder插件构建车辆模拟运行时的道路模型,并引入车辆动力学模块和交通场景模块参与模拟计算。Roadbuilder支持读取、修改和保存插件OpenDRIVE目前可定义的道路表面元素包括道路高度、摩擦力、点位法向量等。
车辆动力学模块用于模拟车辆本身ADAS算法控制的响应,特别是对加速、制动和转向的响应。车辆动力学模块一般由驾驶员模型、环境模型、车身模型、底盘模型、悬架模型、轮胎模型、转向模型、动力模型、制动模型和控制模型组成。
ADAS算法模块用于适应各种算法模块ADAS算法软件部分。由于同元软控作为系统解决方案供应商的资源整合能力,可以对各种类型进行整合ADAS适应不同功能测试场景的特殊接口,并提供包括但不限于的特殊接口MIL/SIL/HIL综合测试环境。
MWORKS虚拟驾驶舱可在MWORKS.Sysplorer虚拟驾驶模拟环境通过插件和接口函数设置和调用,主要包括静态环境模拟、动态场景模拟、传感器模拟、车辆动力学模拟等,结合各种外部硬件设备,共同形成完整的模拟测试系统。
MWORKS虚拟驾驶舱模拟构建了虚拟驾驶车辆的静态交通环境。为满足系统可靠性要求,主要依靠专业3D建模软件,在软件中创建模拟交通场景的各个部分,添加适当的环境信息参数,最终形成完整的模拟环境。为了满足所构建场景的物理特性,场景设计渲染主要借助成熟的虚幻4引擎进行,常用于高物理特性仿真场景的开发,还有多个可直接应用的环境模型。模拟车辆运行的外部环境的静态环境如下:
-
道路结构:包括公路岔口、城市道路环岛等。
-
道路设施:包括标志、护栏、交通灯等。
-
交通环境:包括道路建筑、植物、自然景观等。
-
天气:包括晴、阴、雨、白、夜等。
图4 静态环境仿真渲染示意图
为静态环境建设ADAS功能模拟远远不够。还需要在环境中添加特定的动态交通场景,如驾驶场景中的人流、车辆行驶信息、道路信号灯的交通控制信息等。这些动态场景信息是基于真实情况下的历史数据,即从交通案例中总结各种动态交通数据,模拟动态场景。另外,MWORKS虚拟驾驶舱软件平台利用物理建模引擎创建动态场景元素,还实现了车辆跟踪、信号灯变换、多种车辆移动模式、突发交通场景模拟等功能。
图5 动态场景仿真渲染示意图
在模拟测试中,模拟场景需要反映虚拟驾驶车辆的真实驾驶环境,光、点、声等模拟传感器数据需要遵循严格的客观物理规则,以满足有效感知算法的开发要求。特别是在一些具有场景特征要求的极端情况下,传感器模拟数据更严格,如模拟图像中不同物体的基本颜色、模拟雷达数据扫描的角度要求等。
传感器种极其重要的仿真手段,传感器仿真模拟了场景和环境仿真背后的关键物理特征。根据不同的传感器类型,可分为RGB摄像头传感器,IMU传感器、毫米波传感器、碰撞传感器、GNSS传感器、超声传感器、激光传感器等。传感器仿真模块结合交通场景信息,可仿真激光雷达传感器的点云信号,RGB彩色图像信号、碰撞传感器加速信号等。
图6 激光/景深传感器数据显示
MWORKS虚拟驾驶舱软件平台的主要承载对象是车辆。在模拟测试中,还有专门用于反映车辆真实规格和物理性质的车辆动力学模块。目的是更好地模拟虚拟环境中车辆的真实反馈,使观察结果最大限度地接近真实车辆。事实上,这种模拟技术在传统机电主导的车辆设计中得到了广泛的研究和应用,具有相当的技术成熟度。在ADAS在功能测试中,特别是在模拟车辆环境和传感器信息的条件下,对车辆动力学仿真的要求更加严格。车辆动力学仿真不仅需要确保车辆模拟模型符合虚拟场景条件的规则,还需要确保模拟车辆能够尽可能代表真实车辆,可以使用后续的真实车辆累的实验数据对建立的整车动力学模块进行反向验证。
MWORKS虚拟驾驶舱基于同元车辆TA系列模型库选取部分相关仿真模型,主要包括车辆驾驶员模型仿真、转向模型仿真、动力模型仿真、制动模型仿真、轮胎模型仿真和悬架模型仿真等。车辆动力学仿真依据要求的真实程度,可以使用不同的组件建立不同自由度的车辆模型,最高支持16自由度整车动力学仿真。
图7 整车动力学演示
根据维基百科的定义,ADAS系统是利用安装于车上的各式各样的传感器,收集车内外的环境数据,进行静、动态物体的辨识、侦测与追踪等技术上的处理,从而能够让驾驶者在最快的时间察觉可能发生的危险,以引起注意和提高安全性的主动安全技术。
早期的ADAS专注于被动报警,随着消费者对车辆智能化和安全性需求的逐步提升,ADAS正逐渐衍生出完善的主动式安全防预解决方案。为了在仿真环境中测试ADAS算法的正确性及稳定性,需要模拟车辆在真实环境中各种传感器的输入信号,并根据算法输出的车辆控制信号更新传感器的仿真输入,形成ADAS算法虚拟仿真验证环境。
图8 典型ADAS算法组成
MWORKS虚拟驾驶舱从仿真工具开发、仿真工具集成、测试场景开发和仿真测试执行四方面实现了ADAS系统功能验证。
图9 ADAS系统功能验证流程
ADAS系统功能验证的仿真工具开发主要着力于场景传感器及车辆动力学的配合,涉及图像处理、电子验证、机械结构、动力学分析等多个模块,且各模块的功能有较明显的分隔,开发难度较大,因此仿真工具开发需要具备跨多领域的能力。基于MWORKS虚拟驾驶舱软件平台组件,可为测试人员节省大量工具开发时间,基于模板通过拖拽式建模即可完成基础仿真环境的搭建。如图10所示,在MWORKS.Sysplorer中创建两辆车辆模型,并开放其控制接口以实现仿真过程中对车辆的控制。
图10 仿真车辆创建界面
仿真工具集成包括测试工具集成和被测算法集成两部分。首先,根据测试需要选择合适的测试工具并集成为完整的仿真测试环境,然后将被测算法集成至仿真测试环境中,配合自动化测试软件实现闭环测试。
目前市场上仿真测试工具软硬件种类繁多,集成仿真环境很难做到接口统一。MWORKS虚拟驾驶舱软件平台基于当前主流的通用测试开发语言C/C++,采用MWORKS原生支持的External C接口,集成多仿真环境的接口调用及工具适配工作。各部件数据交互关系如下所示:
图11 MWORKS虚拟驾驶舱软件模块及接口关系
其中,三自由度运动系统的伺服驱动器(MotionHouse)由C语言调用设备SDK的方式进行驱动,驾驶模拟装置由Python语言调用Joystick的方式进行驱动,驾驶场景模拟由C++语言调用虚幻4引擎的方式进行驱动。
MWORKS虚拟驾驶舱软件平台在MWORKS.Sysplorer中集成了所有模块组件的接口,通过对测试工程的简单参数设置即可自动化创建测试环境。
测试场景开发包括测试场景的设计与搭建。针对ADAS算法的设计运行域,充分考虑道路环境、车辆与行人的空间位置关系、传感器感知限制以及车辆状态等不同方面的影响,进行详细而系统的测试场景设计,确保仿真测试的场景覆盖度。场景设计完成后,需在仿真环境中搭建实现。相对于实车试验,MWORKS虚拟驾驶舱软件平台可以通过调用程序接口进行自动生成测试场景,其测试效率有极大的提升。以2018版E-NACP中AEB CCR(追尾)测试部分为例,CCR测试包括CCRs(前车静止)、CCRm(前车运动)和CCRb(前车制动)三大测试场景,具体如下所示:
图13 E-NCP_AEB CCR测试场景
仿真测试执行包含两部分工作:一是对测试场景库的维护以及针对不同算法或功能自动生成的场景进行自动化测试;二是在测试结束后,整理测试结果并生成测试报告,使用适当的统计工具来完成测试结果的分析,为算法团队的改进提供有效支撑。
MWORKS虚拟驾驶舱基于同元车辆模型库配套开发,实现了MWORKS.Sysplorer从系统仿真到视景仿真的拓展,开发出面向多领域ADAS模组的高质量嵌入式代码仿真环境,为客户带来新产品设计的全流程虚拟设计方法,包括场景设计、传感器仿真、控制算法设计、与执行器虚实结合、大系统闭环集成与验证等全方位仿真服务。同时,MWORKS虚拟驾驶舱软硬件方案可灵活配置,为ADAS、飞行载具、船舶等系统设计提供基础验证平台,并完成快速原型机的设计验证。
未来我们将持续更新此平台,所有基于此平台开发的ADAS仿真测试场景库及测试演示也将统一整理,与平台一同发布,敬请期待。
点击查看原文:MWORKS虚拟驾驶舱的设计与实现MWORKS虚拟驾驶舱是ADAS功能验证模拟驾驶平台https://mp.weixin.qq.com/s/drcBI_08vpkZrkpErX3rIA