【CarMaker学习笔记】与Simulink联合仿真

实验介绍

  • CarMaker自带与Simulink联合仿真的功能
  • 与Simulink的仿真不再是之前单一的文件能够解决的了,而是需要创建一个工程,来存放相关的各种文件
  • 实验环境:windows10、CarMaker 10.2、Matlab R2021a
  • 我在一篇文章中看到了一个很不错的Simulink中CarMaker作用描述:(英文原文在QuickStartGuide.pdf的7.3 Description of the CarMaker Environment in Simulink章节中,翻译来源:http://www.360doc.com/content/21/0126/08/72814757_958968324.shtml
    • CarMaker for Simulink是将IPG的车辆动力学仿真软件完全集成到MathWorks建模和仿真环境Matlab/Simulink中。因此,在CarMaker for Simulink中,用户能够扩展车辆模型本身。
    • CarMaker的高度优化和强大的功能是通过使用S函数实现和Matlab/Simulink提供的API函数添加到Simulink环境中的。
    • CarMaker for Simulink并不是一个松散耦合的协同仿真,而是两个一流应用的紧密结合,从而形成了一个既能保证良好性能又能保证稳定性的仿真环境。
    • 由于这种集成,现在可以在直观的全功能Simulink环境中使用CarMaker的强大功能。此外,在Simulink中使用CarMaker与使用标准的S功能块或内置的Simulink块没有什么不同。CarMaker块的连接方式与其他Simulink块的连接方式相同,现有的Simulink模型现在可以轻松地添加到CarMaker车辆模型中,只需点击几下即可。
    • 然而,集成并不意味着功能的损失,因为所有使CarMaker成为其领域内首要软件的功能都已包含在内,现在可以与Simulink的丰富工具集一起使用。CarMaker GUI仍可用于仿真控制和参数调整,以及定义机动和道路配置。IPGControl仍可用于数据分析和图表绘制。IPGMovie仍然可以用来使车辆模型栩栩如生,在三维空间中对多体车辆模型进行逼真的动画和渲染。
    • 简而言之,CarMaker for Simulink并不是一个脱胎换骨的版本,而是一个完整的系统,可以快速、轻松地成为任何Simulink仿真的一部分。接下来的步骤将显示它是多么容易。

实验过程

新建工程

  • 进入CarMaker界面,新建一个Project
    在这里插入图片描述
  • 勾选CarMaker for Simulink Extras
    在这里插入图片描述

    如果不想新建,想用现在的,那就点击Create Project下面的Update Project,和Create Project一样勾选。

用Matlab打开工程

  • 进入目录,打开cmenv.m
    在这里插入图片描述

  • 运行cmenv.m,保证了CarMaker和Matlab之间的连接
    在这里插入图片描述

  • 到命令行窗口查看运行情况

  • 回到当前文件夹,双击generic.mdl
    在这里插入图片描述

    generic.mdl示例旨在作为一个启动示例模型,并提供了一个基本的CarMaker子系统(类似于单机版),没有任何额外的控制块。

  • 弹出Simulink界面

    • 左边的齿轮表示:专用于仅用于高级应用的附加选项
    • 中间的汽车表示:CarMaker模型的Simulink表示,双击可查看CarMaker的总体结构
    • 右侧的CM是一个链接,双击弹出CarMaker的主界面
      在这里插入图片描述
  • 双击图片里的大CM,弹出CarMaker的主界面
    在这里插入图片描述

  • 如果我们没有关闭之前的CarMaker主界面,那么它会提示应用已经打开了一个,是否要再开一个,我们点击Continue即可
    在这里插入图片描述
    在这里插入图片描述

搭建一个简单的道路

  • 最简单的一条直线道路,路线也规划一条
    在这里插入图片描述
  • 设置一个简单的行驶策略
    在这里插入图片描述
  • 选一个普通的小车
    在这里插入图片描述
  • 保存
    在这里插入图片描述
    在这里插入图片描述

模拟运行

  • 回到Simulink界面,点击Run
    在这里插入图片描述

  • 我们在IPGMoive界面,看到小车在运行(IPGMoive界面默认需点击CarMaker主界面的File->IPGMoive调出)
    在这里插入图片描述

查看实时数据

  • 双击CarMaker这个小车,进入底层构造
    在这里插入图片描述
  • 双击DrivMan这个模块,查看驾驶原理构造
    在这里插入图片描述
  • 我们选择记录一些信号
    在这里插入图片描述
  • 点击Data Inspector查看信号
    在这里插入图片描述
  • 勾选信号
    在这里插入图片描述
  • 点击Run,查看信号变化
    在这里插入图片描述
    在这里插入图片描述

结束

  • 本次实验可以在CSDN的资源中下载:https://download.csdn.net/download/qq_37400312/43134181
  • CarMaker和Simulink的联合仿真还可以,部分数据在模块里可以直接观测到,也可以修改车辆接受的数据,但模块里没有可观的描述,不太好改,因此修改还是比较复杂的。
  • CarMaker里的CM_SFun竟然是加密的, 看不到源代码,虽然我找到了CM_SFun位置在C:\IPG\carmaker\win64-10.2\CM4SL\R2021a文件夹下,名为CM_Sfun.mexw64,但看不到源代码,也就无从分析他的动力学原理了。
    在这里插入图片描述
  • CarMaker自带一些Simulink的样例,在BasicFunctions下,但不要直接运行,先确保工程下已经配置好了Simulink文件(实验第一步的那个CarMaker for Simulink Extras选项)。
    在这里插入图片描述
  • 我们可以在Matlab的命令行窗口内输入CarMaker4SL调用CarMaker的接口块集。它是一个工具箱,里面有非常有用的模块帮助创建用户定义的模型。
    在这里插入图片描述
    在这里插入图片描述
    • 界面会显示这十几个模块,但并不意味着它只有这十几个,你可以去Library Browser中找到更多
      在这里插入图片描述

    • 直接调用有时会报错,建议先运行一下cmenv.m再调用CarMaker4SL
      在这里插入图片描述
      在这里插入图片描述

  • 7
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

print_Hyon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值