MWORKS虚拟驾驶舱的设计与实现

随着高级驾驶辅助系统(Advanced Driving Assistance System ADAS)技术的兴起,ADAS已经被认可为一个解决数据分布“长尾问题”的任务,而ADAS控制算法的不断升级越来越聚焦于随机小概率出现的极端情况。传统的道路测试受限于测试场景、驾驶人员素质、测试成本及时间等因素,存在明显的技术瓶颈,测试效果往往无法达到预期。此外,在缺少复杂极端环境的边界用例的情况下,被测系统容易隐藏与人员生命财产安全相关的缺陷,因此该测试方法不适用于大规模的车辆系统测试。

为解决上述问题,MWORKS虚拟驾驶舱提供了在虚拟环境中重现真实车辆系统特征的方法,构建了与被测系统相互作用的内外部因素和条件,从而能在不同程度上模拟被测车辆面临的多种场景条件。尤其在ADAS产品开发的早期阶段,通过高仿真度的整车动力学模型在虚拟环境中模拟真实车辆的真实反馈,使仿真结果能够最大程度地还原现实车辆。MWORKS虚拟驾驶舱不仅能消除ADAS产品开发中后期阶段发生重大问题的概率,还能避免多场景重复工作以达到提高测试效率、节约成本的目的。

1 MWORKS虚拟驾驶舱平台架构

MWORKS虚拟驾驶舱的设计与实现_第1张图片

图1 MWORKS虚拟驾驶舱平台架构

MWORKS虚拟驾驶舱是基于系统建模仿真软件MWORKS.Sysplorer和同元车辆模型库,自主研发的ADAS功能验证模拟驾驶平台。该平台基于定制化硬件提供体感反馈,可根据驾驶员的操作实时控制仿真车辆,并通过显示器实时刷新驾驶员视角。MWORKS虚拟驾驶舱的软件平台打通了多语言运行环境之间的相互通信,其仿真内容覆盖了静态环境仿真、动态场景仿真、传感器仿真及整车动力学仿真,可以支持从MIL到SIL到HIL的全周期开发流程,为ADAS仿真验证提供了良好的研究基础和试验平台。

2 MWORKS虚拟驾驶舱组成

MWORKS虚拟驾驶舱的设计与实现_第2张图片

 图2 MWORKS虚拟驾驶舱系统软硬件组成

MWORKS虚拟驾驶舱硬件设备由方向盘及踏板、高性能服务器、三屏显示器及支架、模拟赛车座椅支架及伺服系统控制器等组成;其软件平台主要部署在高性能服务器中,并通过驱动接口与硬件相互通信。如图2所示,MWORKS虚拟驾驶舱采用高仿真度的方向盘及踏板来获取驾驶员操作信号并传输给高性能服务器输入接口;通过在高性能服务器中部署的软件平台进行仿真计算并输出仿真结果,其仿真结果信号除了保存为试验数据及渲染实时画面外,还可以输出车辆姿态信息并控制外部硬件设备,以提供虚拟驾驶的体感反馈。

2.1 硬件配置

● 方向盘及踏板:方向盘及踏板模拟真车配置,转向机构采用带手感电机的方向盘总成,实现转向时的力矩反馈及自动回正功能,并集成换挡拨片实现左减右增的换挡操作,其上按键功能均支持自定义设置。将油门踏板、刹车踏板、离合器踏板集成在一套组件中,踏板的阻尼脚感可根据实际情况进行调节。

● 高性能服务器:高性能服务器搭载专业GPU处理单元,支持虚幻4引擎实时渲染生成三维图像,渲染速度不低于60帧/秒,支持三屏联动。CPU采用双路多核服务器处理器,具有40个核心和80路线程,支持MWORKS虚拟驾驶舱软件平台的多线程仿真计算,实现高仿真度模拟。

