首先,想吐槽一下,一些教程和英文帮助文档一样,逐个介绍界面按钮,人都被转晕了也进入不了主题。终于,看了UP主自动驾驶废材的:
终于成功了,首先感谢老哥。但视频中有一些细节和新手的选项不一样,让人疑惑(害怕),此处重新整理一遍,做一个能正常运行的仿真。
通过控制油门和刹车,保持车速为 60km/h。
1.1 双击桌面图标,选择Carsim仿真存放地址
1.2 直接 Select
1.3 选择官方的快速开始模型,选择完成后最上面如箭头所指
如果页面太大,在 view 一栏设置
1.4 为了不改了官方例程,复制(Duplicate)一个,如下图
注意复制后页面上方会发生变化。
同样,为了避免修改 Procedure,复制一个,名字相同
弹框里写
结果如下
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.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显示一致。
这表明,一切顺利!
希望各位小伙伴顺利完成这次联合仿真~~