simulink显示多个数据_Matlab/Simulink与自动驾驶(ADAS)算法开发

Simulink是如何存在自动驾驶的开发过程中?废话少讲,让咱们开始娓娓道来!

  • 自动驾驶的开发架构是什么?

自动驾驶软件开发基础的架构,逃不出我们经常所说的三大法宝,感知--- 决策(规划)--- 执行(控制),这三个内容,软件开发基础思路都不一样,且听小编娓娓道来!

e463853b29b0fd89f494003a65da6c51.png

感知:

雷达的感知大多都是一些傅里叶变换一类的算法来处理多普勒效应的脉冲波信号,目前主流的都是用C来做代码。雷达的种类很多,这个算法仅仅限于毫米波雷达,激光雷达小编了解不多。

摄像头对应的大多都是进行图像处理,虽然说目前Simulink包含对应的图像处理算法模型,但是这些算法模型仅仅对于大家写论文有用,容易出结果,容易仿真!但是实际的算法中大多都是用OpenCV与C++进行融合使用。

像惯性导航,GPS里面的算法,都是另外一个范畴,Simulink参与的不多,轮速,车身姿态大多来源于ESC,EPS,这些相对应的模块!

综上所述,Simulink在感知这个层面,用的不多。

决策:

在L3以上的级别,因地图的参与,我们称之为规划,L3级别以下的大多称之为决策,即多个目标的来源的融合,进行决策。

融合算法目前大多在雷达与摄像头里面,但是目前有逐渐独立的趋势,向域控制器靠拢,相当多的算法都柔和在里面。软件开发虽然说有用Simulink开发的,但是很多还是用C,C++进行开发,尤其是对多维度的目标追踪与融合!

执行(控制):

执行分为,横向控制域,纵向控制。横向控制主要是与EPS进行角度,以及扭矩的交互。纵向控制主要与动力总成,底盘进行交互,交互的核心就是加速度的需求与制动的需求。

这些控制逻辑,用通俗的来说,都是简单的门控制逻辑,大都是或,与,非,一类的逻辑,这些就是Simulink的长项,所以执行相关的逻辑,都是应用Simulink进行开发,然后进行代码自动生成,最后进行柔和!

综上所述,Simulink对自动驾驶的支持,其实目前并不是很广泛,大多集中在功能的控制方面,其它相关的图像,雷达算法的应用,其它大多都还在写论文阶段,总结如下所示!

ebb4fafa358e781340383d143973d0ef.png
  • Simulink如何搞自动驾驶算法开发?

目前搞自动驾驶算法开发的,Simulink中有很多对应的库文件以及示例可以参考,如下图所示的库文件,可以拿来直接应用。

faa1263b985b33db423ae3f47332d418.png

以及对应的示例文件,直接点击Help,自己学习一下,应该也问题不大。

然后讲对应的算法生成,进行集成即可!至于所说的Simulink可以做融合,感知算法,小编无法否认,但是实践是检验真理的唯一标准,现在实际工程用的还是很少的!

但是,当你在开发某个功能的时候,前期的验证如何搞?如何搞个模拟的感知算法,如何搞个仿真的融合算法,如何验证前期你的功能算法,这个就需要我们的大杀器出场了!

  • Simulink的大杀器--ADAS系统仿真与数据处理

这两个东西,才是ADAS系统开发的主角,因为真正的功能开发,肯定没有发动机,变速箱复杂,但是ADAS系统的数据量,以及仿真需求,远远大于其它系统,因为这个东西不仿真,直接测试,太花钱!

ADAS的系统是一个非常复杂的东西,在开发早期,特定阶段或者某个场景的验证,如果用实际车辆的话,那就太花钱,而且不实际!所以我们在早期进行场景验证时候,后期问题复现,就需要我们的大杀器Simulink!尤其对于L3,L4级别的功能,必须要我们这个大杀器才能完成几百万公里的验证。

ADAS系统仿真与验证

在Simulink的环境中建立仿真环境进行算法验证与开发,目前Simulink集成了Driving Scenario Designer的库,这个库可以完成场景的规划与定义,如下所示:

  • 环境建模---道路,车道线。
  • 车辆建模---道路车辆,行驶轨迹,自身车辆的尺寸,雷达相关截面积。
  • 标准支持---目前网上有很多Open Drive 格式的路网文件,可以直接导入,进行计算。

场景的建模完成后,Matab可以将其转化为Mat文件(类似于自动代码生成的S-Function格式),然后导入Simulink的环境中,添加对应的传感器模型,进行开环,闭环的仿真!如下图的开环仿真,以验证对应的融合算法!

95982212ab09abf57286c0590083c7eb.png

