自动驾驶CarSim和Simulink联合仿真的完美攻略!

作者:车路慢慢,仿真秀科普作者
本文目录:
1、自动驾驶的仿真平台是什么
2、CarSim在仿真平台中的作用
3、CarSim软件功能介绍
4、CarSim的软件界面介绍
5、CarSim和Simulink的联合仿真
以下正文:
一、自动驾驶的仿真平台是什么
自动驾驶仿真有三个要素:场景库、仿真平台、以及结果评价。关于场景库,我在上一篇文章(戳我可看)描述了个大概,今天想来说说仿真平台。但是仿真平台是一系列软件的集合,一言以蔽之不了,所以还是只能一个一个软件地来说。心中有地图,学习不迷路,我觉得有必要先简单说下仿真平台是个什么东西。仿真平台目前大多还不成熟,各厂家各有各的玩儿法。但大致做法是将诸多仿真软件进行联合,搭建起一个框架,形成一个“临时拼凑”的仿真平台,在仿真平台中,用海量的场景(场景库)对自动驾驶的各个算法进行功能验证(大概逻辑如下所示)。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
当然也有厂家“野心勃勃”要自个儿开发出来自动驾驶仿真平台的(如蔚来的DevOps平台、丰田的e-Palette平台),但其逻辑也逃不出这个大图,只不过是用自主研发的软件取代了外部的商用软件而已。
二、CarSim在仿真平台中的作用
言归正传,在仿真平台中,有很多商用软件是受欢迎的,比如CarSim、PreScan、CarMaker、VTD、Matlab/Simulink等。这些软件各有各的特点,我们本期要说的CarSim就是以擅长汽车动力学分析而脱颖而出的。
百科:汽车动力学,是指主要研究汽车在行驶过程中汽车轮胎、空气阻力对其的影响,并包括汽车自身驱动与制动之间的相互作用的科学。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
在自动驾驶仿真中,如果对汽车的动力学比较看重,是有必要建立出相应的车辆动力学模型的。就比如,对于AEB(自动紧急制动)功能来说,如果系统检测到前方有障碍物,给出指令从而采取制动措施,那么汽车以多大的制动力来刹车才能保证既不撞到障碍物也能平稳停下来呢,就是汽车动力学在自动驾驶仿真算法中的一个简单应用。
三、CarSim软件功能介绍
CarSim是专门针对车辆动力学的仿真软件,CarSim模型在计算机上运行的速度比实时快3-6倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件
CarSim软件的主要功能如下:
a、适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV;
b、可分析车辆的动力性、燃油经济性、操纵稳定性、制动性及平顺性;
c、可以通过软件如MATLAB,Excel等进行绘图和分析;
d、可以图形曲线及三维动画形式观察仿真的结果;包括图形化数据管理界面,车辆模型求解器,绘图工具,三维动画回放工具,功率谱分析模块;程序稳定可靠;
e、CarSim软件可以扩展为CarSimRT,CarSimRT是实时车辆模型,提供与一些硬件实时系统的接口,可联合进行HIL仿真;
f、先进的事件处理技术,实现复杂工况的仿真;
g、友好的图形用户界面,可快速方便实现建模仿真;
h、提供多种车型的建模数据库;
i、可实现用户自定义变量的仿真结果输出;
j、可实现与simulink的相互调用;
k、多种仿真工况的批运行功能;CarSim只是MechanicalSimulationcooperation的一个产品。他们还有TruckSim,BikeSim,SuspensionSim等等各种各样的Sim(这里sim指的就是Simulation的意思)。
四、CarSim的软件界面介绍
主界面可以分为三部分:
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
2、File菜单
菜单1、NewDatabase(Empty)新建一个空白的资料库
菜单2、NewDatabasefromthisDataset在当前数据库的基础上新建资料库
菜单3、NewDataset(DuplicateofCurrentDataset)新建数据库,复制当前界面的
菜单4、NewDataset(Empty)新建一个空白的数据库
菜单5、NewDatasetPlusAllLinkedDatasets新建一个数据库,复制当前数据库所有的链接
菜单6、ToggleLockedStatus锁定当前的数据库界面,和右上角的小锁一个效果
菜单7、ExportConsolidatedParsfile导出合并的Par文件菜单8、ExportExpandedParsfile导出展开的Par文件
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
3、Edit菜单
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
4、Dataset菜单
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
这是CarSim自带数据库,满足不同的测试,通常这些Dataset都是lock住的。因此,用户在修改的时候,建议新建并复制数据库。防止误操作修改后无法运行系统自带的数据库。
5、Library菜单
这个是库文件菜单,包含制动系统模型、传动系模型、转向模型、悬架模型、路面模型等库文件。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
6、View菜单
View菜单可以用来调整CarSim软件的界面大小,可设置是否显示工具栏、侧边栏。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
7、工具栏
工具栏下拉菜单的选项简单解释如下。
1、back:后退
2、Forward:前进
3、Home:返回最开始的主界面
4、Preview:前一个数据库
5、Next:下一个数据库
6、duplicate:复制当前界面
7、undo:撤销操作
8、redo:重新操作
9、librarytool:库工具
10、Parsfile:Par文件
11、Sidebar:打开/关闭侧边栏
12、refresh:刷写界面
13、help:当前界面的帮助
14、lock:锁定/解锁
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
五、CarSim和Simulink的联合仿真
其实我一直很疑惑,我在Simulink中可以仿真,在CarSim中也可以仿真,那我为什么还要学Simulink和CarSim联合仿真?由于是自我转行学习,所学比较片段,很难成体系,所以也是研究了很久,才稍微有了些理解。
先说Simulink:总体来说,在Simulink中搭建模型,虽说是图形化建模,比Matlab快多了,但还是很慢的,因为Simulink中是搭建底层的算法,然后求解方程等,所得的结果也最多是弄个示波器演示下波形给你看,这个仿真的功能,在我看来,有点弱弱的。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
图1、Simulink中搭建的一个速度控制模型
再来说说CarSim:
这个软件感觉就很强大了,因为可以很直观地看到仿真的车辆的运行姿态,也能看波形,这才是真正的仿真嘛,而且车辆模型和道路模型等都能非常快速的创建出来。但这个软件有一个缺点,车辆的参数等都是只能通过选择激活和激活后填取参数等设置,因为看不到背后的运算逻辑,所以很难理性地理解整个控制逻辑。所以,世界不由我控制,也是很难受的。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
图2、CarSim主界面中的模块划分
那么其实很简单了,Simulink和CarSim各有优缺点,而且正好互补,所以两者可以一起运作。CarSim中可以搭建车辆模型、道路模型、驾驶员模型等,然后Simulink中可以将这些模型联合起来进行控制,进行底层的逻辑控制,然后求解得出结果。最后结果又可以在CarSim中非常形象的显示出来,帮助我们直观地看到求解的结果。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
所以,这么一搭配就非常完美了。而且,CarSim中也非常懂事地设置了相应的接口,Simulink中也一般有对应的CarSim模块。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
接口1:直接设置为在Simulink中求解
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
接口2:直接调用搭建的Simulink模型所以经过这么一描述,那么联合仿真的流程就有了,简述如下。
a、在Simulink中搭建整个汽车动力学模型,如下图。
自动驾驶CarSim和Simulink联合仿真的完美攻略!-有驾
相关阅读推荐:
基于Abaqus-Simpack联合仿真车辆-浮置板轨道耦合动力学仿真
纯电动汽车架构设计(一):电动车架构设计核心与前悬架选择
采用Simulink和Python搭建PEMFC燃料电池系统模型
仿真秀为百度有驾粉丝整理的仿真学习包,包括结构、流体、电磁、热仿真、设计等多学科原创视频教程,领取后永久免费收看,点击以下链接即可领取。
0

全部评论 (0)

暂无评论