Carsim和Matlab/Simulink联合仿真保姆级教程(超级详细!!!)

以下均为本人学习过程中的个人理解,如有错误还请指出!!!

后面会发布Carsim和simulink联合仿真实现自定义路径,验证Pure Pursuit算法的教程,敬请期待!!!

***************************

在CarSim中,有两个核心概念:dataset(数据集)和database(数据库)。它们在汽车仿真建模中扮演着至关重要的角色。

以建造一辆“预制车”为例,我们只需要将车轮、车壳、发动机、底盘等基本组件按照一定规则拼接起来。在CarSim中,dataset可以简单理解为这些基本组件。当我们搭建一个完整的汽车仿真模型时,需要车辆模型、道路模型、仿真工况等。这些基本组件在CarSim中都属于dataset,而汽车仿真模型本身也是一个特殊的dataset,它将其他基本的dataset组合在一起,形成一个可运行的汽车仿真模型。

换句话说,dataset是CarSim仿真中的一个小型数据集,用于保存某个基本组件的数据。而database则是一个大型数据集,它包含了许多不同的dataset。在搭建仿真环境时,我们可以根据自己的需求调用不同的dataset来构建所需的汽车仿真场景。

在CarSim仿真中,为了不修改官方提供的dataset,通常会在使用时复制一个新的dataset。在复制过程中,会有两个文本框需要输入。第一个文本框用于指定新dataset所在的目录。不同组件的dataset目录是相互独立的,例如,汽车模型的dataset不能保存在道路模型的dataset目录下。这就好比电脑的C盘专门用于保存视频,D盘专门用于保存文档。如果新建了一个视频文件,可以将其保存在C盘的根目录,也可以在C盘创建一个子目录来存放,但绝对不能保存在D盘的某个目录下。第二个文本框则用于输入新dataset的名称。

***************************

1.点击Carsim软件

2.选择安装软件中自带的Database,点击Continue with the selected database

3.选择select

4.下图即为Carsim车辆仿真的基本视图

5.选择官方提供的快速开始模型

6.为了不改变官方的仿真范例,此处点击Duplicate对该dataset进行一个复制,点击之后,上面文本框中输入的是新的dataset所在的目录,下面的文本框中输入的是新的dataset的名字

7.对procedure的dataset同样进行复制,选择copy and link dataset,意思就是复制一个新的dataset,并链接到这个新的dataset

8.输入相应的目录名和dataset名称

9.点击上一步复制的dataset,对里面相关属性进行设置

10.因为我们要通过simulink向车辆发送油门和刹车信息,要将控制改为油门和初始速度控制,并且将初始速度设为0

11.更改后如下图所示,如果无法更改点击右上角的解锁

12.选择matlab/simulink作为车辆控制模型

13.选择link to new dataset,链接到一个新的dataset

14.这里同样输入目录名称和dataset名称

16.使用Matlab/Simulink新建一个空的simulink文件,保存在CarSim_Data/Extensions/Simulink/的子目录中

 16.进入刚建的dataset,进行配置

17.将15步建立的simulink文件链接到该dataset中,作为仿真控制器

18.选择该接口为Import channels,也就是汽车控制的输入通道(输入油门,刹车,方向盘等数值来控制汽车的运动)

19.选择新建一个dataset并链接

20.选择该接口为Export channels,也就是汽车模型信息的输出通道(可以获取汽车坐标,速度,偏航角等参数信息)

21.建立新的dataset并链接

20.进入Import Channels中的cardemo,添加输入变量

21.选择获取输入信息的数据集,也就是汽车仿真模型的dataset(即前文提到的一个特殊的dataset,它用来将其他基本的dataset组合成一个可运行的汽车仿真模型)

----------------------------------------

如果不知道这个特殊的dataset的具体名称,文章末尾给出了查看方法

----------------------------------------

22.找到油门输入(IMP_THROTTLE_ENGINE)和刹车(IMP_PCON_BK) ,双击添加到模型输入

23.进入Export Channels的dataset,设置输出变量,另外可以设置动画频率为60

24.同21步一样,链接到汽车仿真模型dataset

25.选择通过单位查找变量

26.速度的单位是km/h,选择单位,并找到纵向速度(vx)和横向速度,双击添加到模型输出

27.汽车大地坐标系下的坐标的单位是m,选择单位,并找到横向坐标(xo)和纵向坐标(yo),双击添加到模型输出中

28.回到主界面,点击send to simulink,进入simulink仿真文件(不能直接从matlab进入,否则会找不到对应的求解器模型)

29.点击Library Browser进入库,查找相应模型

30.在搜索框中搜索CarSim S-Function,然后选择红框中的模型,按住将其拖拽到simulink面板中

31.在Library Browser中搜索Mux,分别将两个红色框中的模型拖入simulink面板中(将车辆模型的输入和输出进行分流,合流)

32.依据上文中在carsim中设置的输入,输出变量数量来设置mux(Demux)的接口数量,双击对应的Mux(Demux)来设置数量。上文中我们设置了输入变量共有两个,所以左侧的Mux数量正确,不需要改变,输出变量有四个,而默认的Demux只有两个,那么我们双击设置数量为4

如果Demux四个点过于密集,可以将模型拉大更为清晰

33.在Library Browser中搜索matlab function,并将其拖入simulink面板中