闭环的仿真是增加了车辆动力学,以及对应的路径设计。将其变成闭环,以验证对应的功能算法,比如ACC,AEB,TJA一类的功能。这两个就是我们所说的SIL, 软件在环仿真的学术定义!

b04553b365331a748ba2589f8dde4198.png

当这些场景与算法设计完成后,就需要对其进行测试,测试的工具和方法,与之前讲的自动代码生成的测试方法一样,都可以用Simulink的Test Manager进行动态的Test Case 与静态的代码覆盖率的测试,

以上讲的都是正规的算法验证过程,适用于基础功能开发,但目前大多用的都是应用型项目,应用型项目的主要的测试工作都是进行道路数据采集,然后进行验证,这样更加真实可靠,同时也省下很多仿真模型建立的工作。省钱高效!哈哈哈。

中国OEM的传统做法。具体的操作方法与以上类似!导入场景数据,可以验证具体的传感器算法,导入目标列表数据,可以验证具体的功能算法,如下图所示!

4aeaafcc752d7e28395780bb8625f9df.png

设计,仿真,测试,这个闭环形成ADSA算法的开发与验证,显示Simulink软件的过人之处:

ADAS的数据处理

在实际的测试与验证的过程中,会收取大量的数据,摄像头的图像数据,雷达数据,车道检测数据,激光雷达数据,惯性测量单元数据等,这些结果如何处理?如何标注真值呢?

Simulink中的ADST工具箱里面含有对应的函数,然后可以讲对应的图像数据,分析后的目标列表,统一显示分析在一个图表中,进行我们所谓的真值标定, 然后进行可视化,这个要比我们肉眼看,要NB多了,请参考下图!

d94ad31894bebb44784dd702d00c266c.png

在做可视化的时候,Simulink可以将车辆坐标系与图像坐标系的进行同屏转化,这样可以绘制不同的点云数据,便于传感器信号的分析,验证。

  • 小结
0d1823547ecb893ead3a5618e1f64cde.png

鄙人才疏学浅,这些总结仅仅为朋友们,进行抛砖引玉,大家共同学习!ADSA系统的算法研究,犹如星辰大海,只要你抓住其中一个闪亮的星,就可以使你在智能化的大潮中屹立桥头,成为大潮中的弄潮儿,同时也希望与我们所有的同行,共同学习,共同进步,一起去征服那个灿烂的星辰大海!

学无止境,深入浅出,精心研究,方成大器!与有志者共勉!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字孪生智慧城市建设加速5G+产业AI的应用,全流程数据透明化及实时可控成为升级的大方向,构建智慧城市生态圈在路上!...

本视频为深圳市副市长和IDG领导在高交会智慧城市论坛上的讲话。来源:北京物联网智能技术应用协会 本期正文Digital Twin数字孪生:是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0…

Linux部署Apache ActiveMQ 5.14.1

Linux部署Apache ActiveMQ 5.14.1 简单记一下,下载地址 http://activemq.apache.org/download.html 一、安装JDK7以上,官方说明:http://activemq.apache.org/version-5-getting-started.html 二、创建目录: cd /usrmkdir activemq…

python做excel表格柱状图_Python Excel 绘制柱形图

原博文 2019-11-19 22:07 − 本文主要讲述如何使用Python操作Excel绘制柱形图。 相关代码请参考 https://github.com/RustFisher/python-playground 本文链接:https://www.rustfisher.com/2019/11/19/Python/Python-op-ex... 相关推荐 2019-12-08 20:02 − 利用Pyth…

管理口地址 ibm_WAN口有IP地址上不了网如何解决 WAN口有IP地址上不了网解决方法【详解】...

设置好路由器WAN口PPPoE拨号后,WAN口状态已经显示获得到IP地址,如下图:WAN口有IP地址上不了网怎么办但是终端设备连接路由器无法上网,请参考以下步骤排查。电脑需要设置为自动获得IP地址,如果您不清楚如何设置&#xf…

IBM 消费者洞察报告,揭示 5G 娱乐时代的三大关键趋势

来源:IBM中国 5G 时代来临,三大变革力量的出现,注定让“传统媒体”彻底无眠。消费者对 5G 技术兴趣盎然 5G 为消费者带来的最重要好处是能够提升移动视频流的质量,最终转向超高清 (UHD) 格式。 沉浸式媒体吸引了消费者的浓厚兴趣 …

什么时候需要coinitialize_机器学习模型什么时候需要做数据标准化?

机器学习Author:louwillMachine Learning Lab一直都有朋友在做机器学习模型时有疑问:我的数据要不要做标准化处理?这个问题笔者也思考过,只不过不够系统,观点也比较单一,所以才有了上图中的【变量单位之间数…