● 模拟赛车座椅支架及伺服系统控制器:模拟赛车座椅支架及伺服系统控制器由四根伺服丝杠动力单元、模拟赛车座椅支架及伺服系统控制器组成。伺服系统控制器是驱动动力柱运行的控制设备,包括电源、电机控制器、主控板等设备。伺服系统控制器通过控制电动缸的行程,实现模拟赛车座椅的三个自由度的运动,分别为笛卡尔坐标系内的沿Z轴的垂直平移运动、和绕X轴的滚动运动和绕Y轴俯仰运动。

2.2 软件平台

MWORKS虚拟驾驶舱的设计与实现_第3张图片

图3 MWORKS虚拟驾驶软件平台结构图

● 交通场景模块:交通场景模块基于开源仿真平台CARLA构建,用于模拟车辆虚拟驾驶环境。CARLA是基于虚幻4引擎运行的开源ADAS模拟系统项目,使用OpenDRIVE标准来定义道路和城市设置。仿真过程中通过Python调用C++封装的API接口函数来驱动虚拟车辆及控制场景物件,用于模拟车辆运行的外部环境。

● 传感器仿真模块:传感器仿真模块用于模拟安装在车辆固定位置的各类传感器,通过获取渲染引擎中的交通场景信息进行数据仿真。

● 道路构建模块:道路构建模块是通过MWORKS.Sysplorer的Roadbuilder插件构建车辆仿真运行时的道路模型,并导入整车动力学模块和交通场景模块参与仿真计算。Roadbuilder插件支持读取、修改和保存OpenDRIVE标准格式文件,目前可定义的道路表面要素包括道路高度、摩擦力和点位法向量等等。

● 整车动力学模块:整车动力学模块用于模拟车辆本身对ADAS算法控制的响应,特别是对加速、制动和转向的响应。整车动力学模块一般参照真实目标车辆,由驾驶员模型、环境模型、车身模型、底盘模型、悬挂模型、轮胎模型、转向模型、动力模型、制动模型和控制模型组成。

● ADAS算法模块:ADAS算法模块用于适配各类ADAS算法软件部分。得益于同元软控作为系统解决方案供应商的资源整合能力,可对各类ADAS功能的不同测试场景需求进行专用接口适配,并提供包括但不限于MIL/SIL/HIL的集成测试环境。

3 MWORKS虚拟驾驶舱仿真内容

MWORKS虚拟驾驶舱可在MWORKS.Sysplorer中通过插件和接口函数等方式对虚拟驾驶仿真环境进行设置和调用,主要包括了静态环境仿真、动态场景仿真、传感器仿真、车辆动力学仿真等,结合各类外设硬件设备,共同组成完整的仿真测试系统。

3.1 静态环境仿真

MWORKS虚拟驾驶舱模拟构建了虚拟驾驶车辆行驶的静态交通环境。为了满足系统可靠性要求,主要依赖专业的3D建模软件,在软件内创建仿真交通场景的各部分模型,添加适合的环境信息参数,最终形成完整的仿真环境。为了满足所构建场景的物理特性,主要借助成熟的虚幻4引擎进行场景设计渲染,其本身就常应用于高物理特性仿真场景开发,同时还拥有多个可直接套用的环境模型。静态环境仿真模拟车辆运行的外部环境,具体如下:

  • 道路结构:包括高速公路岔口、城市道路环岛等。 

  • 道路设施:包括标志标线、护栏、交通灯等。

  • 交通环境:包括道路旁建筑、植物、自然景观等。

  • 天气:包括晴、阴、雨、白天、黑夜等。

MWORKS虚拟驾驶舱的设计与实现_第4张图片

图4 静态环境仿真渲染示意图

3.2 动态场景仿真

静态环境搭建对于ADAS功能仿真是远远不够的,还需要在环境中添加特定的动态交通场景,如驾驶场景中的人流、车辆行驶信息,以及道路信号灯的交通管控信息等。这些动态场景信息是基于真实情景下的历史数据,即从交通案例中总结各类动态交通数据,以模拟动态场景。另外,MWORKS虚拟驾驶舱软件平台使用物理建模引擎创建动态场景要素,还实现了诸如车辆跟踪、信号灯变换、多类型车辆移动方式和突发交通场景模拟等功能。

 

