matlab怎么批量删除文件中的前几行_MATLAB自动驾驶工具箱的“方块式”驾驶场景工具——Driving Scenario Designer...

从R2017a开始,MathWorks发布了自动驾驶工具箱——Automated Driving Toolbox。今天我们来聊一下Simulink——>Automated Driving Toolbox中一个很有趣的工具——Driving Scenario Designer,主要针对MATLAB R2019b。在一众场景软件中,它应该是属于一朵奇葩—— 定位独特的轻量化场景构建工具 。文中涉及MathWorks公司的一些图片和视频,如果MathWorks公司觉得不妥,可以联系删除。 我们先来看一段用Driving Scenario Designer构建场景和传感器的视频。 Driving Scenario Designer操作视频 总结下Driving Scenario Designer的主要特点,稍后再仔细分析。1、使用 拖放操作 创建道路和交通参与者,快速构建场景2、使用低保真度的视觉和雷达传感器模型, 直接输出检测到的目标列表3、支持将场景导出成MATLAB Function,再通过修改MATLAB Function实现 批量化生成场景4、支持将场景和传感器 导出成Simulink模块5、支持导入 OpenDrive路网文件,支持 基于记录的实车数据构建场景6、提供了 预构建场景,可供用户直接使用,包括:
  • 符合Euro NCAP要求的AEB、ELK和LKA测试场景
  • 交叉路口、转弯和掉头的测试场景

01

拖放操作,块状参与者

从视频中可以发现,Driving Scenario Designer中所有的交通参与者(汽车、卡车、行人等)几乎都是以长方体块状形式来表现的,而且场景中的元素种类比较少,没有红绿灯、绿化带、交通标志等等。可以这么说,与其他大多数的场景软件相比,Driving Scenario Designer真的是简单到简陋的程度。不过, 这种极简设计反倒体现了MathWorks在产品定位方面的独特之处,MathWorks设计这款场景软件针对的是Control-in-loop的算法验证(融合、规划、决策、控制),而非Perception-in-loop的算法验证 。对于Perception-in-loop的应用,MATLAB提供了另外一套方案(与虚幻引擎Unreal Engine结合),此文我们暂且不详述。Control-in-loop的应用,比如验证AEB、ACC、LKA或者自动变道的控制算法,目前的Driving Scenario Designer基本上能够满足需求。针对此类应用,Driving Scenario Designer的优势是可以 非常高效地构建场景 ,有效提升测试效率。

02

低保真度的传感器模型,输出目标列表

Driving Scenario Designer提供 两种传感器模型——单目相机Camera和毫米波雷达Radar946b83e7f8964ac1abdd0ad2f8f77499.png Driving Scenario Designer的传感器模型Driving Scenario Designer中交通参与者被称为Actor,本车被称为Ego Vehicle,具体如何在本车上添加传感器,可见上面的视频。在软件中,可以设置Camera和Radar的内参外参,以及人为加上一些测量误差以尽量模拟真实传感器的状态。这两个传感器模型直接输出目标列表,因此除了验证控制算法,也可以基于Driving Scenario Designer来验证目标层的传感器融合算法。 基于传感器融合和车道检测的车道跟随demo视频

03

支持批量生成场景

对于某个算法的测试,可能需要多至上百个测试场景进行全面的测试。如果要逐一手动搭建这么多场景,那将会是非常巨大的工作量,这时候就很需要批量生成场景的功能。比如AEB算法,需要从不同的碰撞覆盖面积,不同的碰撞角度来对算法进行测试。如果能在场景中设置变量(比如碰撞中前车的横向坐标),通过循环修改该变量来批量生成碰撞场景,那就太棒了。
2723cc2ab4d7ce26bd2bdf1cc72ad69b.png 不同碰撞覆盖面积的AEB场景 Driving Scenario Designer构建的场景可导出成MATLAB Function,我们通过修改这个Function以及使用MATLAB提供的函数来批量生成场景。具体的教程请见下面链接及操作视频。https://www.mathworks.com/help/releases/R2019b/driving/ug/create-driving-scenario-variations-programmatically.html 批量生成场景的操作对于2019b,略有遗憾的一点是,传感器是没法通过这种方法自动生成的。不过好在,不同测试场景中传感器的内参外参一般是不变的,可以提前把传感器导出成mat文件,然后在批量生成的场景中加载这个文件,即可构建完整的场景了。虽然不是完全自动化,但也能大幅提高效率。据说在2020a中传感器模型也可以批量自动生成,还待验证。

04

支持将场景和传感器模型导出成Simulink模型

场景构建完毕后,我们可在软件中将场景和传感器模型导出成Simulink模块,使之与融合、规划、控制等算法形成闭环。实际上导出的就是下图的三个模块。 4aee921524801ddff010441556d19a9b.png 场景和传感器模型的Simulink模块Scenario Reader用于加载Driving Scenario Designer的场景数据。Vision Detection Generator和Radar Detection Generator是配合Driving Scenario Designer使用的视觉传感器模型和雷达传感器模型,实际上Vision Detection Generator和Radar Detection Generator对应的就是Driving Scenario Designer中的Camera和Radar,这两个模块输出的就是检测到的目标列表。场景和传感器导出成Simulink模块不算是一个稀奇的功能,很多场景软件都提供了与Simulink交互的接口。但有两点值得一提:1、这三个模块是可以 完全脱离Driving Scenario Designer运行的,因为场景和传感器模型都已经导出成了mat文件,这三个模块只要加载mat文件就获得了相关的信息,此时不再需要Driving Scenario Designer。2、这三个模块都支持C代码生成,不仅支持在PC上离线仿真,而且 支持编译后下载到实时硬件中实时运行。也就意味着,当我们进行HIL硬件在环仿真测试时,不仅车辆模型可以在实时平台中实时运行,而且场景和传感器模型也可以在实时平台中实时运行。像Unreal Engine等需要强大GPU来渲染的场景软件,很难将场景和传感器模型在实时平台中运行,往往需要专门的高性能电脑来跑场景,然后通过网络通讯等形式实现与实时平台中车辆模型的交互。 这也是Driving Scenario Designer这种轻量化场景 的优势。

05

支持导入OpenDrive路网文件,支持基于记录的实车数据构建场景

0a3a55e0abf12d9c7f8faf291a654b92.png 基于实车数据构建场景 具体的demo请见以下链接 。 https://www.mathworks.com/help/releases/R2019a/driving/examples/scenario-generation-from-recorded-vehicle-data.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值