Carsim2019与Simulink (Matlab2018b)联合仿真成功(超详细)

本文档详细介绍了如何从零开始搭建Carsim与Simulink的联合仿真模型,以实现通过控制油门和刹车保持车速在60km/h的目标。步骤包括创建Carsim工程、修改设置、链接Simulink模型、设置输入输出参数,并在Simulink中搭建控制逻辑。最后,展示了成功的仿真波形和运行结果,验证了模型的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,想吐槽一下,一些教程和英文帮助文档一样,逐个介绍界面按钮,人都被转晕了也进入不了主题。终于,看了UP主自动驾驶废材的:

从零开始搭建carsim与simulink联合仿真模型

终于成功了,首先感谢老哥。但视频中有一些细节和新手的选项不一样,让人疑惑(害怕),此处重新整理一遍,做一个能正常运行的仿真。


目标

通过控制油门和刹车,保持车速为 60km/h。

  1. 车速不超过60km/h时,油门为0.8,刹车为0;
  2. 车速超过60km/h时,油门为0,刹车为0.6。

步骤1:创建Carsim工程

1.1 双击桌面图标,选择Carsim仿真存放地址

在这里插入图片描述

1.2 直接 Select

1.3 选择官方的快速开始模型,选择完成后最上面如箭头所指

在这里插入图片描述

如果页面太大,在 view 一栏设置

在这里插入图片描述

1.4 为了不改了官方例程,复制(Duplicate)一个,如下图

在这里插入图片描述

注意复制后页面上方会发生变化。

在这里插入图片描述

同样,为了避免修改 Procedure,复制一个,名字相同

在这里插入图片描述
弹框里写
在这里插入图片描述

结果如下

在这里插入图片描述


步骤2:修改Carsim工程

2.1 进入设置,点击Procedure蓝色框,进入设置页面

在这里插入图片描述

2.2 取消速度为常数(否则外部怎么给车发速度呢?)

在这里插入图片描述

2.3 联系Simlunk模型

选择Simulink模型
在这里插入图片描述

下拉框里的dataset自己新建一个

在这里插入图片描述
名字依旧取
在这里插入图片描述
最终效果如下

在这里插入图片描述
2.4 链接simulink文件

点击进入新的界面

在这里插入图片描述

链接到simulink文件(.slx文件),没有的话新建一个即可,此处取名 demo1.slx,文件位置随意

在这里插入图片描述

2.5 添加输入

先顺便添加动画刷新频率

在这里插入图片描述
链接到新的dataset

在这里插入图片描述
依旧取名 Demo-demo1

在这里插入图片描述

2.6 添加输出

和添加输入类似,如下
在这里插入图片描述
依旧选择链接到新的dataset,命名依旧 Demo, demo1,如下

在这里插入图片描述
2.7 选择输入参数(油门和刹车)

点击进入设置参数

在这里插入图片描述

选择刚才新建的 Demo-demo1

在这里插入图片描述

找到油门输入(IMP_THROTTLE_ENGINE) ,双击则添加到模型输入

在这里插入图片描述

同理,找到刹车(IMP_PCON_BK),添加至模型输入

在这里插入图片描述

2.8 选择输出参数(速度)

点击 Home 回到主页面

在这里插入图片描述

点击运动控制的模型进入设置页面

在这里插入图片描述

选择设置输出

在这里插入图片描述

和输入一样,选择 Demo-demo1

在这里插入图片描述

左边选择 “根据单位选择”

在这里插入图片描述

速度的单位是 km/h,选择单位,并找到纵向速度(Vx),双击选择作为模型输出

在这里插入图片描述
所有设置完成,点击 Home 回到主页面。


步骤3:Carsim/Simulink联合仿真

3.1 打开Simulink

点击 “Send to Simulink”,会打开 Matlab/Simulink,且打开文件就是之前选择链接的 demo1.slx。

在这里插入图片描述

耐心等一下,如下

在这里插入图片描述

3.2 Simulink 模型搭建

点击模型库浏览器(Library Browser)

在这里插入图片描述
输入 carsim 查找如下

在这里插入图片描述

此时会出现CarSim 的几个模型,选择 CarSim S-Function 拖入demo.slx。这个模块就是 CarSim 里的车辆模型,此时输入为油门和刹车,输出为速度。

注意,这几个 CarSim 不是Simulink自带的模块,是CarSim 生成的,要从CarSim软件里打开才会出现。

双击 CarSim S-Function 模块,如果没有 simfile.sim,添加一下。这里应该是为了链接到CarSim 而写的,不加会报错!

在这里插入图片描述

添加函数模块。直接在页面搜索,英文输入 “matlab function”,自然会有模块提示,

在这里插入图片描述

选择第一个 Matlab Function

在这里插入图片描述

双击 fcn 模块,进入函数编写,控制逻辑如下。

在这里插入图片描述

写完,保存,关闭。

回到 Simulink,添加 Mux 模块,连接输入。然后,连接输出。最后再添加一个 scope 查看。最终框图如下

在这里插入图片描述

3.3 Simulink模型运行

点击 运行 按钮,然后查看波形

在这里插入图片描述

波形如下,可见车辆达到了60km/h的指定速度。

在这里插入图片描述

3.4 CarSim 运行查看

点击 Home 回到主页面,点击 Video + Plot 查看视频与绘图

在这里插入图片描述

可见车辆正在运行,双击纵向速度窗口放大,可见和matlab 的scope显示一致。

在这里插入图片描述
在这里插入图片描述
这表明,一切顺利!

希望各位小伙伴顺利完成这次联合仿真~~

### Carsim Simulink 联合仿真的版本兼容性操作指南 #### 版本兼容性 为了确保CarsimSimulink之间的顺利协作,选择合适的版本至关重要。通常情况下,较新的版本会提供更好的支持服务,但也需要注意两者间的匹配情况。 - **Carsim 2019.0** 可以 MATLAB R2018b 至 R2020a 的多个版本配合使用[^5]。 - 更新版本的 Carsim(如2020及以上)一般也保持向后的兼容性,但仍建议查阅官方文档确认具体的支持范围。 对于最佳实践而言,在启动任何项目之前,应当访问官方网站或联系技术支持团队获取最新的兼容列表,因为开发环境技术栈可能会随时间而变化。 #### 操作指南概述 以下是关于如何设置并执行 Carsim-Simulink 联合仿真的简要说明: ##### 准备工作 安装所需软件包,并确保已正确配置好所有依赖项。这包括但不限于: - 安装指定版本的 Carsim 应用程序; - 获取适当许可密钥激活产品; - 下载对应版本的MATLAB/Simulink 并完成相应设定; ##### 创建联合仿真模型 利用提供的接口函数建立连接桥梁,使两套系统之间能够交换数据流。此过程涉及定义输入输出端口、信号传递机制等内容[^3]。 ```matlab % 设置S-function参数以便于CarSim通信 set_param('myModel/CarSim S-Function', 'SfunctionName', 'csf_mdl'); ``` ##### 运行测试案例 加载预构建好的示例场景来检验整个流程是否顺畅运作。这些例子往往涵盖了多种典型的应用场合,有助于快速入门理解其工作机制[^4]。 ##### 验证结果准确性 对比实验所得数值同理论预期值的一致程度,以此评估所搭建平台的有效性及可靠性。如果发现偏差,则需仔细排查可能存在的问题所在之处[^1]。
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大强强小强强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值