0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于MATLAB 的自动驾驶之路分析和介绍

MATLAB 来源:djl 2019-09-12 16:00 次阅读

自动驾驶是目前比较热门的话题,包含的技术领域五花八门,例如:雷达、摄像头、汽车电控、激光雷达、物体识别、高精度地图、导航技术等等。小编特邀 MathWorks 行业技术专家来聊一聊 MathWorks 这几年的自动驾驶之路,分享最新的技术投入和应用亮点。

MathWorks 对自动驾驶技术的投入可以总结为以下几个阶段:

关于MATLAB 的自动驾驶之路分析和介绍

2015:SCANIA AEB 系统

2015 年,瑞典著名的重卡生产商 SCANIA 发布了用 MATLAB/Simulink 设计的 AEB(自动紧急刹车)系统,看动画:

在这个案例中,SCANIA 利用 MATLAB/Simulink 做了两件大事:

一是设计了数据融合(Sensor Fusion)系统。AEB 把摄像头和雷达采集的数据进行整合,同时使用车辆前部安装的雷达和摄像头来扫描前方区域的物体。系统利用每个传感器的独特优势获取更精确的环境模型。

雷达的优势在于确定物体的距离、相对速度,但在确定物体的形状或横向位置方面较弱。摄像头主要优势在于辨识物体类别,主要缺点在于在黑暗环境下难以工作,以及对速度估计不准确。SCANIA 构建了一个传感器融合系统,可将两个传感器中的数据进行匹配合并。传感器融合系统一旦在主道上发现物体,会将该物体的位置和预计路径传递给 AEB,AEB 将确定何时警告驾驶员或采取制动措施。

二是设计了整个回放测试系统。SCANIA 的车队在超过 150 万公里的驾驶里程中,所记录的实际交通数据超过了 80TB。这 150 万公里的实测数据,为每次更新发布的新功能提供了海量测试场景和数据。

为了进一步提高仿真运行速度,研发团队编写了 MATLAB 脚本,在服务器集群进行多核并行计算和仿真,最多同时可以运行300个仿真实例。通过这一方法,将仿真 150 万公里交通数据的时间减少到 12 小时。在仿真中发现值得关注的新场景时,会在 Simulink 中重新运行仿真并进行深度分析。

2016:传感器融合示例

坦率地讲,SCANIA 的这个案例激发了 MathWorks 的开发灵感。2016 年在波士顿的年度大会上,来自美国底特律的应用工程师展示了他用 MATLAB 脚本开发的一个前车碰撞预警(FCW)的演示案例。这个演示案例就是后来 ADST(自动驾驶工具箱)的原型。这个原型中包含的 2 个关键点:可视化、数据融合,都成了 ADST 的产品亮点。

关于MATLAB 的自动驾驶之路分析和介绍

还有一家公司——德国大陆集团(Continental)——用 MATLAB 也是炉火纯青。MATLAB 既然是好工具,我就用工具来代替大量人工重复劳动。2014 年,Continental 在研发一款自动驾驶摄像头的时候,使用 MATLAB 来自动化标注物体和道路标志,这些自动化的方法显著地提高了摄像头的机器学习效率。这一灵感也最终由 MathWorks 工程师实现在 ADST 的功能中:GroundTruth Labelling (真值标定)。

关于MATLAB 的自动驾驶之路分析和介绍

R2017a:ADST - 自动驾驶系统工具箱

2017 年 3 月,MathWorks 在 MATLAB R2017a 发布了 ADST(自动驾驶系统工具箱),包括 3 个核心功能点:

可视化

数据融合

真值标定

行业技术专家强调:可视化是数据分析的第一步。

大家先一起看看汽车雷达和摄像头的数据长什么样。以雷达为例:下面两个数据表格显示了在什么时间戳,有多少个识别物体,物体的方位、速度等数据信息

关于MATLAB 的自动驾驶之路分析和介绍

让我们看一段 MATLAB 处理数据并实现可视化的动画:

关于MATLAB 的自动驾驶之路分析和介绍

关于MATLAB 的自动驾驶之路分析和介绍

