主要内容

具有传感器融合的自主应急制动

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

在这个例子中,你:

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

  2. 使用由此创建的一系列测试场景测试闭环Simulink模型中的AEB系统万博1manbetx驾驶场景设计师应用程序

  3. 配置软件循环模拟的代码生成设置,并自动生成控制算法的C代码。

介绍

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

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

  2. 通过降低碰撞速度降低不可避免的崩溃的严重程度。在某些情况下,AEB系统准备车辆和克制系统进行影响[1]。

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

今天的AEB系统主要使用雷达和视觉传感器来识别自助式车辆前方的潜在碰撞伙伴。通常需要多个传感器进行准确,可靠,鲁棒的检测,同时最小化误报。这就是传感器融合技术对AEB系统起着重要作用的原因。

AEB试验台的Simul万博1manbetxink模型概述

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

目录(genpath (fullfile (matlabroot,“例子”“开车”))) open_system (“AEBTestBenchExample”

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

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

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

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

带传感器融合的AEB控制器

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

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

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

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

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

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

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

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

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

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

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

$$ \ tau_ {fcw} = \ tau_ {反应} + \ tau_ {stop} = \ tau_ {反应} + v_ {ego} / a_ {distrid} $$

当前车的碰撞时间(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 ('Aebtrestbench表达/车辆和环境'

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

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

  • 参与者和传感器仿真子系统生成跟踪和传感器融合所需的合成传感器数据。在加载Simulink模型之后,万博1manbetx执行一个回调函数来创建一个带有道路和多个参与者在道路上移动的仿真环境。

您也可以通过单击来运行回调函数运行安装脚本从Main Simulink万博1manbetx模型或从命令提示符中键入以下内容:

helperAEBSetUp

您可以从列表中指定与所需场景名称对应的场景编号。

%创建驾驶场景scenariosNames = {%场法“AEB_CCRs_100overlap.mat”...%1'aeb_ccrm_100overlap.mat'...%2“AEB_CCRb_2_initialGap_12m_stop_inf.mat”...%3.“AEB_CCRb_6_initialGap_40m_stop_inf.mat”...%4.“AEB_PedestrianChild_Nearside_50width_overrun.mat”};%5
scenarioNumber = 5;

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

[场景、egoCar actor_Profiles] =...elplersessiontoscenario(方案名称{scenarionumber});

场景文件可以转换为驱动器Cenario.对象使用allowersionttoscenario脚本。

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

基于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万博1manbetxlink模型读取驱动方案文件并运行模拟。

模拟模型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万博1manbetxr®软件生成C代码。要检查你是否可以访问Embedded Coder,请运行:

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

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

如果hasEmbeddedCoderLicense slbuild (“AEBWithSensorFusionMdlRef”结尾

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

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

当你运行时AebtstBenchexample.模型,代码生成,编译和执行AEBWithSensorFusionMdlRef模型。这使您可以通过仿真来测试编译代码的行为。

结论

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

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

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

从MATLAB搜索路径中删除示例文件文件夹。

RMPATH(GenPath(FullFile(Matlabroot,“例子”“开车”))))

参考文献

[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月。

另请参阅

应用程序

对象

相关的话题