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 的自动驾驶之路分析和介绍

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

    关注

    2573

    文章

    54363

    浏览量

    785886
  • 可视化
    +关注

    关注

    1

    文章

    1317

    浏览量

    22586
  • 自动驾驶
    +关注

    关注

    791

    文章

    14668

    浏览量

    176423
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    不同等级的自动驾驶技术要求上有何不同?

    谈到自动驾驶,不可避免地会涉及到自动驾驶分级,美国汽车工程师学会(SAE)根据自动驾驶系统与人类驾驶员参与驾驶行为程度的不同,将
    的头像 发表于 10-18 10:17 2406次阅读

    自动驾驶汽车是如何准确定位的?

    [首发于智驾最前沿微信公众号]随着自动驾驶技术的快速发展,车辆的精准定位成为安全驾驶与路径规划的核心基础。相比于传统人类驾驶依赖路标和视觉判断,自动驾驶汽车需要在复杂多变的交通环境中,
    的头像 发表于 06-28 11:42 868次阅读
    <b class='flag-5'>自动驾驶</b>汽车是如何准确定位的?

    卡车、矿车的自动驾驶和乘用车的自动驾驶在技术要求上有何不同?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展,让组合辅助驾驶得到大量应用,但现在对于自动驾驶技术的宣传,普遍是在乘用车领域,而对于卡车、矿车的自动驾驶发展,却鲜有提及。其实在卡车、
    的头像 发表于 06-28 11:38 705次阅读
    卡车、矿车的<b class='flag-5'>自动驾驶</b>和乘用车的<b class='flag-5'>自动驾驶</b>在技术要求上有何不同?

    自动驾驶安全基石:ODD

    电子发烧友网综合报道 自动驾驶ODD(Operational Design Domain)即设计运行域,是指自动驾驶系统被设计为安全、有效运行的具体条件范围。它定义了自动驾驶汽车在哪些环境、场景
    的头像 发表于 05-19 03:52 5785次阅读

    禾赛科技领跑全球自动驾驶激光雷达市场

    近日,高盛集团(Goldman Sachs)发布最新研报《Global Robotaxi:China’s Robotaxi market - the road to commercialization》(《中国自动驾驶市场:商业化之路》,以下简称《报告》),揭示了中国
    的头像 发表于 05-14 16:25 808次阅读

    新能源车软件单元测试深度解析:自动驾驶系统视角

    的潜在风险增加,尤其是在自动驾驶等安全关键系统中。根据ISO 26262标准,自动驾驶系统的安全完整性等级(ASIL-D)要求单点故障率必须低于10^-8/小时,这意味着每小时的故障概率需控制在亿
    发表于 05-12 15:59

    AI将如何改变自动驾驶

    [首发于智驾最前沿微信公众号]五一假期继续闲聊一下,还欢迎大家随意留言,随着人工智能(AI)的发展,很多车企及自动驾驶供应商正尝试将AI融入自动驾驶系统,为何大家都在积极推动这一技术?AI会给
    的头像 发表于 05-04 09:58 619次阅读

    NVIDIA Halos自动驾驶汽车安全系统发布

    NVIDIA 整合了从云端到车端的安全自动驾驶开发技术套件,涵盖车辆架构到 AI 模型,包括芯片、软件、工具和服务。 物理 AI 正在为自动驾驶和机器人开发技术的交叉领域释放新的可能性,尤其是加速了
    的头像 发表于 03-25 14:51 963次阅读

    为什么聊自动驾驶的越来越多,聊无人驾驶的越来越少?

    “无人驾驶”与“自动驾驶”,傻傻分不清楚?就在之前的一篇文章中,引用了王传福的一句话,其说的是无人驾驶是“扯淡”( 相关阅读: 无人驾驶是“扯淡”?是皇帝的新装?),随后也有小伙伴问,
    的头像 发表于 02-23 10:52 1001次阅读
    为什么聊<b class='flag-5'>自动驾驶</b>的越来越多,聊无人<b class='flag-5'>驾驶</b>的越来越少?

    沃尔沃与Waabi携手开发自动驾驶卡车

    沃尔沃自动驾驶解决方案公司(V.A.S.)近日宣布与加拿大自动驾驶卡车技术公司Waabi建立合作伙伴关系,共同致力于自动驾驶卡车解决方案的研发。
    的头像 发表于 02-10 17:33 847次阅读

    自动驾驶的未来 - 了解如何无缝、可靠地完成驾驶

    作者:Don Horne 投稿人:DigiKey 北美编辑 自动驾驶组件的最新进展使许多驾驶员的“无需干预”成为现实。然而,许多驾驶员对真正自动驾驶汽车的安全性和可靠性仍然存在不情愿和
    的头像 发表于 01-26 21:52 895次阅读
    <b class='flag-5'>自动驾驶</b>的未来 - 了解如何无缝、可靠地完成<b class='flag-5'>驾驶</b>

    L3自动驾驶法规同步登陆北京、武汉 #自动驾驶 #智能驾驶 #交通法规

    自动驾驶
    jf_15747056
    发布于 :2025年01月07日 17:55:43

    从《自动驾驶地图数据规范》聊高精地图在自动驾驶中的重要性

    自动驾驶地图作为L3级及以上自动驾驶技术的核心基础设施,其重要性随着智能驾驶技术的发展愈发显著。《自动驾驶地图数据规范》(DB11/T 2041-2022)由北京市规划和自然资源委员会
    的头像 发表于 01-05 19:24 2864次阅读
    从《<b class='flag-5'>自动驾驶</b>地图数据规范》聊高精地图在<b class='flag-5'>自动驾驶</b>中的重要性

    自动驾驶中常提的鲁棒性是个啥?

    随着自动驾驶技术的快速发展,鲁棒性(Robustness)成为评价自动驾驶系统的重要指标之一。很多小伙伴也会在自动驾驶相关的介绍中,对某些功能用鲁棒性进行描述。一个鲁棒的系统能够在复杂
    的头像 发表于 01-02 16:32 8338次阅读
    <b class='flag-5'>自动驾驶</b>中常提的鲁棒性是个啥?