MATLAB2020a自动驾驶工具箱有哪些新特性?

作者:卿颜

链接:https://zhuanlan.zhihu.com/p/115166496

本文转载自知乎,作者已授权,未经许可请勿二次转载。

前两天,MathWorks公司推出了新版本的MATLAB——R2020a,其Automated Driving Toolbox的release note相当丰富。

初步浏览和验证后,先抛结论,就我主要关注的与驾驶场景相关部分,2020a有不少新的补充,但并没有太惊艳(可能是MATLAB把我们惯坏了,期望它每个版本都能来个王炸),不过从这个版本的蛛丝马迹,隐约可以看出在下个或者下下个版本中,大概率会有惊人的大突破——彻底打通Driving Scenario Designer和Unreal Engine。

先来说说新版本的MATLAB做了哪些需要highlight的更新。

1、推出了MATLAB Web Apps

https://www.mathworks.com/products/matlab-web-app-server.html

这个工具的作用,强行翻译一下就是:

您可以使用App Designer创建应用程序,使用MATLAB Compiler™打包应用程序,并使用MATLAB Web App Server托管它们。您的最终用户可以使用浏览器访问和运行Web应用程序,而无需安装其他软件。

2、推出了Simulink Compiler

https://www.mathworks.com/products/simulink-compiler.html

Share simulations as standalone executables, web apps, and Functional Mockup Units (FMUs)

3、推出了一个新的工具箱——Motor Control Blockset

https://www.mathworks.com/products/motor-control.html

除此之外,还有一个非常值得一提的点,从2019b开始,Simulink工具栏由原来的下拉列表的形式(见下图)改成了工具条的形式。

2019b及之后的Simulink为Simulation、Modeling、Subsystem等重要功能打造了专属的工具条,如下图。

新版Simulink不但将与某个功能相关的所有操作集成在一个工具条,而且能根据用户当前的行为自动地跳转到对应的工具条。例如,点击上图的PID Control子系统,Simulink会自动跳转到Subsystem Block工具条,此工具条中呈现了针对子系统的所有可能操作,比如预览子系统内部模型(Content Preview)、展开子系统(Expand)、注释掉子系统(Comment Out)、设置为原子子系统(Is Atomic Subsystem)等等。

回到正题,来看看2020a的自动驾驶工具箱有哪些新特性。先来瞧瞧完整的release note。

https://www.mathworks.com/help/releases/R2020a/driving/release-notes.html

足足有三十几条,可以看出MathWorks目前对这个工具箱的重视程度。选几个重要更新加以说明。

1、Ground Truth Labeler可以同时标注代表同一场景的多个信号

之前的版本中,MathWorks的真值标注工具——Ground Truth Labeler只能标注图像数据,而现在支持同时标注代表同一场景的多个信号,比如对图像和激光雷达点云同时标注。可以加载来自单个来源(例如rosbag)的信号集合。现在也支持将标记的激光雷达数据用作深度学习模型的训练数据。

Ground Truth Labeler可以手动标注,也可以根据内置的自动标注算法或者自定义的标注算法来进行自动标注。

MathWorks的工具链是比较完善的,包括标注数据、设计神经网络、训练深度学习模型等。不过,一般自动驾驶公司都有一套适用于本公司的采集、标注、训练工具链,估计他们之中真正用MathWorks工具链的并不多。对于小公司、小团队或者个人,自行去打造这样一套工具链还是很麻烦的,直接采用MathWorks的成熟工具链,不失为一个好的选择。

2、增加了几个自动驾驶demo——高速公路车道跟随、高速公路车道变更和交通信号协同系统

高速公路车道跟随

https://urlify.cn/AZz2qa

高速公路车道变更

https://urlify.cn/Y3ARze

交通信号协同系统

https://urlify.cn/QjMbUz

3、增加了激光雷达传感器模型

使用lidarPointCloudGenerator System object™对激光雷达传感器建模并为drivingScenario对象中的参与者生成合成点云数据。也就是通过编程调用激光雷达传感器模型函数,合成激光雷达点云。因此,Driving Scenario Designer软件中还没有增加激光雷达传感器,估计之后版本可能就有激光雷的模型了,到时候就可以在软件中为车辆轻松安置激光雷达。

4、Driving Scenario Designer增加了3D显示

Driving Scenario Designer软件构建的场景,在该软件中运行时,可以进行3D显示,3D场景是用Unreal Engine渲染的。

这个功能初步打通了Driving Scenario Designer和Unreal Engine。

上一篇文章《MATLAB/Simulink自动驾驶工具箱之Driving Scenario Designer》提到过,Driving Scenario Designer优点是方便易用轻量化,缺点是场景完全不逼真。Unreal Engine则反过来,所以如果能构建场景用Driving Scenario Designer,而渲染用Unreal Engine,结合两者的优点,那简直完美。

不过,当前这个新增的特性,仅仅是在Driving Scenario Designer中将Driving Scenario Designer和Unreal Engine的显示进行打通,并不是在仿真运行中将两个软件打通。特性5在此基础上,做了进一步的工作。

5、提供了几个预构建场景,这几个预构建场景在仿真运行中打通了Driving Scenario Designer和Unreal Engine

打通的预构建场景

https://urlify.cn/qeUVfa

这几个场景包括CurvedRoad、CurvedRoad、StraightRoad、USCityBlock、USHighway。

所谓仿真运行中的打通是什么意思?这个示例能很好地说明。

https://urlify.cn/u6vYrm

模型如下图。

仿真的场景数据源于Driving Scenario Designer构建场景后导出的场景数据mat文件,Unreal Engine从场景中获取各个交通参与者的位置姿态并在3D场景中进行渲染,且可以通过MathWorks提供的与Unreal Engine交互的摄像头、毫米波、激光雷达等传感器输出图像、目标列表、激光雷达点云等信息。

遗憾的是,目前只有少数几个场景是支持上述模式的,因为只有这几个场景的Driving Scenario Designer和Unreal Engine数据都已经被构建好而且是匹配在一起的。用户如果想自定义场景去实现上述模式,那就必须同时构建这两个软件的场景并将它们匹配在一起。

总结

关于驾驶场景这部分内容,我们很多时候希望用如Driving Scenario Designer这样便捷的工具去创建场景,但是用类似Unreal Engine的强大引擎去渲染出无线接近真实的场景。这就需要完全打通Driving Scenario Designer和Unreal Engine。从2020a的新特性可以发现,MathWorks正在尝试打通这两个工具,如今已经打通了一部分,期待下一个版本,能够真正把这两个工具融合在一起。

PreScan、Carmaker、MotionDesk等软件的新版本都开始使用Unreal Engine、Unity来渲染。如果MathWorks用Driving Scenario Designer或Unreal Engine单独去PK它们,可想而知,是没多大的胜算的。但如果彻底打通了Driving Scenario Designer和Unreal Engine,考虑到MATLAB庞大的用户群体以及自动驾驶工具箱的高性价比,相信会有越来越多的用户选择使用MathWorks的自动驾驶工具箱和对应的场景构建工具。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文(无广告)。

扫描二维码添加小编↓

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值