主要内容

传感器融合的自动紧急制动

该实例展示了如何使用自动驾驶工具箱,利用传感器融合算法实现自动紧急制动(AEB)。

在这个例子中,你:

  1. 集成Simulink®和金宝appStateflow®的AEB控制器、传感器融合算法、自我车辆动力学、驾驶场景阅读器、雷达和视觉检测生成器。

  2. 在闭环Simulink模型中,使用由金宝app驾驶场景设计师应用程序

  3. 配置软件在环仿真的代码生成设置,并自动生成控制算法的C代码。

介绍

自动紧急制动(AEB)是一种先进的主动安全系统,可以帮助驾驶员避免或减轻与其他车辆或脆弱道路用户的碰撞。AEB系统通过以下措施提高安全性:

  1. 通过早期识别关键情况和警告司机来预防事故。

  2. 通过降低碰撞速度降低不可避免碰撞的严重性。在某些情况下,AEB系统为车辆和约束系统的碰撞做好准备[1]。

欧洲新车评估计划(Euro NCAP)从2014年开始将AEB城市和城际系统纳入其安全评级。Euro NCAP继续推广AEB系统,以保护脆弱的道路使用者,如行人和骑自行车的人。

今天的AEB系统大多使用雷达和视觉传感器来识别车辆前方的潜在碰撞伙伴。通常需要多个传感器来实现准确、可靠和稳健的检测,同时最大限度地减少误报。因此,传感器融合技术在AEB系统中发挥着重要作用。

AEB试验台的Simul金宝appink模型概述

将示例文件文件夹添加到MATLAB®搜索路径中。然后,打开本例中使用的主要Simulin金宝appk模型。

加载后,Simulink模型执行一个回金宝app调函数,helperAEBSetUp,以创建一条道路和多个参与者在道路上移动的模拟场景。

您还可以通过单击来运行回调函数运行安装脚本从模型的顶层。要更改使用的默认场景,请指定其中一个场景作为helperAEBSetup功能:

“AEB_CCRs_100overlap”“AEB_CCRm_100overlap”“AEB_CCRb_2_initialGap_12m_stop_inf”‘AEB_CCRb_6_初始间隙_4000万_停止inf’“AEB_行人专用区_近侧_50宽度_超限”

打开模拟行人碰撞场景的模型。

