主要内容

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

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

在这个例子中,你:

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

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

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

介绍

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

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

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

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

目前的AEB系统大多使用雷达和视觉传感器,先于ego车辆识别潜在的碰撞伙伴。为了准确、可靠、稳健的检测,同时最小化误报,通常需要多个传感器。这就是传感器融合技术在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_initialGap_40m_stop_inf”“AEB_PedestrianChild_Nearside_50width_overrun”

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

open_system (“AEBTestBenchExample”

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

  1. AEB with Sensor Fusion,包含了传感器融合算法和AEB控制器。

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

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

带传感器融合的AEB控制器

用传感器融合子系统打开AEB控制器。

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

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

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

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

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

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

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

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

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

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

$ $ \ tau_{结合}= \ tau_{反应}+ \ tau_{停止}= \ tau_{反应}+ v_{自我}/现代{司机}$ $

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

如果司机未能及时刹车,例如由于分心,AEB系统独立于司机发挥作用,以避免或减轻碰撞。AEB系统通常采用级联制动,由多级部分制动和[2]全制动组成。

打开AEB Controller子系统。

open_system (“AEBWithSensorFusionMdlRef / AEB控制器”

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

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

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

  • AEB_Logic,这是一个状态机,通过比较TTC和停止时间来确定FCW和AEB的激活。

汽车与环境

打开车辆和环境子系统。

open_system (“AEBTestBenchExample /车辆和环境”

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

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

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

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

[场景,egoVehicle] = < scenarioName >;

场景函数输出adrivingScenario对象。

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

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

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

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

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

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

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的激活。

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

  • 第四幅图显示了自我载体的加速。

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

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

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

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

生成控制算法代码

AEBWithSensorFusionMdlRef模型被配置为支持使用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)”结束

当你运行AEBTestBenchExample模型,则生成、编译和执行代码AEBWithSensorFusionMdlRef模型。这使您能够通过模拟测试已编译代码的行为。

结论

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

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

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

参考文献

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

刘建军,刘建军,刘建军,等,“自动驾驶汽车紧急制动试验研究”,汽车工程学报,vol . 13, no . 2, 2013

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

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

另请参阅

应用程序

对象

相关的话题