通过 MATLAB 自带的 API 和函数,用户可以比较容易地将雷达和摄像头的传感器数据,进行人眼可视化。上图左边是原始的摄像头画面,右边蓝色的三角代表摄像头识别的目标,红颜色代表雷达识别的目标。通过可视化,人眼可以看到雷达和摄像头的信号有一定的偏差,那么自然就会问另外一个问题,车载电子设备到底以哪个为准呢?这就自然引入 ADST 的另外一个功能 – Sensor Fusion(传感器融合)。

理解传感器融合有几个关键词:多目标追踪(Multi-ObjectTracking),卡尔曼滤波器(KalmanFilter)和代价矩阵(CostMatrix)。

关于MATLAB 的自动驾驶之路分析和介绍

上图简单介绍了一个传感器融合的过程——从传感器的捕获(detection)到最终被确认为追踪物体(track):

物体被传感器(视觉、雷达等)捕获,形成 detection

Track manager 先为该detection分配一个 track

Tracking filter 通过卡尔曼滤波器不断估计 detection 的 track

Track manger 通过代价矩阵将 detection 分配更新到 track

目标 detection 消失后,track 被删除

MATLAB 自带的多目标追踪,可以追踪最多 120 个运动中的目标。每个目标的最终的 track 可能既不是雷达的位置,也不是视觉的位置,而是最终 track 算出来的位置。下图展示了代价矩阵的示意图,将 detection 分配到 track 的过程用到了 Hungarian Assignment Algorithm。

关于MATLAB 的自动驾驶之路分析和介绍

MATLAB 自带了前向碰撞告警(FCW)例子可以帮助用户理解传感器融合的使用。

关于MATLAB 的自动驾驶之路分析和介绍

上图为 FCW 的数据融合处理流程,基本的逻辑是将雷达杂波信号滤除后,进行多目标的追踪和更新,在识别到最关键目标(Most Important Object)后,根据前向距离进行刹车告警。

让我们看看该样例的运行动画:

关于MATLAB 的自动驾驶之路分析和介绍

蓝色三角形的视觉识别目标和红色圆形的雷达识别目标,在消除了雷达杂波(大部分为只有红色圆型的目标,以及在其他车道的目标)后,通过数据融合形成目标追踪。看到的灰色方框即为运动物体的追踪。

上图左边的视频录像是一个实际路况的采集视频,样例还提供了相应的视觉和雷达的object list。有人会问:在数据融合设计早期的时候,我只有一个 idea,还没有具体的 object list ,那如何才能验证我的算法呢?MATLAB 还提供了另外一个 Sensor Fusion 的样例,看动图:

关于MATLAB 的自动驾驶之路分析和介绍

这个样例和上面有实际环境的样例有几点不同:

车辆和道路都是可以像搭积木一样,通过 MATLAB 脚本快速搭建测试场景

在这个模拟环境中可以模拟雷达(radarDetectionGenerator)和视觉(visionDetectionGenerator)的传感器。

好处不言而喻:快速验证idea。

随着自动驾驶工具箱发布的,还有一个广受欢迎的功能——真值标定(ground truth labelling)。

首先给出定义:在机器学习中 ground truth 表示有监督学习的训练集的分类准确性,用于证明或者推翻某个假设。很多视觉识别算法是用的机器学习。机器学习的认知基础就是真值。真值标定的功能有两点:

采用大量真值来训练机器学习算法

利用真值来检验现有的识别算法

真值标定的输入一般是视频文件。真值标定既可以手动一帧一帧地标定,也可以半自动化标定后再手工修正,最终可以将结果保存成真值数据库。让我们看一段半自动标定的动画:

关于MATLAB 的自动驾驶之路分析和介绍

最终标定出来的真值数据如下图所示:就像电影的字幕类似,几分几秒,在画面的什么方位,是什么物体:

关于MATLAB 的自动驾驶之路分析和介绍

ADST 在发布后,受到汽车电控工程师和自动驾驶研发人员的广泛使用。MathWorks 工程师在和他们交流后发现,他们有一个共同的兴趣点:ADST 的功能大部分集中于前端(可视化、真值标定、传感器融合),有没有将前端的识别和融合结果和后端的汽车电控结合起来的案例?其实这也反映了市场热点从 ADAS(高级驾驶辅助系统)向 AD(自动驾驶)过渡。ADAS 侧重于告警,而 AD 侧重于控制。

