概述
Prescan和carsim都天然能和simulink联合仿真,于是就在simulink中联合起来。
由于比较熟悉prescan的simulink仿真,因此联合过程看作:
在carsim中生成比较精密的车辆动力学模型,并且在prescan中替换掉。
准备工作,下载carsim,prescan,matlab,并且在matlab中添加carsim库
添加方法是
添加阴影部分标出的路径,在下载下来的carsim软件部分可以找到。
添加成功的标志是在simulink模型中可以在库浏览中找到carsim。
所以首先要创建车辆模型:
1、这里选择新建一个carsim模型。
2、continue后弹出窗口选择依赖文件,这个文件是创建此carsim工程的初始化文件,后缀名为.cpar,在prescan的例程中有示例(也可以自己重新建立,但不会初始就有mdl文件,网上有相关详细教程)
"D:__easyHelper__PrescanPreScanExperimentsDemoTemplatesDemo_PreScanCarSim3DDemo_PreScanCarSim3D.cpar",常选择这个文件。
双击后之后会再选择文件夹,这个文件夹是保存此carsim工程的文件夹,看自己喜好
我选择的是D:work_filesprescan_carsim_simulinkdemo2demo2_carsim
3、选择后打开界面,如果无法编辑,点击右上角lock解锁,可以编辑后点击中间的这个模型进入设置。
4、同样先点lock。先勾选上1,
出现2的选择,这是simfile.sim文件保存的位置,这个文件必须要在运行的整个工程的目录下,即下面运行prescan工程的那个路径下,可以先不填,等下面建好prescan工程再填。
路径3是选择这个车辆模型生成后保存的路径,一般默认在.demo2_carsimExtensionsSimulink下
(这里可以稍微关注一下math model:1000HZ,在后面仿真中可能会导致出错。)
5、由于simfile.sim文件还没填,这里就先创建prescan工程。为了方便,我创建的路径为:D:work_filesprescan_carsim_simulinkdemo2demo2_prescan,工程的名称为
demo2_prescan。建立一个最简单的场景,(注意,据说只有Audi_A8的车型可以进行联合仿真,因此actor必须为这种车型)
6、此时可以回到之前的carsim工程,填写simfile.sim的生成路径了,直接生成在这个prescan工程下。接着在carsim中回到home界面,点击“Send to Simulink”就会开始生成模型。生成结束后自动打开了模型,不要关闭,最小化即可,关闭会导致无法联合仿真。
同时应该可以看到prescan工程文件中多了一个simfile.sim,如下
7、返回prescan中设置Audi_A8的动力学模型,选择如下
这里的文件选择carsim生成的车辆模型
按上述情况,在路径.demo2_carsimExtensionsSimulink下
同时打开驾驶员模型,编译,构建,(可能会报错,根据提示修改即可)
8、通过这个按键打开simulink。然后正常打开slx文件,regenerate,再打开动力学模型(网上有些教程到这里就能正常运行了,但我每次打开都是如下情况)
这里我的解决方法是将这个模块替换成下面的模块
连接如下图:
点击运行。
报出上述错误,显然是vs_sf的输入数量不符,可以打开vs_sf前面的TyreContact To Road Information模块细看,然后回到carsim中设置输入参数
细看后可知参数如下设置,12个端口正好对应。
设置完之后再次send to Simulink
再次运行simulink
可以看到,已解决端口问题,出现采样频率不一致的问题。
经检查,是以下两处的频率不一致
前者采样时间必须是后者采样时间的整数倍才可正常仿真。我这里修改后者为1/1000。
然后就可以正常联合仿真了。
后续只需要在carsim和prescan中各自修改并更新到simulink中即可。
(好homi们,有用的话能点个赞不,只有自己的赞真的很尴尬(狗头))
最后
以上就是野性板凳为你收集整理的prescan和carsim联合仿真中出现的一些问题以及解决方法的全部内容,希望文章能够帮你解决prescan和carsim联合仿真中出现的一些问题以及解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复