自动驾驶CarSim和Simulink联合仿真的完美攻略!
- 作者优秀
- 优秀教师/意见领袖/博士学历/特邀专家/独家讲师
- 平台推荐
- 主编推荐/内容稀缺
首发 | 仿真秀App
本文摘要(由AI生成):
本文主要介绍了自动驾驶仿真平台、CarSim在仿真平台中的作用、CarSim软件功能介绍、CarSim的软件界面介绍以及CarSim和Simulink的联合仿真。CarSim是一款用于汽车仿真的软件,它可以帮助用户创建车辆模型和道路模型,并进行仿真。CarSim和Simulink联合仿真可以实现更高效的仿真,提高仿真的准确性和可靠性。
导读:大家好,我叫李慢慢,仿真秀专栏作者,某汽车主机厂汽车仿真工程师,正在筹备转岗。自2020年起,我就在仿真秀App分享ANSA教程和攻略,并学习自动驾驶仿真。前不久,我原创撰稿的浅谈自动驾驶仿真-场景库的那些事,擅自使用了中汽院智能网联科技有限公司讲稿中多张PPT图片,且未能注明出处,在此表示诚挚致歉。中汽院智能网联是中国汽车工程研究院股份有限公司全资子公司,致力于成为国际领先的智能汽车和车路协同测试评价与集成应用解决方案供应商,推荐大家订阅。目前仿真秀平台已经获得中汽院智能网联授权,且承诺转载注明作者和来源,仿真秀平台愿意和中汽院智能网联一起为广大用户带来国际领先的智能汽车和车路协同测试评价与集成的优质内容和技术传播。本文目录:
一、自动驾驶的仿真平台是什么
自动驾驶仿真有三个要素:场景库、仿真平台、以及结果评价。关于场景库,我在上一篇文章(戳我可看)描述了个大概,今天想来说说仿真平台。但是仿真平台是一系列软件的集 合,一言以蔽之不了,所以还是只能一个一个软件地来说。心中有地图,学习不迷路,我觉得有必要先简单说下仿真平台是个什么东西。仿真平台目前大多还不成熟,各厂家各有各的玩儿法。但大致做法是将诸多仿真软件进行联合,搭建起一个框架,形成一个“临时拼凑”的仿真平台,在仿真平台中,用海量的场景(场景库)对自动驾驶的各个算法进行功能验证(大概逻辑如下所示)。当然也有厂家“野心勃勃”要自个儿开发出来自动驾驶仿真平台的(如蔚来的DevOps平台、丰田的e-Palette平台),但其逻辑也逃不出这个大图,只不过是用自主研发的软件取代了外部的商用软件而已。二、CarSim在仿真平台中的作用
言归正传,在仿真平台中,有很多商用软件是受欢迎的,比如CarSim、PreScan、CarMaker、VTD、Matlab/Simulink等。这些软件各有各的特点,我们本期要说的CarSim就是以擅长汽车动力学分析而脱颖而出的。百科:汽车动力学,是指主要研究汽车在行驶过程中汽车轮胎、空气阻力对其的影响,并包括汽车自身驱动与制动之间的相互作用的科学。在自动驾驶仿真中,如果对汽车的动力学比较看重,是有必要建立出相应的车辆动力学模型的。就比如,对于AEB(自动紧急制动)功能来说,如果系统检测到前方有障碍物,给出指令从而采取制动措施,那么汽车以多大的制动力来刹车才能保证既不撞到障碍物也能平稳停下来呢,就是汽车动力学在自动驾驶仿真算法中的一个简单应用。
三、CarSim软件功能介绍
CarSim是专门针对车辆动力学的仿真软件,CarSim模型在计算机上运行的速度比实时快3-6倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件。a、适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV;b、可分析车辆的动力性、燃油经济性、操纵稳定性、制动性及平顺性;c、可以通过软件如MATLAB,Excel等进行绘图和分析;d、可以图形曲线及三维动画形式观察仿真的结果;包括图形化数据管理界面,车辆模型求解器,绘图工具,三维动画回放工具,功率谱分析模块;程序稳定可靠;e、CarSim软件可以扩展为CarSim RT, CarSim RT 是实时车辆模型,提供与一些硬件实时系统的接口,可联合进行HIL仿真;CarSim只是Mechanical Simulation cooperation的一个产品。他们还有Truck Sim,BikeSim ,SuspensionSim等等各种各样的Sim(这里sim指的就是Simulation的意思)。四、CarSim的软件界面介绍
1、主界面
菜单2、New Database from this Dataset菜单3、New Dataset(Duplicate of Current Dataset)菜单5、New Dataset Plus All Linked Datasets菜单7、Export Consolidated Parsfile菜单8、Export Expanded Parsfile![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1623301451214_ylw8s3.jpg?imageView2/0)
这是CarSim自带数据库,满足不同的测试,通常这些Dataset都是lock住的。因此,用户在修改的时候,建议新建并复 制数据库。防止误操作修改后无法运行系统自带的数据库。这个是库文件菜单,包含制动系统模型、传动系模型、转向模型、悬架模型、路面模型等库文件。View菜单可以用来调整CarSim软件的界面大小,可设置是否显示工具栏、侧边栏。五、CarSim和Simulink的联合仿真
其实我一直很疑惑,我在Simulink中可以仿真,在CarSim中也可以仿真,那我为什么还要学Simulink和CarSim联合仿真?由于是自我转行学习,所学比较片段,很难成体系,所以也是研究了很久,才稍微有了些理解。
总体来说,在Simulink中搭建模型,虽说是图形化建模,比Matlab快多了,但还是很慢的,因为Simulink中是搭建底层的算法,然后求解方程等,所得的结果也最多是弄个示波器演示下波形给你看,这个仿真的功能,在我看来,有点弱弱的。这个软件感觉就很强大了,因为可以很直观地看到仿真的车辆的运行姿态,也能看波形,这才是真正的仿真嘛,而且车辆模型和道路模型等都能非常快速的创建出来。但这个软件有一个缺点,车辆的参数等都是只能通过选择激活和激活后填取参数等设置,因为看不到背后的运算逻辑,所以很难理性地理解整个控制逻辑。所以,世界不由我控制,也是很难受的。那么其实很简单了,Simulink和CarSim各有优缺点,而且正好互补,所以两者可以一起运作。CarSim中可以搭建车辆模型、道路模型、驾驶员模型等,然后Simulink中可以将这些模型联合起来进行控制,进行底层的逻辑控制,然后求解得出结果。最后结果又可以在CarSim中非常形象的显示出来,帮助我们直观地看到求解的结果。所以,这么一搭配就非常完美了。而且,CarSim中也非常懂事地设置了相应的接口,Simulink中也一般有对应的CarSim模块。
所以经过这么一描述,那么联合仿真的流程就有了,简述如下。a、在Simulink中搭建整个汽车动力学模型,如下图。在这个模型中,我们最重要的是搭建控制逻辑算法,而对于基础的车辆模型、道路模型、驾驶员模型等内容,都可以调用Simulink中自带的CarSim S-Function模块(定义好输入输出就行),具体的模型我们需要到CarSim中去搭建(这样更快)。b、在CarSim中,设置好车辆模型、道路模型、驾驶员模型等内容,然后设置求解方式为Simulink求解,并填入第一步搭建的Simulink模型,设置一些求解参数,然后点击Send to Simulink就可以把当前的车辆模型、道路模型、驾驶员模型等内容打包再发送回Simulink中的CarSim S-Function模块中去,这样,在CarSim中搭建的车辆模型、道路模型、驾驶员模型等内容就被很快速的引用到Sinmulink模型中去了。c、再然后,在Simulink中运行求解就行了(看需要的话,也会有需要定义一些初始参数)。
d、求解完以后,就可以到CarSim中去查看结果了。点击Video就可以看到仿真控制的结果。本文完。
声明:本文首发仿真秀App,部分图片和内容源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。
喜欢作者,请点赞和在看![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1623301442098_s29gki.jpg?imageView2/0)
获赞 9708粉丝 21100文章 3394课程 215