R2017b:闭环控制示例

随着MATLAB R2017b的发布,MathWorks推出了一个自适应巡航(ACC)的案例,包括:

Simulink 模型:包含传感器融合、传感器模型、可视化、控制器模型、车辆模型、模拟道路场景和环境模型

控制器引入了两种参考设计:PID 和 MPC(Model Predictive Control)

代码自动生成

关于MATLAB 的自动驾驶之路分析和介绍

让我们看一下运行的动画:由于紫车车辆强行并线到蓝色车辆(被控车辆),在 ACC 的作用下蓝色车辆的速度下降直到紫色车辆离开本车道。

关于MATLAB 的自动驾驶之路分析和介绍

这里用到的速度控制是经典的 PID 控制。众所周知,PID 的好处是简单、易懂、占用资源少,但是在自动驾驶的复杂环境下,想要对车辆进行精准控制,可以考虑更加复杂的先进控制方法,比如 MPC(ModelPredictive Control)。从另外一个角度来看,MPC 过去没有流行的原因之一就是受限于硬件资源和成本。目前,在自动驾驶技术和需求的推动下,汽车控制器必须变得越来越强大,使得 MPC 变得可能。下图给出了在 ACC 的环境下,使用 PID 和 MPC 的对比:MPC 比 PID 控制的更加精准、快速。

关于MATLAB 的自动驾驶之路分析和介绍

有了 ACC 这个例子,用户可以在 MATLAB/Simulink 统一平台下做如下事情:传感器融合、传感器模型、可视化、控制器设计和代码生成、车辆模型、模拟道路场景和环境模型。但在实践中发现,用户对模拟道路场景和环境模型要求其实很高:

MATLAB 虽然可以创建道路场景,但是必须用脚本编程,比较麻烦。

更希望看到虚拟现实场景。

R2018a:unreal 集成

2018 年 3 月,针对第一点,MATLAB R2018a 推出了 Driving Scenario Designer的 App,直接可以画道路、车辆和简单传感器模型:

关于MATLAB 的自动驾驶之路分析和介绍

针对第二点需求,MATLAB R2018a 推出的 Vehicle Dynamics Blockset 可以和 unreal 游戏引擎集成,并自带了一个免费版的 unreal。当然 Vehicle Dynamics Blockset 主要功能是提供了车辆横向动力学的模块,免费版 unreal 只是用于 3D 显示。相信对于自动驾驶控制器设计人员,在设计例如 ACC(自适应巡航),LKA(自动车道保持)等自动驾驶功能时候,Vehicle Dynamics Blockset 一定能发挥强大的作用。

让我们再回头看看 MATLAB的自动驾驶之路:从用户案例中的启发,到推出自动驾驶工具箱;通过和用户的沟通逐步加入的车辆控制部分和 unreal 集成。

当然,自动驾驶永远在路上,MATLAB/Simulink 也在激光雷达点云处理、驾驶路径规划和跟随等方面持续推出更多的功能和应用案例,例如:

实时车辆数据融合和显示。通过和用户的深入交流,技术专家了解到用户的兴趣点多集中于:车辆上安装了摄像头和雷达后,在实时运行的同时,如何实现数据融合并显示结果?

MathWorks工程师通过 Automated Driving System Toolbox、Vehicle Network Toolbox、Instrument Control Toolbox、MATLAB Coder、Embedded Coder 等工具箱,已经实现在车辆上做实时驾驶的数据融合和数据显示:

关于MATLAB 的自动驾驶之路分析和介绍

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2551

    文章

    51177

    浏览量

    754294
  • 可视化
    +关注

    关注

    1

    文章

    1195

    浏览量

    20961
  • 自动驾驶
    +关注

    关注

    784

    文章

    13839

    浏览量

    166556
