发布 | Coral-data开源计划第3期:SimScenario-AEB 仿真测试场景数据集

Coral-Data(珊瑚数据)开源计划着眼当下智能驾驶行业对算法训练及仿真测试应用的迫切数据需求,将陆续发布系列仿真测试场景集和训练数据集。本期发布的SimScenario-AEB 仿真测试场景数据集约50组,包含Car-to-Car和Car-to-VRU两部分,覆盖法规场景和自定义场景。

仿真工程师视角:浅谈AEB算法开发和测试验证

如今,装配自动驾驶系统的车辆在道路上越来越常见。AD/ADAS功能的受众群体逐年增加。AD/ADAS功能的推出无疑为驾驶员带来更加便捷、舒适和安全的驾驶体验。据全球综合数据资料库statista网站中的数据显示,“2019年,全球范围内,约有3100万车辆具有一定程度的自动驾驶功能”,预计“到2025年,L2级自动驾驶车辆全球市场渗透率约为60%。到2030年,L2级自动驾驶车辆有望实现市场全覆盖”。

 

随着AD/ADAS 功能的升级,其与车辆内部的功能关联耦合的复杂程度随之上升,这对车辆功能研发及V&V(Verification & Validation)流程都是更大的挑战。目前系统化的解决思路是通过持续的测试、评价、验证来确保其功能符合ODD要求,该过程在各环节重复、耗时。如果算法更新迭代通过实车测试的方式进行验证,将面临测试验证周期长、成本高、安全风险高等问题。

 

那么,在确保安全的前提下,是否存在能够帮助大幅提升功能研发及测试验证效率的其他更优解决方案

 

科学有效的仿真测试技术是目前该问题的最优解。在虚拟环境中搭建仿真所需各类场景,即全方位、全覆盖式复构真实世界各类形态、行为及物理属性,为AD/ADAS的开发、测试、验证提供一个安全可控的虚拟环境。

 

美国仿真测试服务商Applied Intuition进行了一项研究,旨在对仿真中行驶10,000英里与在现实世界中驾驶10,000英里进行测试的成本进行比较(如图1),其研究结果显示,相较于真实的里程测试,仿真测试每英里的成本约为真实里程测试的1/40。

图1:行驶10,000英里时,每英里真实驾驶里程与仿真里程成本对比

IAE从满足行业共性需求出发,通过在产品研发及测试验证阶段为用户提供安全、高效的仿真测试场景及服务助力行业发展。

 

为帮助大家更直观地了解仿真测试的角色及重要作用,IAE基于自研AEB算法展示在虚拟环境下进行仿真测试的真实过程。

 

IAE借助开源算法库搭建、调试了实例所需的AEB算法。随后利用X-IN-LOOP?仿真测试工具链,在仿真环境中构建测试所需的模型和环境,包括:

  • 摄像头传感器模型
  • 车辆模型
  • 仿真环境与算法数据交互通讯接口

 

得益于行业领先的仿真环境部署及场景搭建能力,IAE快速完成算法闭环测试的开发,并结合“水木灵镜”场景工场的C-NCAP等AEB场景,为算法的开发测试和验证搭建仿真环境(如图2)。

图2: AEB 算法开发和测试闭环

借助上述仿真闭环系统的运行,仅需几周时间,我们已经能够在算法逻辑和校准方面对AEB功能进行优化,以满足其ODD定义要求。针对仿真测试和仿真场景数据在整个开发验证过程中起到的作用,这里选取了几个具体的实例与大家分享。
AEB算法的工作逻辑(见图3),主要涵盖四部分:
  • Target filter:目标物过滤
  • TTC calculation:碰撞时间计算
  • StopTime calculation:不同制动状态下的刹停时间计算
  • AEB logic:基于碰撞时间和停止时间的比较判断

图3: AEB 逻辑示意图

实例一:横向警戒距离的调教

图4为AEB算法有效目标感知范围示意图,只有位于主车路径上的目标物且其与主车横向距离小于设定安全阈值时,才会被AEB算法纳入警戒列表。合理的阈值能够有效减少AEB的误触发。在开发阶段如果缺少仿真的测试验证手段,仅凭在现实世界中的测量校准获取合理阈值的难度将大大增加。实例中通过大量、多组不同场景的仿真测试,迅速了解并调教出合理的横向警戒距离 。

图4 : AEB目标探测逻辑

 

实例二:状态切换阈值的调教

