利用MATLAB/Simulink在自动加速路上做了两件大事

发布者:Huanle666最新更新时间:2018-04-30 来源: 互联网关键字:matlab  Simulink  自动驾驶 手机看文章 扫描二维码
随时随地手机看文章

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


◆  ◆  ◆  ◆


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

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 的产品亮点。

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


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


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

  • 可视化

  • 数据融合

  • 真值标定

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


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

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

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

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

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

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

  2. Track manager 先为该detection分配一个 track

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

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

  5. 目标 detection 消失后,track 被删除

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

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

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

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

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


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

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

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

  2. 在这个模拟环境中可以模拟雷达(radar Detection Generator)和视觉(vision Detection Generator)的传感器。  

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


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


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

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

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

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

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

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


R2017b:闭环控制示例


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

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

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

  • 代码自动生成

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

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

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

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

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

R2018a:unreal 集成


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


针对第二点需求,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  Simulink  自动驾驶 引用地址:利用MATLAB/Simulink在自动加速路上做了两件大事

上一篇:解析工程师所熟知的CAN、UART、IIC、USB等协议解码
下一篇:车辆跟踪系统:任何时间、任何地点、任何方式

推荐阅读最新更新时间:2024-07-25 20:05

斯巴鲁发布2016-2030年技术战略,急追自动驾驶
   在3月7日召开的新战略说明会上,斯巴鲁介绍了2016-2025年间将推出的重点技术。     斯巴鲁在2016年3月7日召开的新战略说明会上介绍了该公司到2030年的重点技术。2017年将在汽车专用道路上实现同一车道内的低速跟车功能,2020年实现能自动变道的高速公路上的自动驾驶,同时防止十字路口交通事故的技术将开始投入使用。     公司社长吉永泰之表示,“直到2020年都将保持每年千亿日元的研发投资规模”。该公司以前的研发费用为每年400亿日元至500亿日元,2015年度增至约1000亿日元。今后将把每年1000亿日元的研发费用投入到:     (1)旨在进一步提高汽车的安心安全感的技术开发     (2
[汽车电子]
自动驾驶时代,传感器百家争鸣
自动驾驶为基于光子学的传感器带来了机遇和挑战。自动驾驶汽车需要激光雷达(LiDAR)、摄像头、雷达和超声波等许多类型的传感器,预计每年数百万的自动驾驶汽车将为这些传感器带来巨大的市场机遇。 当然,与机遇相伴的是,挑战也很多。摄像头和激光雷达必须高可靠地生成安全导航所需要的数据,在各种温度、照明水平和目标反射率下运行多年。并且,还需要在低成本下提供这种性能,好比以消费类产品的价格,提供航天产品的质量。 上图激光雷达图像中的颜色编码反映强度,很容易看到车辆的黑色轮胎。这种性能对于自动驾驶很重要,因为道路上时常会出现车辆需要避让的散落轮胎 因此,激光雷达和摄像头供应商正在不断创新。如果自动驾驶汽车能够在近年内成功在大众市场闪亮登场,激
[汽车电子]
为何通用汽车和Waymo不独立发展自动驾驶业务?
Waymo 寻找他人制造汽车的策略符合其母公司的经典模式:在不制造硬件的情况下,操控通过 自动驾驶 汽车运行的有价值的人工智能软件和数据。而对于 通用汽车 来说,寻找财大气粗的合作伙伴符合其既定惯例,即不要在未来数年的利润上冒数十亿美元的风险。自动驾驶汽车领域的两位领导者都坚持自己已经知道的东西,并从他人那里得到帮助。   一名员工在密歇根州猎户座镇通用汽车厂的生产线上工作 通用汽车公司这样的汽车制造商在自动驾驶汽车竞争中具有两大优势:一是懂得如何制造汽车的知识,二是有生产自动驾驶汽车的工厂。而硅谷最大的自动驾驶汽车竞争者Alphabet,则拥有大量的代码和大量的现金。     而现在,通用汽车和Alphabet双双已经找到了
[嵌入式]
特斯拉搭载英伟达自动驾驶芯片会有啥不同?
特斯拉Autopilot2.0硬件能否胜任全自动驾驶,业内主要质疑在于未采用激光雷达和自动驾驶芯片运算能力不足。下面就随汽车电子小编一起来了解一下相关内容吧。 2016年10月,特斯拉宣布搭载Autopilot2.0硬件车型开始量产。特斯拉CEOElonMusk当时宣称Autopilot2.0的硬件解决方案可以实现全自动驾驶(FullyAutonomousDriving),但一位特斯拉车主对2.0硬件暴力拆解显示,这事儿可能没那么简单。   特斯拉搭载英伟达自动驾驶芯片会有啥不同? 特斯拉Autopilot2.0硬件能否胜任全自动驾驶,业内主要质疑在于未采用激光雷达和自动驾驶芯片运算能力不足。鉴于Musk旗帜鲜明的反对激光
[汽车电子]
蔚来李斌:汽车行业犯了四宗罪,未来汽车的关键词是“智能电动车
  摘要: “今天我们在说手机,都指的是smart phone,将来在说车,其实说的就是Smart EV,我觉得一定会发生变化。”李斌说,“我们今天就在这么一个时间点、时间轴、起点上面。”下面就随汽车电子小编一起来了解一下相关内容吧。   钛媒体注:钛媒体T-EDGE国际年度盛典,作为钛媒体年度最重要、在科技领域最举足轻重的年度国际峰会,每一年年末希望能够对当年发生的和未来可能发生的做一些重要盘点和预判,同时,搭建一个平台通过线上线下交流,助力全球前沿创新者的价值发现与落地。   蔚来旗下7座 SUV 车型ES8的正式发布上市,让这家公司成为这两天科技圈和汽车圈的主角。蔚来创始人、董事长李斌自然也行程满满,发布会当晚只休息2个小
[汽车电子]
设计一款自动驾驶系统芯片挑战Mobileye和英伟达
设计一款自动驾驶芯片挑战Mobileye和英伟达是不是有点不自量力? 未必,目前自动驾驶系统芯片即SoC设计大都是搭积木的方式,各种第三方IP就是积木,只要搭配得当,还是有可能挑战Mobileye和英伟达的,关键不在于技术,而在于有持续不断的巨量资金注入,这是一场马拉松比赛,坚持到最后就是胜利。 Mobileye的优势是软硬一体,开发周期最短,开发成本最低,技术成熟稳定,缺点是产品同质化明显,无法凸显整车厂的特色。MIPS指令集导致其系统封闭,升级能力差,无法适应快速演进的传感器技术,特别是激光雷达的大量出现。 英伟达的优势是AI算力极其强大,留有足够的算力冗余,能适应各种算法,也能满足未来3-6年的算法演变。GPU的
[汽车电子]
设计一款<font color='red'>自动驾驶</font>系统芯片挑战Mobileye和英伟达
特斯拉L2级自动驾驶连撞11个路桩,系统失效还是硬件问题
据外媒报道,美国时间7月15日,一辆特斯拉Model 3在高速公路行驶期间,连续撞上11个施工用的隔离桩桶,并最终停在了道路旁边,幸运的是并没有造成人员伤亡。 车主Richard FS在Youtube上传了行车记录仪录取的事故视频,还原了事故发生的过程。 Model 3撞上多个桩桶 这名车主表示,自己当时睡着了,没能控制车辆,但是特斯拉的L2级自动驾驶系统Autopilot系统(包括AEB紧急制动系统)没能帮他避免碰撞,言语之间有些埋怨的意思。 从视频来看,车辆当时正在一个高速公路行驶,且超过了一辆货车,说明其速度较高,且车辆在居中行驶时直接撞上了施工路段的多个圆形桩桶。 事故发生后,有一些评论和媒体认为这是又
[汽车电子]
特斯拉L2级<font color='red'>自动驾驶</font>连撞11个路桩,系统失效还是硬件问题
基于MATLAB的远程信号分析与诊断系统的开发
    摘要: 讨论了MATLAB通过WWW实现异地信号分析的原理和关键技术,设计了基于MATLAB的机械设备远程信号分析及远程故障诊断系统。     关键词: 远程诊断 信号处理 MATLAB软件 WEB INTERNET MATLAB语言及其系统是MathWorks公司推出的一套高性能的数值计算和可视化数学软件 。它集数值分析、矩阵运算、信号处理、仿真控制和图形显示等于一体,构成了一个方便的、功能强大的、界面友好的用户环境和系统开发平台,在故障诊断等众多工程领域有着广泛的应用 。 近年来,随着计算机技术与通信技术的发展,Internet/Intranet技术已成为远程信号分析与处理系统开发的理想平台,然
[嵌入式]
小广播
最新汽车电子文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved