【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仿真的一部分。接下来的步骤将显示它是多么容易。

目录

  • 实验介绍
  • 实验过程
    • 新建工程
    • 用Matlab打开工程
    • 搭建一个简单的道路
    • 模拟运行
    • 查看实时数据
  • 结束

实验过程

新建工程

  • 进入CarMaker界面,新建一个Project
    【CarMaker学习笔记】与Simulink联合仿真_第1张图片
  • 勾选CarMaker for Simulink Extras
    【CarMaker学习笔记】与Simulink联合仿真_第2张图片

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

用Matlab打开工程

  • 进入目录,打开cmenv.m
    【CarMaker学习笔记】与Simulink联合仿真_第3张图片

  • 运行cmenv.m,保证了CarMaker和Matlab之间的连接
    【CarMaker学习笔记】与Simulink联合仿真_第4张图片

  • 到命令行窗口查看运行情况
    【CarMaker学习笔记】与Simulink联合仿真_第5张图片

  • 回到当前文件夹,双击generic.mdl
    【CarMaker学习笔记】与Simulink联合仿真_第6张图片

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

  • 弹出Simulink界面

    • 左边的齿轮表示:专用于仅用于高级应用的附加选项
    • 中间的汽车表示:CarMaker模型的Simulink表示,双击可查看CarMaker的总体结构
    • 右侧的CM是一个链接,双击弹出CarMaker的主界面
      【CarMaker学习笔记】与Simulink联合仿真_第7张图片
  • 双击图片里的大CM,弹出CarMaker的主界面
    【CarMaker学习笔记】与Simulink联合仿真_第8张图片

  • 如果我们没有关闭之前的CarMaker主界面,那么它会提示应用已经打开了一个,是否要再开一个,我们点击Continue即可
    【CarMaker学习笔记】与Simulink联合仿真_第9张图片
    【CarMaker学习笔记】与Simulink联合仿真_第10张图片

搭建一个简单的道路

  • 最简单的一条直线道路,路线也规划一条
    【CarMaker学习笔记】与Simulink联合仿真_第11张图片
  • 设置一个简单的行驶策略
    【CarMaker学习笔记】与Simulink联合仿真_第12张图片
  • 选一个普通的小车
    【CarMaker学习笔记】与Simulink联合仿真_第13张图片
  • 保存
    【CarMaker学习笔记】与Simulink联合仿真_第14张图片
    【CarMaker学习笔记】与Simulink联合仿真_第15张图片

模拟运行

  • 回到Simulink界面,点击Run
    【CarMaker学习笔记】与Simulink联合仿真_第16张图片

  • 我们在IPGMoive界面,看到小车在运行(IPGMoive界面默认需点击CarMaker主界面的File->IPGMoive调出)
    【CarMaker学习笔记】与Simulink联合仿真_第17张图片

查看实时数据

  • 双击CarMaker这个小车,进入底层构造
    【CarMaker学习笔记】与Simulink联合仿真_第18张图片
  • 双击DrivMan这个模块,查看驾驶原理构造
    【CarMaker学习笔记】与Simulink联合仿真_第19张图片
  • 我们选择记录一些信号
    【CarMaker学习笔记】与Simulink联合仿真_第20张图片
  • 点击Data Inspector查看信号
    【CarMaker学习笔记】与Simulink联合仿真_第21张图片
  • 勾选信号
    【CarMaker学习笔记】与Simulink联合仿真_第22张图片
  • 点击Run,查看信号变化
    【CarMaker学习笔记】与Simulink联合仿真_第23张图片
    【CarMaker学习笔记】与Simulink联合仿真_第24张图片

结束

  • 本次实验可以在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联合仿真_第25张图片
  • CarMaker自带一些Simulink的样例,在BasicFunctions下,但不要直接运行,先确保工程下已经配置好了Simulink文件(实验第一步的那个CarMaker for Simulink Extras选项)。
    【CarMaker学习笔记】与Simulink联合仿真_第26张图片
  • 我们可以在Matlab的命令行窗口内输入CarMaker4SL调用CarMaker的接口块集。它是一个工具箱,里面有非常有用的模块帮助创建用户定义的模型。
    【CarMaker学习笔记】与Simulink联合仿真_第27张图片
    【CarMaker学习笔记】与Simulink联合仿真_第28张图片
    • 界面会显示这十几个模块,但并不意味着它只有这十几个,你可以去Library Browser中找到更多
      【CarMaker学习笔记】与Simulink联合仿真_第29张图片

    • 直接调用有时会报错,建议先运行一下cmenv.m再调用CarMaker4SL
      【CarMaker学习笔记】与Simulink联合仿真_第30张图片
      【CarMaker学习笔记】与Simulink联合仿真_第31张图片

你可能感兴趣的:(CarMaker,simulink,matlab,CarMaker)