open_system (“AEBTestBenchExample”

该模型由两个主要子系统组成:

  1. AEB与传感器融合,其中包含传感器融合算法和AEB控制器。

  2. 车辆与环境,它模拟自我车辆动力学和环境。它包括驾驶场景阅读器、雷达和视觉检测生成器。这些块提供对象的合成传感器数据。

要绘制合成传感器检测、跟踪对象和地面真实数据,使用鸟瞰镜. 鸟瞰范围是一种模型级可视化工具,可以从Simulink模型工具栏打开。上金宝app模拟选项卡,在审查结果点击鸟瞰镜. 打开作用域后,单击找到信号设置信号。仪表板显示车辆速度、加速度以及自动紧急制动(AEB)和前向碰撞警告(FCW)控制器的状态。

带传感器融合的AEB控制器

打开带有传感器融合子系统的AEB控制器。

open_system (“AEBTestBenchExample/AEB传感器融合”

该子系统包括跟踪和传感器融合算法以及速度和AEB控制器。

  • 跟踪和传感器融合子系统处理来自车辆和环境子系统的视觉和雷达检测,并生成最重要目标(MIO)轨迹相对于车辆的位置和速度。

  • 速度控制器子系统利用比例积分(PI)控制器使自我车辆以驾驶员设定的速度行驶。

  • 当AEB激活时,加速器机器人子系统释放车辆加速器。

  • AEB控制器子系统实现了前向碰撞预警(FCW)和基于停止时间计算方法的AEB控制算法。

停车时间是指自自我车辆第一次减速制动开始的时间,$a{brake}$当它完全停止的时候。停机时间可由下式求得:

$ $ \ tau_{停止}= v_{自我}/现代{制动}$ $

FCW系统会在前方车辆即将发生碰撞时向驾驶员发出警报。司机应该对警报做出反应,并在一定的延迟时间内刹车,$ \ tau_{反应}$

自我车辆与前车碰撞前的总行驶时间可以表示为:

$$\tau{FCW}=\tau{react}+\tau{stop}=\tau{react}+v{ego}/a{driver}$$

当前车的碰撞时间(TTC)小于时$ \ tau_{结合}$,FCW警报被激活。

如果驾驶员未能及时踩下制动器(例如由于分心),AEB系统将独立于驾驶员进行操作,以避免或缓解碰撞。AEB系统通常采用级联制动,包括多级部分制动和完全制动[2]。

打开AEB Controller子系统。

open_system (“AEBWithSensorFusionMdlRef / AEB控制器”

AEB控制器由多个功能块组成:

  • TTC计算,利用前车或最重要物体的相对距离和速度计算TTC

  • stoppingtime计算,分别计算FCW、第一、第二阶段部分制动(PB)和全制动(FB)的停车时间

  • AEB_逻辑,是一种状态机,将TTC与停止时间进行比较,以确定FCW和AEB激活。

汽车与环境

打开车辆和环境子系统。

open_system (“AEBTestbenchHexample/车辆和环境”

  • 车辆动力学子系统使用车辆身体3自由度(车辆动力学区块集)来自车辆动力学模块集的单轨块。

  • 驾驶员转向模型子系统生成驾驶员转向角度,以使自我车辆保持在其车道上,并遵循由曲率K定义的曲线道路。

  • 参与者和传感器仿真子系统生成跟踪和传感器融合所需的合成传感器数据。

场景名称是由驾驶场景设计师

[场景,egoVehicle] = < scenarioName >;

scenario函数输出一个驾驶场景对象。

场景的读者块从场景对象中读取actor姿态数据。该块将演员的姿势从场景的世界坐标转换为自我载体坐标。演员的姿势在由街区生成的公共汽车上流动。的视觉检测发电机块和雷达检测发电机分别对目标行动者进行视觉合成和雷达检测。

基于Euro NCAP测试协议的AEB系统测试

Euro NCAP提供了一系列测试协议,测试AEB系统在车对车后方(CCR)和脆弱道路用户(VRU)场景下的性能。

  • Euro NCAP AEB - Car-to-Car Rear test protocol [3]

  • Euro NCAP AEB -易损道路用户测试协议[4]

自动驾驶工具箱根据AEB系统的欧洲NCAP测试协议提供预先构建的驾驶场景。您可以使用驾驶场景设计师

AEB Simu金宝applink模型读取驾驶场景文件并运行模拟。

模拟模型0.1秒。

sim卡(“AEBTestBenchExample”“StopTime”'0.1');模拟0.1秒

鸟瞰镜显示了车辆和儿童行人的地面真实数据。它还展示了雷达检测、视觉检测和多目标跟踪器跟踪的目标。在模拟时间为0.1秒时,由于儿童行人被车辆遮挡,视觉和雷达传感器未能检测到儿童行人。

模拟模型3.8秒。

sim卡(“AEBTestBenchExample”“StopTime”'3.8');%模拟3.8秒

模拟时间为3.8秒时的鸟瞰范围显示,传感器融合和跟踪算法检测到儿童行人是最重要的目标,AEB系统应用制动器以避免碰撞。

与“鸟瞰图”一起展示的仪表板显示,AEB系统应用了级联刹车,“自我”汽车在碰撞前停了下来。AEB状态颜色表示AEB激活的级别。

  • 灰色—否AEB激活。

  • 黄色:一级部分刹车启动。

  • 橙色-第二级部分刹车启动。

  • 红色-全制动启动。

完成整个模拟直到结束,以收集结果。

sim卡(“AEBTestBenchExample”);%模拟到场景结束

查看模拟结果。

helperPlotAEBResults (logsout);

  • 第一个图(TTC vs. stop Time)分别是FCW、一级部分制动、二级部分制动和全制动的碰撞时间(TTC)和停车时间的对比图。

  • 第二幅图显示了AEB状态机如何根据第一幅图的比较结果确定FCW和AEB的激活。

  • 第三个情节显示了自我载体的速度。

  • 第四个图显示了ego车辆的加速度。

  • 第五幅图显示了自我载体和MIO之间的进展。

在前2秒内,自我车辆加速达到设定的速度。2.3秒时,传感器融合算法开始检测儿童行人。检测完成后立即激活FCW。

在2.4秒时,第一阶段部分制动,ego车辆开始减速。在2.5秒时再次进行第二级部分制动。

当自我车最终在3.9秒时停止,自我车与儿童行人之间的间距约为2.4米。AEB系统在这种情况下实现了完全的避碰。

生成控制算法代码

AEBWITHSENSOR FUSIONMDLREF模型被配置为支持使用Embedded Code金宝appr®软件生成C代码。要检查你是否可以访问Embedded Coder,请运行:

hasEmbeddedCoderLicense =许可证(“签出”“RTW_Embedded_Coder”

您可以为模型生成一个C函数,并通过运行以下命令来探索代码生成报告:

如果hasEmbeddedCoderLicense rtwbuild (“AEBWithSensorFusionMdlRef”终止

您可以使用在循环中的软件(SIL)模拟来验证已编译的C代码是否如预期的那样运行。模拟ACCWithSensorFusionMdlRefSIL模式下的参考模型,使用:

如果hasEmbeddedCoderLicense set_param (“AEBTestBenchExample/AEB传感器融合”...“SimulationMode”“Software-in-the-loop (SIL)”终止

当你运行AEBTestbenchHexample模型生成、编译和执行代码AEBWITHSENSOR FUSIONMDLREF模型这使您能够通过模拟测试编译代码的行为。

结论

在本例中,您使用闭环Simulink模型实现了一个AEB系统。金宝app该模型由Simulink和基于statflow的A金宝appEB控制器、传感器融合算法、自我车辆动力学、驾驶场景阅读器、雷达和视觉检测生成器组成。

您使用由创建的一系列测试场景测试了AEB系统驾驶场景设计师

您现在可以使用其他欧洲NCAP AEB测试场景来测试AEB系统。这些可以从驾驶场景设计师

参考文献

[1] 欧洲NCAP |欧洲新车评估计划。欧洲五星

[2] W.Hulshof等人,“自动紧急制动试验结果”,第23届车辆增强安全性国际技术会议(ESV),论文编号13-0168,2013年

[3]欧洲NCAP测试协议- AEB系统,版本。2017年11月,2.0.1。

[4] Euro NCAP Test Protocol - AEB VRU systems, ver。2.0.2, 2017年11月。

另请参阅

应用程序

对象

相关的话题