MWORKS虚拟驾驶舱的设计与实现_第5张图片

图5 动态场景仿真渲染示意图

3.3 传感器仿真 

在仿真测试中,仿真场景需要反映虚拟驾驶车辆真实的驾驶环境,且构建的光、点、声等仿真传感器数据需要遵循严格的客观物理规则约束,以满足有效的感知算法的开发要求。尤其在某些具有场景特征要求的极端情形下,对于传感器仿真数据更加严苛,如仿真图像中不同物体的基础颜色、仿真雷达数据扫描的角度要求等。

传感器仿真作为一种极为重要的仿真手段,其模拟了场景和环境仿真背后关键特征要素的重要物理特性。根据传感器种类的不同,可分为RGB摄像头传感器、IMU传感器、毫米波传感器、碰撞传感器、GNSS传感器、超声波传感器、激光传感器等。结合交通场景信息,传感器仿真模块可仿真出激光雷达传感器的点云信号、RGB摄像头的彩色图像信号、碰撞传感器的加速度信号等。

MWORKS虚拟驾驶舱的设计与实现_第6张图片

 

 图6 激光/景深传感器数据展示

3.4 整车动力学仿真

MWORKS虚拟驾驶舱软件平台的主要承载对象为车辆,在仿真测试中也有专门用于反映车辆真实规格、物理性质的整车动力学模块,目的是为了在虚拟环境中更好地模拟车辆的真实反馈,使观察结果能够最大程度地逼近现实车辆。这种仿真技术实际上在传统机电主导的车辆设计时就已经被广泛研究和使用,具有相当的技术成熟度。在ADAS功能测试中,尤其是在车辆环境和传感器信息都是模拟构建的条件下,整车动力学仿真的要求更加严格。整车动力学仿真既需要确保车辆仿真模型符合虚拟场景条件规则约束,又要尽可能地确保仿真车辆能够代表真实车辆,可以利用后续真实车辆积累的实验数据对建立的整车动力学模块进行反向验证。

MWORKS虚拟驾驶舱基于同元车辆TA系列模型库选取部分相关仿真模型,主要包括车辆驾驶员模型仿真、转向模型仿真、动力模型仿真、制动模型仿真、轮胎模型仿真和悬架模型仿真等。车辆动力学仿真依据要求的真实程度,可以使用不同的组件建立不同自由度的车辆模型,最高支持16自由度整车动力学仿真。

MWORKS虚拟驾驶舱的设计与实现_第7张图片

图7 整车动力学演示

4 ADAS系统功能验证流程

根据维基百科的定义,ADAS系统是利用安装于车上的各式各样的传感器,收集车内外的环境数据,进行静、动态物体的辨识、侦测与追踪等技术上的处理,从而能够让驾驶者在最快的时间察觉可能发生的危险,以引起注意和提高安全性的主动安全技术。

早期的ADAS专注于被动报警,随着消费者对车辆智能化和安全性需求的逐步提升,ADAS正逐渐衍生出完善的主动式安全防预解决方案。为了在仿真环境中测试ADAS算法的正确性及稳定性,需要模拟车辆在真实环境中各种传感器的输入信号,并根据算法输出的车辆控制信号更新传感器的仿真输入,形成ADAS算法虚拟仿真验证环境。

MWORKS虚拟驾驶舱的设计与实现_第8张图片

图8 典型ADAS算法组成

MWORKS虚拟驾驶舱从仿真工具开发、仿真工具集成、测试场景开发和仿真测试执行四方面实现了ADAS系统功能验证。

图9 ADAS系统功能验证流程

4.1 仿真工具开发

