汽车的发展历史源远流长,汽车车灯的出现和发展也在其中起着重要的作用,从煤油灯到当前蓬勃发展的智能大灯,其间百余年的变化,不断有新的产品和技术问世。
当前市场上的智能大灯产品,比如自适应前照灯系统AFS(Adaptive Front-Lighting System),自适应远光灯系统ADB(Adaptive Driving Beam),以及自由度更高的数字光处理系统DLP(Digital Light Processing)等,是汽车技术创新领域的重要组成部分,对汽车驾驶的安全性和便利性产生重要积极作用,也为交通信息传递和交互的方式提供新的思路。
产品的研发过程伴随着持续测试。针对汽车智能大灯产品而言,工具可以帮助您实现对其控制算法、软件或者控制器的闭环测试需求。
条条大路通罗马,智能大灯产品的技术实现也是如此:其软件自不用说,其照明模组硬件的实现原理也不尽相同。本文中,作为示例的被测对象为一种假想的,简单的ADB大灯产品:其照明模组部分含有13个相互独立的LED照明单元。其系统结构描述如下:前视摄像头模组将视频图像信号传递给ADB控制器,ADB控制器输出左右两侧的ADB照明模组的控制信号——每个LED照明单元的光强度指令信号。系统结构示意图如图1所示:
图1:本文假想的ADB大灯系统结构简化示意图
以这种假想的简单的ADB大灯产品作为示例,目的是为了使读者能够通过这个简单的例子,了解如何在虚拟驾驶测试仿真软件DYNA4中建立这样的照明模组,通过仿真进行观察并对仿真可视化效果建立感性的认识;借此介绍实现ADB大灯控制算法模型(模型在环/Model In the Loop/MIL)闭环测试的方案。文章最后,会进行一定的拓展讨论(比如硬件在环/Hardware In the Loop/HIL)。
基于DYNA4的ADB控制算法模型(MIL)的闭环仿真测试整体方案
DYNA4是始于1992年的虚拟驾驶测试(车辆与驾驶场景)仿真软件,主要应用于汽车行业的智能驾驶、底盘操稳、动力系统等领域,覆盖乘用车、商用车、卡车、拖车及轮式特种车辆。虚拟驾驶测试仿真是指通过仿真的技术手段,在虚拟环境下模拟实车测试时的各项关键部分:车辆、传感器、驾驶员、道路、场地及交通设施、交通参与者、光照、气候条件等等。通过打通DYNA4与被测对象之间的交互链路,实现在拟真的虚拟条件下的闭环测试,如图2所示。
图2:虚拟驾驶测试仿真软件DYNA4重要仿真部分及与被测对象结合形成闭环仿真测试
DYNA4作为虚拟驾驶测试仿真软件,可以应用于现代汽车开发流程(无论是V模型流程还是软件定义汽车概念影响下的开发测试闭环迭代流程)中的大部分环节。通过仿真手段,可以实现诸如:验证/对比系统方案,支持功能安全问题评级及安全解决方案验证,在整车层面仿真部件载荷情况,然后进行部件可靠性分析或者耐久测试,软件算法模型功能、性能验证与桌面标定,控制器闭环测试,系统集成闭环测试,驾驶员在环和整车在环闭环测试等等。利用仿真技术,可以在正向开发和自主开发中提高效率,节省成本,保证产品设计质量。
图3:DYNA4在V模型开发流程中可以支持的环节与部分角度
回到智能大灯领域,先从模型在环(MIL)的测试环节去考虑实现ADB大灯控制算法模型的闭环测试:从模型在环(MIL)的角度出发,被测对象是ADB大灯控制控制算法模型(比如Simulink模型或者C/C++代码等),需要对其进行算法功能、性能验证等。
这里定义ADB控制算法模型的接口为:输入为车载前视摄像头的视频图像,输出为照明模组的控制信号,如图4所示。
图4:ADB大灯控制模型的输入/输出
在DYNA4的仿真中,与现实世界相同,自车ADB大灯的照明状态变化也会影响DYNAanimation(虚拟测试场景渲染和可视化功能及窗口)中的渲染出来的虚拟驾驶场景,在虚拟自车上安装的虚拟前视摄像头传感器也会拍到变化的虚拟世界的图像,并将这些图像按照设定的帧率实时传递到被测的ADB大灯控制算法模型中。算法模型根据此输入,不断地输出,从而对虚拟ADB照明模组进行控制。上述过程和实车测试一样。闭环测试因此得以实现,如图5所示。
图5:在DYNA4软件中实现ADB大灯控制算法模型(MIL)闭环测试的方案示意图 – DYNA4摄像头传感器模型将视频图像信息传递给ADB大灯控制算法模型作为输入
从图6(DYNAanimation渲染的仿真截图)可以看到,除了被测的ADB大灯控制算法模型之外,其余部分均在DYNA4去实现:承载ADB控制算法的车辆(自车),自车的前视摄像头模组,自车上的ADB照明单元模组,驾驶员,静态道路及标线、道路设施,道路旁的人工照明条件及可移动/不可移动的道路设施,自车周围的交通参与者的行为以及灯光对场景中的照明影响,晴天/夜晚的自然光照条件。
图6:DYNAanimation夜晚道路施工路段的仿真截图
DYNA4中实现ADB控制算法模型闭环测试及其仿真
本文对于DYNA4的常规功能,比如自车及车载传感器,驾驶员,驾驶场景中的静态道路和动态交通的实现,不做讨论和展示。如果您有兴趣了解,欢迎联系我们。本文仅说明:如何使用DYNA4提供的照明单元模块,创建一个ADB的照明模组,并且该照明模组的照明效果可以通过DYNA4的动画演示软件——DYNAanimation进行渲染和可视化,如图7中所示。
图7:DYNAanimation渲染的由DYNA4建立的ADB照明模组及照射光
这里使用的是DYNA4提供的聚光类型光源(Spot Light)的照明单元模型去组建ADB照明模组。
图8:DYNA4提供的聚光类型光源(Spot Light)的照明单元及其光发射范围和形状的示意
使用DYNA4的聚光类型光源(Spot Light)的照明单元模型,可以实现自定义的ADB照明矩阵模组,比如LED照明单元数量,LED灯组的相对位置、朝向分布等。可以把属于同一个ADB照明模组中所有的LED放到一个组(Group)里,比如图9中展示的Group - “ADB Module Left”,就像现实生活中的LED灯组的一个实际载体(比如一块板子,上面安装着13个LED照明单元)。处于同一个Group里的13个LED照明单元,只需将它们的相对位置和相对朝向设置正确即可,无需考虑它们在车身坐标系下的绝对位置和朝向。最后,可以设置和调整Group - “ADB Module Left”(即这个ADB照明模组整体)在车身上的位置和朝向。灵活利用分组Group功能,可以使各层级解耦,无论设置还是调整,各层级之间不会相互影响。
图9:在DYNA4中利用其提供的光源模型,组合所需的ADB照明模组、矩阵
在图9中,可以看到“ADB Module Left”这个Group下面有13个LED照明单元(即DYNA4的Spot Light模快)。如果需要对所有LED光源模型的某一个属性做统一的修改,可以直接使用DYAN4提供的文本编辑视图直接对DYNAanimation的工程进行文本化描述和编辑(如图10所示):
图10:DYNA4参数文件的文本编辑器
接下来更深入地看一下DYNA4中关于Spot Light照明单元模型的属性设置(图11)。可以发现,每个LED灯的灯光强度是可以通过DYNA4的Simulink模型中的信号来控制的:
图11:DYNA4中建立的ADB照明模组中的每个LED照明单元可以由相互独立的信号控制
LED照明单元的控制信号是由用户自行定义的,可以让所有照明单元之间控制信号完全独立,也可以设置几个LED照明单元为某一个区域的照明小组,该小组内的照明单元统一由一个信号统一控制。控制信号具体创建和定义是在DYNA4的Simulink模型中实现的。在图11中,只是在DYNA4的图形用户界面对已经定义好的控制信号(图中为ADBControl.LED3.intensity)进行了引用和使用,来控制每个LED照明单元在DYNAanimation渲染时的光强度。其实在DYNA4的Simulink模型中实现LED照明单元的控制信号的建立和链路打通,也非常简单。重点是创建的这些信号(比如ADBControl.LED1.intensity,ADBControl.LED2.intensity…)要最终连接到DYNA4的Simulink模型的Animation3模块中(如图12所示),这样DYNAanimation工程中的这些LED照明单元模型就可以通过这些灯光强度信号进行控制。
图12:红框中的ADBIntensityCtrlInterface子系统是用户自行创建的,沿用DYNA4的模型层级结构,将新创建的控制信号(ADBControl.LED1.intensity等)传递到Animation3这个模块即可。
到目前为止,已经在DYNA4中实现了本文假设的ADB大灯的照明模组模型部分的建立,并且实现了对每个LED照明单元的灯光强度控制信号和控制链路。接下来,可以看下如何将被测的ADB控制算法模型集成进来,实现对于被测的ADB大灯控制算法模型的模型在环(MIL)闭环测试的目的(如图5所示)。
可以使用DYNA4提供的Camera Sensor模型和对应的模块,来模拟车载前视摄像头,通过设置其安装位置、朝向,以及摄像头自身的属性参数,比如快门速度,光圈大小,感光度(这些参数可以是固定值,也可以类似上面的LED照明单元模型的灯光强度属性一样,通过信号实时控制)等,可以设置畸变过滤器、灰度过滤器、拜尔滤色镜和模拟脏污等,如图13所示。
图13:DYNA4中的Camera Sensor设置参数文件一瞥。
图14:DYNA4中的前视摄像头传感器的可视区域在DYNAanimation中的展示
图15:DYNA4中的前视摄像头传感器1模型(设置为8百万像素摄像头,视场角水平120度*竖直67.5度)在Simulink输出的图像展示。
图16:DYNA4中的前视摄像头传感器2模型(设置为8百万像素摄像头,视场角水平30度*竖直16.87度)在Simulink输出的图像展示。
上下滑动阅读更多内容
图15和图16中展示的DYNA4摄像头传感器模型拍摄到的画面,在Simulink模型中可以按照摄像头模型设置的图像更新时间(对应的是模拟的真实摄像头的帧率要求,比如30帧每秒),被传输到ADB大灯控制算法模型中,如图17所示。
图17:DYNA4的Simulink中使用Camera Sensor对ADB大灯控制器软件模型进行图像信息输入。
ADB大灯控制算法模型,在接收到每一帧的图像后,经过图像处理部分的功能(比如对于车辆前方的交通参与者信息的识别)和ADB的灯光控制逻辑(基于车辆前方的交通参与者信息来决定如何控制ADB大灯的照明区域并映射到对于ADB照明模组中的照明单元的控制信号),最终输出ADB照明模组以及照明单元的控制信号。ADB大灯控制算法模型输出的这些控制信号,可以通过之前在DYNA4的Simulink模型制作的ADB照明模组的控制链路(见图12内),实现对于仿真过程中的灯光的控制,其可视化效果可以在DYNAanimation窗口中看到。
图18(下):DYNA4中的使用模拟的ADB大灯控制模型来实现对于ADB灯组的独立控制,打在墙上的效果。
图19 DYNA4中的使用模拟的ADB大灯控制模型来实现对于ADB灯组的独立控制,车辆运动时的效果。
观看动态的动画视频效果更好。如果您感兴趣,可点击“阅读原文”下载视频观看
因为本文展示的在DYNA4中的ADB照明模组是一个假想的、简单的模组,模组中的LED灯的数量、照明参数及其矩阵排布和区域分布很可能不合理,所以仿真的动画效果不是很理想,与现实产品的预期和真实表现差异较大,还请理解。希望通过本文,您能了解到DYNA4可以实现ADB控制算法模型的闭环测试。
拓展讨论
最后是两点讨论,作为本文之前内容的补充和拓展。
1
可能您的,ADB控制模型可能不包含图像处理功能,即:在ADB产品系统中,ADB控制器的输入是接收车上其他控制器输出的周围交通参与者的状态信息,比如:交通参与者相对于自车的位置、交通参与者的截面的大小等。这些信息可以作为ADB大灯控制算法模型的输入,其输出控制ADB模组照明的链路仍然保持不变,同样可以实现闭环仿真测试。或称组织文化,是一个组织由其价值观、信念、仪式、符号、处事方式等组成的其特有的文化形象。
图20(下): DYNA4中的理想传感器的感知结果在DYNAanimation中的可视化表现
图21(上): 在DYNA4软件中实现ADB大灯控制算法模型(MIL)闭环测试的方案示意图 – 理想传感器探测车辆周围交通参与者的信息给到ADB大灯控制算法模型作为输入
2
如果被测对象是一个真实的ADB控制器,即从硬件在环(HIL)测试环节和层面去考虑闭环测试。此时,需要引入CANoe软件和相关硬件设备来实现,具体的方案参见图22和图23。
图22: 在DYNA4软件中实现ADB大灯控制器(HIL)闭环测试的方案示意图 – DYNA4摄像头传感器模型将视频图像信息通过视频暗箱或者视频注入设备给到ADB控制器
图23: 在DYNA4软件中实现ADB大灯控制器(HIL)闭环测试的方案示意图 – DYNA4理想传感器探测车辆周围交通参与者的信息(OSI标准的数据模型)
全部0条评论
快来发表一下你的评论吧 !