AEB算法判断逻辑基于碰撞时间和停止时间的比较实现,如图5所示。
AEB策略中可以分为6个阶段:
  • AEB_Exit:AEB算法未启用
  • AEB_prepared:AEB算法启用但未激活,尚未进入任何制动状态
  • AEB_PB1:制动状态1(如果条件TTC<PB1停止时间为真)
  • AEB_PB2:制动状态2(如果条件TTC<PB2停止时间为真)
  • AEB_PB3:制动状态3(如果条件TTC<PB3停止时间为真)
  • AEB_waiting:车辆进入制动状态并刹停后,AEB进入AEB_waiting状态。该状态需要等待重置指令以返回到AEB_Prepared。
不同的停止时间定义如下:
  • PB1StopTime:PB1StopTime=egoVelocity/PB1Accel/2+timeMargin
  • PB2StopTime:PB2StopTime=egoVelocity/PB2Accel/2+timeMargin
  • PB3StopTime:PB3StopTime=egoVelocity/PB3Accel/ 2+timeMargin
其中,egoVelocity是待测车辆的纵向速度,timeMargin是一个时间补偿系数,用于增加停止时间阈值。

对于每个PBiStopTime,定义了不同的期望减速度。PBiStopTime中的“i”越大,PBiAccel的值就越大。因此,根据不同的AEB制动状态,算法将请求不同的期望减速度。

图 5: AEB状态转移逻辑

为了获得合理的状态切换阈值,需要在可重复的环境下进行迭代测试。实例中在虚拟环境搭建以下各种类型AEB场景并做泛化,调试出合理、有效且安全的PBiAccel数值:

  • 静态目标在主车前方
  • 主车前方的动态目标突然制动
  • 主车前方的动态目标横穿
  • 不同目标类型(汽车、行人等)
  • 不同的主车和目标速度

 

实例三:结合传感器仿真和视频注入的场景闭环测试

在第二个开发阶段,使用视频注入方式将仿真图像注入到真实的摄像头模组中,如图6所示。IAE在闭环系统中采用大量AEB场景并进行泛化,从而测试、评估和验证AEB算法的工作性能。

图6 :AEB算法开发和基于视频注入的闭环测试

考虑真实感知模组的引入,首先需要对摄像头仿真模型进行标定,以确保仿真图像尽可能接近真实摄像头图像。实例中通过构建与真实条件相同的仿真场景,调整模型参数标定传感器模型,从而获得与真实图像相同水准的感知精度。

图7:真实与仿真摄像头下的图像及感知结果对比

借助于摄像头传感器模型、视频注入设备、AEB场景库及泛化能力、Starfish自动化测试工具以及Jellyfish云算力海量仿真平台等Deep Ocean系列自动化工具(如图8),完成感知算法和AEB算法的整体闭环和批量场景的高效测试,帮助进一步验证算法的逻辑和参数的设定、实现性能的优化。

图8:基于Deep Ocean系列自动化工具进行批量场景的高效测试

 

通过对AEB算法在仿真环境中进行系列闭环测试和调试,算法在仿真端得到验证和优化。随后与合作客户将算法部署在真实车辆上进行试验场测试验证。在实车测试过程中,AEB算法始终运行正常并向主车发出正确的指令,其间未与测试场景的各类目标物发生任何事故或碰撞。

 

在本项目实例中,我们通过科学有效的仿真测试技术,基于大量的仿真测试场景从多维度、多角度对AEB算法进行测试验证,希望能够借此更加直观地为大家展示仿真测试在AD/ADAS开发中的作用和意义。

 

除本项目使用的AEB仿真场景外,“水木灵镜”场景工场的场景数据已覆盖各类评价标准及法规要求,如:C-NCAP、Euro-NCAP、ISO、ECE、IIHS等;丰富的仿真场景库可用于对各种AD/ADAS 功能(如BSD、FCW、ACC等)进行测试验证;同时,“水木灵镜”场景工场还深度覆盖SOTIF、V2X、交通事故复现、自然驾驶、车路云等场景资源,也可根据客户具体需求提供定制场景,作为AD/ADAS开发测试的重要支撑。

 

针对AEB算法的仿真测试,是IAE X-IN-LOOP仿真测试技术体系和“水木灵镜”场景工场的一个具体应用。面向更多、更复杂的L2、L2+、L3以至L4级别自动驾驶算法,如Robo-X城市场景的仿真测评,IAE持续提供全栈式仿真测试验证解决方案、数据产品服务和安全技术服务,来支持智能网联汽车的研发训练、测试验证和商业落地。

 

我们非常高兴能够与大家分享IAE在自动驾驶仿真领域的实践经验,同时借Coral-data(珊瑚数据)开源计划本期的发布,与大家分享AEB相关的仿真测试场景数据集SimScenario-AEB,同时本文提到的AEB算法的编译版本也在其中。

 

期待与大家共同探讨仿真技术和数据在自动驾驶领域的深度应用。

 

下载方式:

https://gitee.com/iae-icv/coral-data