34.双击matlab function模块,编写逻辑代码(matlab function模块负责接收参数,完成相应逻辑处理后返回,函数的参数数量就是输入端口数量,返回值数量就是输出端口数量),编写后保存

35.在Library Browser中搜索scope ,分别拖拽scope 和 XY Graph到simulink面板中,用来展示速度波形和车辆轨迹

36.将所有模型连接在一起

37.点击run,进行仿真

37.点击scope 和XY Graph查看车辆速度变化曲线和车辆轨迹

38.如果XY Graph中的轨迹不明显或者很少,是因为超过了XY Graph设定的x,y数值范围,可以双击该模型,然后设置x,y的范围

39.在carsim中查看车辆运行视频和图表

第一个仅有视频,第二个视频加图表(对于图表可以通过自己设置来获得想要的数据图)

40.查看汽车仿真模型的dataset名称,在主界面中点击datasets,然后选择标黑的目录,最后会有一个带对号的dataset名称。

感谢大家给看到这里,本人是通过下面这篇博客学会carsim和matlab/simulink的联合仿真,并自己写了这篇博客来纪念一下,希望各位亲能点个赞!!!另外b站的联合仿真视频正在录制(视频当然更详细啦)UID:1941380957,希望能支持一下

后面会发布Carsim和simulink联合仿真实现自定义路径,验证Pure Pursuit等车辆追踪算法的教程,敬请期待!!!

-------------------------------------

Carsim2019与Simulink (Matlab2018b)联合仿真成功(超详细)_carsim和simulink联合仿真-CSDN博客

-------------------------------------

### 回答1: MatlabSimulink是常用的科学计算工程仿真软件,它们可以联合使用进行仿真Matlab是一种数学计算软件,可以进行数值计算、数据可视化、数据分析等工作。而Simulink则是基于Matlab开发的一种可视化仿真软件,主要用于建立、仿真分析动态系统模型。 MatlabSimulink联合使用可以帮助用户更好地理解分析系统的动态特性,也可以方便地进行控制系统设计、信号处理等工作。用户可以利用Matlab进行数据处理算法设计,然后在Simulink中建立系统模型进行仿真,最终得到仿真结果并进行分析。 总之,MatlabSimulink联合使用可以方便工程师进行系统建模仿真,提高工作效率准确性。 ### 回答2: MATLABSimulink是两个非常适合于数值计算动态仿真的软件工具。它们之间的结合使得用户可以在一个统一的环境中方便高效地进行仿真分析。 MATLAB(Matrix Laboratory)是一款高性能的数值计算软件,它支持矩阵运算、图像处理、信号处理、统计分析等等。除此之外,MATLAB还提供了很多著名的工具箱,比如控制系统工具箱、信号处理工具箱、图像处理工具箱等等。这些工具箱提供了很多强大的函数命令,以及相应的算法应用实例,方便用户进行各种数值计算处理。MATLAB非常适合于解决各类数值计算问题,并且提供了一个友好的编程环境,使得用户可以通过编写脚本函数来简化计算过程。 SimulinkMATLAB的一个工具箱,它提供了一种建模仿真系统的方法。用户可以通过Simulink搭建起一种逼真的系统模型,并且可以在仿真过程中产生模型的动态响应。与传统的编程方法相比,Simulink让用户可以使用图形化界面方便快捷地搭建出系统模型。同时,Simulink中提供了各种建模组件以及与MATLAB等工具箱的接口,方便用户搭建出各种复杂的系统模型。 MATLABSimulink的结合,使得用户可以在MATLAB编写自己的数值计算程序,并将其作为Simulink模型的一部分进行仿真。在Simulink中,用户可以搭建出逼真的系统模型,并设置各种控制器、传感器、执行器等组件,从而产生系统的动态响应。同时,在Simulink中,用户还可以对系统进行参数化、优化、验证等分析,方便用户了解系统的性能以及各种参数对系统的影响。通过MATLABSimulink联合使用,用户可以在一个统一的环境中方便地进行系统的数值计算、建模、仿真分析,从而使得系统的开发测试过程更加高效准确。 ### 回答3: MatlabSimulink是两种广泛使用的工具,用于数字信号处理、控制系统设计仿真等领域。Matlab是一种高性能的数值计算科学编程语言,SimulinkMatlab的一个附加模块,专门用于建立模拟动态系统模型。 随着科学技术的不断发展计算机技术的快速进步,越来越多的工程项目需要对复杂系统进行建模仿真MatlabSimulink联合使用提供了一种高效的方案,使工程师科学家能够更快地设计并测试他们的系统,以便在设计阶段及时发现潜在问题。 在联合仿真中,Matlab提供了用于数据分析算法开发等重要工具,而Simulink则为用户提供了可视化编程界面,用于构建动态系统模型。Simulink环境提供了许多模块,包括各种微分方程、积分器、控制器、传感器等。用户可以通过简单的拖放操作将不同的模块连接起来,以创建复杂系统的模型。 借助MatlabSimulink联合仿真,用户可以使用仿真工具来调整他们设计的参数,以达到最佳性能。他们可以检查模型的稳定性、时域响应频域响应等,以确保模型在实际系统中的正确性。 总之,MatlabSimulink联合仿真为科学家工程师提供了一个高效的工具,使他们能够更快地设计测试动态系统,并找到系统中的问题。这种联合仿真的方法是一种强大灵活的工具,可以在各种科学工程领域中找到广泛的应用。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值