Android fragmnet标签,在Android中为Fragment添加标签?

我试图在Fragment中添加一个TabHost。代码如下。这里里面的Fragment。我试图添加TabHost显示两个标签:package com.nordicsoft.dilosysNewVersion;import android.app.Fragment;import android.content.Intent;import android.os.Bundle;import android.view.Layout…

编程题走迷宫_C++程序算法题----迷宫(一)

题目:一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道。看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路。输入格式第一行输入两个整数 n和 m,表示…

python中paramiko模块的使用

paramiko是python一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接1、可以远程操作服务器文件 例如: df:查看磁盘使用情况 mkdir:创建目录 mv/cp/mkdir/rmdir:对文件或目录进行操作 /sb…

机器人与人工智能: 应对全球挑战的终极途径

来源:中国指挥与控制学会欧洲机器人协会主席伯纳德利珀特(Bernd Liepert)近日在2019 世界机器人大会上透露,未来产业界将在欧洲机器协会的项目中发挥领导作用,欧盟正在推动一个2021 年至2027 年的新项目,总…

6位顺序号生成_分布式id生成策略,我和面试官扯了一个半小时

一、分布式系统带来ID生成挑战在分布式系统中,往往需要对大量的数据如订单、账户进行标识,以一个有意义的有序的序列号来作为全局唯一的ID。而分布式系统中我们对ID生成器要求又有哪些呢?全局唯一性:不能出现重复的ID号,既然是唯…

android壁纸居中,Android Launcher 如何实现壁纸居中

前言 欢迎大家我分享和推荐好用的代码段~~声明 欢迎转载,但请保留文章原始出处:CSDN:http://www.csdn.net雨季o莫忧离:http://blog.csdn.net/luckkof正文KK Launcher3的wallpaper显示是动态的,与Launc…

django外调用url_Django url

三 分组命名匹配上面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图。在更高级的用法中,可以使用分组命名匹配的正则表达式组来捕获URL中的值并以关键字参数形式传递给视图。在Python的正则表达式中,分组命名…

css在盒子中垂直居中和固定居中

顶部固定居中 <div class"w960 fixed">我是固定的</div>.w960{ width: 960px; margin:0 auto; } .fixed{ position: absolute; top:0; left: 0; right: 0; height: 90px; background: #ececec; } 垂直居中 <div id"box"><div class&q…

数据库的前世今生

译者 | 谭开朗编辑 | 屠敏来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;【CSDN 编者按】被称之为基础软件三驾马车之一的数据库&#xff0c;在经历了层次型和网状型、关系型数据型库以及更加强大的数据管理功能等三个时期之后&#xff0c;其在未来的发展历程中还…

python常用算法有哪些_python常见的排序算法有哪些?

大家都知道&#xff0c;关于python的算法有很多&#xff0c;其中最为复杂的就是python的排序算法&#xff0c;因为它并不是单一的&#xff0c;而是复杂的&#xff0c;关于排序算法就有好几种不同的方式&#xff0c;大家可以根据以下内容&#xff0c;结合自己的项目需求&#xf…

android app links,Android APP Links 配置

一. 简介在Instant App开发中&#xff0c;需要app支持Instant App Links. 本文中&#xff0c;主要介绍其作用&#xff0c;配置必需条件&#xff0c;配置的过程。二. 作用App Links 本质上是 Deep Link 的一种延伸&#xff0c;我们知道&#xff0c;Deep Link配置在Manifest之后&…

adnroid 打包问题 :compileReleaseJavaWithJavac

今天打包的时候&#xff0c;由于着急。改了些本地的变化就assembleRelease. 然后就报错&#xff1a; compileReleaseJavaWithJavac 后来网上乱找&#xff0c;。。。。 之后我想到先跑一下&#xff0c;果然是因为少一个字符串。 所以&#xff0c;以后打包的时候&#xff0c;…

联想e480一键恢复小孔_联想电脑如何一键恢复系统

联想电脑的一键还原系统在需要使用的时候直接按下一键还原按键即可&#xff0c;那么大家知道吗?今天小编与大家分享下联想电脑系统恢复的具体操作步骤&#xff0c;有兴趣的朋友不妨了解下。联想电脑系统恢复方法重要提醒&#xff1a;在您做一键恢复到出厂设置前&#xff0c;请…

【边缘计算】对边缘计算的理解与思考

来源&#xff1a;边缘计算社区在2019年第三届边缘计算技术研讨会上华为高级产业发展经理、ECC需求与总体组副主席黄还青发表了《ECC及华为在边缘计算领域的思考与实践》主题演讲&#xff0c;本文为黄还青演讲中对边缘计算理解及思考。首先我们认为边缘计算的兴起应该是在过去三…