CarMaker入门第六课-CarMaker用于Simulink联合仿真进行算法开发方法

本节课将介绍如何基于CarMaker用于Simulink联合仿真开发算法与验证用到的模块。

CarMaker入门课程传送门【CarMaker入门第五课-CarMaker for Simulink模块

CarSim入门课程传送门【CarSim仿真快速入门(十三)—驾驶员模型(2)

CarSim从入门到精通视频传送门【CarSim从入门到精通视频

本节将对CarMaker的Simulink实现进行简短而深入的介绍。要求具备基本的Matlab和Simulink知识。

7.1 CarMaker Simulink架构概述

双击CarMaker块:

图 7.1 Simulink中CarMaker的总体架构

这就是CarMaker在Simulink中的总体架构。CarMaker的Simulink表示方式主要包括驾驶员/驾驶操纵、车辆控制和车辆模型。

其余部分(IPGRoad等)包含在Simulink的CarMaker库中。

双击DrivMan块:

图 7.2 Simulink中的DrivMan块

可以认识到两个细节。

- 左边的绿色块是一个S函数。这意味着全部功能都被掩盖在这一级后面。

- S函数的输出是一个多路信号,包含了S函数接口的所有信息。

返回并双击 "车辆 "块:

图 7.3 Simulink中的车辆模块

在这里,可以找到更详细的分割。Simulink块表示每次都以S函数结束。

7.2 示例

7.2.1 内容

- 计算一个新的变量。

- 将该变量链接到CarMaker的用户可访问量。

- 使用IPGControl观察变化。

7.2.2 创建新的Simulink模型

打开Simulink模型 "Generic.mdl"。将其保存为 "My_Model.mdl"。

打开Generic.mdl模型,然后从这个模型中打开My_Model.mdl模型。

7.2.3 准备扩展

有时,附加变量的计算是独立于车辆行为进行的,但大多数情况下,车辆的一个或多个状态变量的一些信息需要生成必要的信息。但大多数情况下,需要一些关于车辆的一个或多个状态变量的信息来生成必要的信息。

例如,如果用户想计算当前的发动机功率,就需要有关发动机转速和扭矩的信息。将两者相乘,并使用瓦特与马力的系数,就可以得到当前发动机的功率,单位是马力。现在导航到项目目录的mdl文件夹,打开 "My_Model.mdl",双击CarMaker块。在哪个子系统中进行更改并不重要。Simulink提供子系统只是为了图形化的目的。在仿真时,子系统是不存在的。

切换到CarMaker > IPG Vehicle > PowerTrain子系统。

图 7.4 Powertrain子系统

现在,将访问动力总成组件 "发动机 "的信息。

7.2.4 连接输入

仿真中最重要的值是子模块之间的信号和总线。如果可能的话,这些信号应该总是被用来获取有关仿真的信息。

有时需要额外的信息,这些信息在 IPGControl 中显示为用户可访问的数量,但可能无法作为 Simulink 信号使用。

在这种情况下,可以使用CarMaker4SL块Read CM Dict访问信息。关于CarMaker的Simulink块集的更多信息可以在第五课CarMaker入门第五课-CarMaker for Simulink模块 找到。

通过该块,用户可以访问CarMaker提供的所有用户可访问量。

取一个乘法块,将发动机转速信号 "PT.Engine.rotv "链接到一个条目中。

图 7.5: 乘法块

现在,可以从CarMaker中读取信号,以便接收发动机扭矩。由于发动机扭矩不能直接作为Simulink信号,因此必须从CarMaker中获得与IPGControl中相同的数值。

打开CarMaker for Simulink库(参见第121页上的 "CarMaker for Simulink块集的特性 "部分)。

图 7.6:Simulink库的CarMaker

将 "Read CM Dict "块导入模型,并定义其属性为"PT.Engine.Trq",以便从CarMaker中读取扭矩。

图  7.7 读取CD Dict

在CarMaker中,功率的单位是瓦特。为了以Hp为单位进行监控,必须插入一个增益块进行转换。增益块的值为1/735.5。现在,定义一个新的量来计算发动机功率,并在IPG控制中绘制其值。

在模型中添加一个 "Define CM Dict "块,并定义其属性为"Engine.Pow- er"。

在模型中添加 "Write CM Dict "块,并定义其属性为 "Engine.Power"。

图 7.8 发动机功率

现在切换到CarMaker GUI,并加载TestRun Product Examples> Examples。

> VehicleDynamics > _QuickStartGuide >Step4_VehicleDynamics。打开IPGControl并开始仿真。

现在可以在IPGControl中观察到刚才创建的发动机变量。

7.2.5 演示示例

CarMaker 附带了许多实例模型,演示了各种应用、功能和建模方法。所有的例子都可以在CarMaker项目目录的src_cm4sl文件夹中找到。

这些例子包括

- Simulink模型

- Matlab参数文件和脚本

- 配置文件,如TestRuns、车辆数据、轮胎数据等。

所有模型和所使用的特殊块集的详细描述可以在Pro-grammer's Guide的 "CarMaker forSimulink "部分找到。

请注意:这些示例旨在演示如何使用CarMaker for Simulink的特定接口,但并不是提供一个详细的应用程序或一个特定CarMaker子系统的完全替代。

所有的例子都可以与CarMaker支持的Matlab版本一起使用。

版本与MATLAB版本信息,可以查看CarMaker版本释放的时间,例如CarMaker是2020年释放,因此它最高只支持MATLAB 2020A。

(0)

相关推荐