技术文章和通讯

发展先进的紧急制动系统在斯堪尼亚公司

约翰尼·安德森,斯堪尼亚公司


追尾事故是最常见的类型的事故freight-carrying卡车和其他重型车辆。减少追尾事故的风险,2015年欧盟要求先进的紧急制动系统(AEBS)为所有新的车辆。

像其他高级驾驶员辅助系统(ADAS),一个AEBS使用从传感器输入到屏幕的环境。即将发生碰撞时,系统提醒司机与音频警报。如果司机不响应,它适用于刹车的一个警告。如果司机仍然不回应,系统适用于刹车完全避免碰撞(图1)。AEBS还提供了“辅助刹车”:当司机刹车,而力不足,以避免碰撞,系统计算然后应用所需的额外的刹车力。

图1所示。上图:AEBS概述。底部:典型的AEBS场景中,一辆卡车AEBS安装方式缓慢移动的车辆。

AEBS使用雷达和摄像头传感器安装在车辆前部的扫描对象在该地区。每个传感器的系统利用特殊的优势来获得一个更精确的环境模型。雷达传感器擅长确定对象的范围,相对速度和可靠性,但不能够确定其形状或侧卧位。单独使用雷达系统将很难区分一辆车停在路边的一个司机的车道。摄像头,另一方面,可以确定一个物体的大小和横向位置但不检测范围,无法评估密度(密度云可能被视作一个坚实的对象)。

我和我的同事建立了一个传感器融合系统匹配和合并数据从传感器到一个单独的对象。系统使用四个加权properties-longitudinal速度和位置和横向速度和位置计算的概率两个传感器检测到相同的对象。一旦传感器融合系统确定一个物体在宿主车辆的路径,通过对象的位置和车辆的AEBS预期路径,决定当提醒司机或刹车。

我们组之前使用基于模型的设计开发一个自适应巡航控制系统使用雷达技术,但是我们从未开发的传感器融合系统。因为它是一个新的设计,我们知道我们需要一个可读,理解建筑可视化信号流。我们也期待许多设计迭代,所以我们想要一个简单的方法来可视化结果和调试我们的设计。此外,我们想节省时间通过生成代码,但代码必须是有效的,随着CPU负载在我们的电子控制单元(ECU)已经约60%当我们开始传感器融合项目。最后,我们需要彻底验证我们的设计方案是基于价值超过150万公里的运行模拟传感器数据。基于模型的设计满足所有这些需求。

构建传感器融合系统

我们开始通过分区系统设计到功能单元,例如对象匹配和投影路径位置,和建立一个单独的仿真软件金宝app®为每个单元块。结果是一个明确的软件架构和定义良好的接口(图2),我们编写了MATLAB®代码跟踪协会,计算方差,计算加权概率,并执行其他任务,更容易实现与脚本比块,并把这个代码与MATLAB仿真软件模型的功能模块。金宝app这些算法模块使团队成员更容易合并他们的算法和控制系统的集成。

图2。金宝app传感器融合系统的仿真软件模型表现出独立的功能模块。

调试和完善我们的初步设计,我们使用记录运行模拟雷达传感器数据,相应的相机图片,和其他汽车传感器数据。在调试的过程中我们发现它有用的可视化传感器数据与前面的车辆相机视图。我们建立了一个可视化工具MATLAB显示传感器融合数据同步的网络摄像头视图周围交通(图3)。利用MATLAB的面向对象编程功能,使用MATLAB工具类来表示每个对象检测到任何传感器和统一的对象被传感器融合系统。这些MATLAB对象使我们快速一步向前和向后我们可视化数据。

图3。传感器开发的可视化工具MATLAB。

我们使用相同的工具在道路测试可视化实时数据来自车辆网络(图4)。

图4。控制道路测试AEBS软件。两辆车之间的梯形对象是一种“软目标”被设计成类似于一辆汽车用于雷达和摄像头的“傻瓜”。

实现系统和优化性能

部署传感器融合系统的ECU,我们从模型生成的C代码模型和嵌入式编码金宝app®。代码生成,我们能够快速的实现,以及避免编码错误。大部分的ECU处理器的资源分配给维护functions-monitoring仪表板警报、物理估计,数据网关,自适应巡航控制,等等。因此,我们需要优化我们最初的设计来提高其效率。

为了获得最大的性能所生成的代码,我们与MathWorks试点团队工作,帮助我们从MATLAB生成的代码优化编码器。以进一步减少处理负载的我们将模型分成独立的部分,在交替周期执行。例如,而不是运行计算静止和移动对象在每一个周期,我们跑交替周期。我们意识到处理器陷入了三角函数调用我们的系统。为了缓解这个问题,我们写了三角近似函数C和叫他们从MATLAB函数块。这些修改不仅增加传感器融合代码的效率,他们还使AEBS软件反应更快,这是至关重要的,当车辆在高速公路上行驶速度和节省几毫秒的时间。

验证和改进设计

我们测试了车载设计在一个封闭的课程,但我们需要知道系统如何反应在实际驾驶场景,如不同的天气状况,交通模式,司机的行为。这将是不切实际的,以及不安全测试AEBS直接在这些条件下。相反,我们使用一个基于仿真的工作流。我们开始通过收集数据从一个舰队的卡车。我们决定收集所有数据在ECU-not雷达和摄像头用于传感器的数据融合来说单独参考相机的图片。

使用这个舰队测试数据我们跑模拟来确定有趣的驾驶scenarios-scenarios AEBS干预提醒司机或刹车,和场景的系统干预但暂时,例如,当司机按喇叭,同时制动,转向,或大幅度的下滑。关注这些场景,然后分析了AEBS识别领域的性能我们可以改善设计。

我们需要resimulate每次我们AEBS软件更新。然而,真正有超过80 tb的交通数据记录超过150万公里的开车,花了几天来运行一个模拟。

加速模拟,我们从仿真软件建立了一个仿真器使用代码生成模型与嵌入式编码器。金宝app模拟器的读和写相同的mat文件作为我们的仿真软件模型,但是运行模拟快150倍。金宝app进一步加快模拟,我们编写了MATLAB脚本,多台计算机上运行模拟在我们部门在专用处理器的服务器,我们跑到300并行模拟。这个设置,我们减少所需的时间来模拟所有150万公里12小时。当我们发现一个新的有趣的场景模拟器,我们重新进行模拟仿真软件分析深度。金宝app

识别和分类潜在的有趣的场景tb的数据是一个繁琐和耗时的任务,所以我们开发情况分类助理模块,基于MATLAB工具,自动化,过程的一部分(图5)。该工具生成一个列表从模拟的事件,如碰撞警告,警告刹车,刹车和全由这个系统,以及硬刹车和急转弯发起的司机。我们可以比较这些列表我们的软件的两个版本。

图5。情况分类助手模块,基于MATLAB工具处理记录ECU数据并自动确定紧急制动情况有关。

执行广泛的模拟能力增强AEBS函数的鲁棒性和安全性和生产代码实现ECU。它还使我们能够更快地做出改变。我们对这些变化有信心,因为我们使用所有可用的数据在我们的模拟测试,成千上万的场景。

在生产ADAS部署生成的代码

现在大多数斯堪尼亚卡车和公共汽车配备AEBS从模型生成的代码运行的生产模型和通过大量的仿真验证。金宝app我们重复使用传感器融合系统设计在斯堪尼亚的自适应巡航控制系统,现在有超过100000台。

文章刊登在MathWorks新闻与笔记

2016 - 93016 v00出版

为相关行业观点文章