收藏 人收藏

    评论

    相关推荐

    自动驾驶汽车安全吗?

    随着未来汽车变得更加互联,汽车逐渐变得更加依赖技术,并且逐渐变得更加自动化——最终实现自动驾驶,了解自动驾驶汽车的安全问题变得非常重要,这样你才能回答“自动驾驶汽车安全吗”和“
    的头像 发表于 10-29 13:42 536次阅读
    <b class='flag-5'>自动驾驶</b>汽车安全吗?

    智能驾驶自动驾驶的关系

    智能驾驶自动驾驶在概念上存在一定的联系和区别,以下是对两者关系的介绍: 一、概念定义 智能驾驶 : 智能驾驶是一个更为宽泛的概念,它指的是
    的头像 发表于 10-23 16:02 699次阅读

    基于场景的自动驾驶验证策略

    可选方案是将实际交通状况做出总结生成具有高度代表性的交通场景,通过仿真分析自动驾驶系统在这些场景上的安全性。然而交通场景中元素的复杂性与失败事件的罕见性导致难于准确分析系统失败的概率和造成系统失败的原因。本文将针对此难题,
    的头像 发表于 10-22 16:14 302次阅读
    基于场景的<b class='flag-5'>自动驾驶</b>验证策略

    自动驾驶HiL测试方案案例分析--ADS HiL测试系统#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月22日 15:20:19

    自动驾驶技术的典型应用 自动驾驶技术涉及到哪些技术

    自动驾驶技术的典型应用 自动驾驶技术是一种依赖计算机、无人驾驶设备以及各种传感器,实现汽车自主行驶的技术。它通过使用人工智能、视觉计算、雷达、监控装置和全球定位系统等技术,使自动驾驶
    的头像 发表于 10-18 17:31 837次阅读

    自动驾驶HiL测试方案——摄像头仿真之视频注入#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月17日 15:18:41

    自动驾驶HiL测试方案 ——场景仿真3D演示#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月16日 10:55:35

    自动驾驶HiL测试方案介绍#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月12日 18:02:07

    自动驾驶的未来之路:智能网联与单车智能的交融

    随着全球科技的飞速进步,自动驾驶技术已从实验室概念逐渐走向商业化实践,引领着未来交通出行的革命。然而,关于自动驾驶技术的具体发展路径,业内始终存在两种主要观点:单车智能与智能网联。本文旨在深入探讨智能网联作为
    的头像 发表于 08-30 14:35 1514次阅读

    FPGA在自动驾驶领域有哪些优势?

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)在自动驾驶领域具有显著的优势,这些优势使得FPGA成为自动驾驶技术中不可或缺的一部分。以下是FPGA在自动驾驶
    发表于 07-29 17:11

    FPGA在自动驾驶领域有哪些应用?

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)在自动驾驶领域具有广泛的应用,其高性能、可配置性、低功耗和低延迟等特点为自动驾驶的实现提供了强有力的支持。以下
    发表于 07-29 17:09

    自动驾驶的传感器技术介绍

    自动驾驶的传感器技术是自动驾驶系统的核心组成部分,它使车辆能够感知并理解周围环境,从而做出智能决策。以下是对自动驾驶传感器技术的详细介绍,内容涵盖常见类型、工作原理、在
    的头像 发表于 07-23 16:08 2302次阅读

    未来已来,多传感器融合感知是自动驾驶破局的关键

    的Robotaxi运营。这标志着L4级自动驾驶迎来了新的里程碑,朝着商业化落地迈进了一大步。中国的车企也不甘落后:4月7日,广汽埃安与滴滴自动驾驶宣布合资公司——广州安滴科技有限公司获批工商执照。广汽埃安
    发表于 04-11 10:26

    边缘计算与自动驾驶系统如何结合

    当前自动驾驶中,大规模的人工智能算法模型和大规模数据集中化分析均放在云端进行。因为,云端拥有大量的计算资源,可以在极短的时间内完成数据的处理,但是仅依靠云端为自动驾驶汽车提供服务在很多情况下是不可行的。
    发表于 03-25 09:26 574次阅读
    边缘计算与<b class='flag-5'>自动驾驶</b>系统如何结合

    自动驾驶发展问题及解决方案浅析

    随着科技的飞速进步,自动驾驶汽车已经从科幻概念逐渐转变为现实。然而,在其蓬勃发展的背后,自动驾驶汽车仍面临一系列亟待解决的问题和挑战。本文将对这些问题进行深入的剖析,并提出相应的解决方案,以期为未来自动驾驶
    的头像 发表于 03-14 08:38 1171次阅读