ADAS系统功能验证的仿真工具开发主要着力于场景传感器及车辆动力学的配合,涉及图像处理、电子验证、机械结构、动力学分析等多个模块,且各模块的功能有较明显的分隔,开发难度较大,因此仿真工具开发需要具备跨多领域的能力。基于MWORKS虚拟驾驶舱软件平台组件,可为测试人员节省大量工具开发时间,基于模板通过拖拽式建模即可完成基础仿真环境的搭建。如图10所示,在MWORKS.Sysplorer中创建两辆车辆模型,并开放其控制接口以实现仿真过程中对车辆的控制。

MWORKS虚拟驾驶舱的设计与实现_第9张图片

图10 仿真车辆创建界面

4.2 仿真工具集成

仿真工具集成包括测试工具集成和被测算法集成两部分。首先,根据测试需要选择合适的测试工具并集成为完整的仿真测试环境,然后将被测算法集成至仿真测试环境中,配合自动化测试软件实现闭环测试。

目前市场上仿真测试工具软硬件种类繁多,集成仿真环境很难做到接口统一。MWORKS虚拟驾驶舱软件平台基于当前主流的通用测试开发语言C/C++,采用MWORKS原生支持的External C接口,集成多仿真环境的接口调用及工具适配工作。各部件数据交互关系如下所示:

MWORKS虚拟驾驶舱的设计与实现_第10张图片

图11 MWORKS虚拟驾驶舱软件模块及接口关系

其中,三自由度运动系统的伺服驱动器(MotionHouse)由C语言调用设备SDK的方式进行驱动,驾驶模拟装置由Python语言调用Joystick的方式进行驱动,驾驶场景模拟由C++语言调用虚幻4引擎的方式进行驱动。

MWORKS虚拟驾驶舱软件平台在MWORKS.Sysplorer中集成了所有模块组件的接口,通过对测试工程的简单参数设置即可自动化创建测试环境。

4.3 测试场景开发

测试场景开发包括测试场景的设计与搭建。针对ADAS算法的设计运行域,充分考虑道路环境、车辆与行人的空间位置关系、传感器感知限制以及车辆状态等不同方面的影响,进行详细而系统的测试场景设计,确保仿真测试的场景覆盖度。场景设计完成后,需在仿真环境中搭建实现。相对于实车试验,MWORKS虚拟驾驶舱软件平台可以通过调用程序接口进行自动生成测试场景,其测试效率有极大的提升。以2018版E-NACP中AEB CCR(追尾)测试部分为例,CCR测试包括CCRs(前车静止)、CCRm(前车运动)和CCRb(前车制动)三大测试场景,具体如下所示:

MWORKS虚拟驾驶舱的设计与实现_第11张图片

图13 E-NCP_AEB CCR测试场景

4.4 仿真测试执行

仿真测试执行包含两部分工作:一是对测试场景库的维护以及针对不同算法或功能自动生成的场景进行自动化测试;二是在测试结束后,整理测试结果并生成测试报告,使用适当的统计工具来完成测试结果的分析,为算法团队的改进提供有效支撑。

5 小结

MWORKS虚拟驾驶舱基于同元车辆模型库配套开发,实现了MWORKS.Sysplorer从系统仿真到视景仿真的拓展,开发出面向多领域ADAS模组的高质量嵌入式代码仿真环境,为客户带来新产品设计的全流程虚拟设计方法,包括场景设计、传感器仿真、控制算法设计、与执行器虚实结合、大系统闭环集成与验证等全方位仿真服务。同时,MWORKS虚拟驾驶舱软硬件方案可灵活配置,为ADAS、飞行载具、船舶等系统设计提供基础验证平台,并完成快速原型机的设计验证。

未来我们将持续更新此平台,所有基于此平台开发的ADAS仿真测试场景库及测试演示也将统一整理,与平台一同发布,敬请期待。

点击查看原文:MWORKS虚拟驾驶舱的设计与实现MWORKS虚拟驾驶舱是ADAS功能验证模拟驾驶平台https://mp.weixin.qq.com/s/drcBI_08vpkZrkpErX3rIA

你可能感兴趣的:(自动驾驶,人工智能,机器学习)