【CarMaker学习笔记】Simulink内的子模块详细介绍

子模块介绍

在CarMaker模块中,CarMaker内的几个子模块和交换的信号都可以在这里查看。下面介绍CarMaker子系统的信号名称、相应的C变量与(如果存在)它在CarMaker字典中的名称之间的关系。对于大多数信号,这些信息足以在CarMaker自带的Reference Manual参考手册中找到其准确定义和默认单位的位置,在此我这边对部分模块进行了详细介绍。
在这里插入图片描述

各个子模块

CM_FIRST

模块作用

  • 在这个子系统中,可以操纵来自外部的输入信号以及一些环境参数。
    在这里插入图片描述
  • 在CarMaker中,CM_FIRST模块内的这些变量的值大部分是在Parameters -> Environment中设置。
    在这里插入图片描述
    在这里插入图片描述

参数介绍

  • Env Temperature:
    • 作用:环境空气温度
    • 单位:K
    • C语言变量:Env.Temperature
    • 字典变量:Env.Temperature
  • Env AirDensity
    • 作用:环境空气密度
    • 单位: k g / m 3 kg/m^3 kg/m3
    • C语言变量:Env.AirDensity
    • 字典变量:Env.AirDensity
  • Env AirPressure
    • 作用:环境空气压强
    • 单位:bar
    • C语言变量:Env.AirPressure
    • 字典变量:Env.AirPressure
  • Env AirHumidity
    • 作用:环境空气相对湿度
    • 单位:无
    • C语言变量:Env.AirHumidity
    • 字典变量:Env.AirHumidity
  • Env SolarRadiation
    • 作用:环境太阳辐射
    • 单位: W / m 2 W/m^2 W/m2
    • C语言变量:Env.SolarRadiation
    • 字典变量:Env.SolarRadiation
  • Env WindVel tot x
    • 作用:惯性系中的全环境全球风的x方向速度
    • 单位:m/s
    • C语言变量:Env.WindVel_tot[0]
    • 字典变量:Env.WindVel_tot.x
  • Env WindVel_tot y
    • 作用:惯性系中的全环境全球风的y方向速度
    • 单位:m/s
    • C语言变量:Env.WindVel_tot[1]
    • 字典变量:Env.WindVel_tot.y
  • Env WindVel_tot z
    • 作用:惯性系中的全环境全球风的z方向速度
    • 单位:m/s
    • C语言变量:Env.WindVel_tot[2]
    • 字典变量:Env.WindVel_tot.z
  • Env yDay
    • 作用:一年中的一天
    • 单位:days
    • C语言变量: Env.yDay
    • 字典变量:Env.YearDay
      Env Time
    • 作用:一天的时间,0-24小时中间的一个小时
    • 单位:hours
    • C语言变量:Env.Time
    • 字典变量:Env.Time
  • Env Pol_GCS Long
    • 作用:在GCS坐标中PoI经度
    • 单位:rad
    • C语言变量:无
    • 字典变量:无

    Long:longitude,经度
    POI:Point of interest,兴趣点,比如加油站、停车场、电影院都属于POI
    GCS:Global Coordinate System全,球坐标系

  • Env Pol_GCS Lat
    • 作用:在GCS坐标中PoI纬度
    • 单位:rad
    • C语言变量:无
    • 字典变量:无

    Lat:latitude,纬度

  • Env Pol_GCS Elev
    • 作用:在GCS坐标中PoI高度
    • 单位:m
    • C语言变量:无
    • 字典变量:无

    Elev:geodetic elevation,高度

  • Env sRoad
    • 作用:车辆的路径坐标
    • 单位:m/s
    • C语言变量:无
    • 字典变量:无

DrivMan

模块作用

  • DrivMan提供了在IPG自动驾驶时对操纵模块中计算出的所有信号。如果想更换自动驾驶程序的输入,则这是正确的插入点。
    在这里插入图片描述

参数介绍

  • DrivMan SST
    • 作用:动力系统开关按钮
    • 取值范围:
      • 0:关闭
      • 1:打开
    • C语言变量: DrivMan.SST
    • 字典变量:DM.SST
  • DrivMan Key
    • 作用:车辆钥匙位置(整数)
    • 取值范围:
      • 0:断开
      • 1:钥匙插入,电源关闭
      • 2:钥匙插入,ACC电源模式。ACC模式指在汽车还没有发动之前,如果有钥匙ACC档,只要将钥匙拨到这个位置,有些用电不太大的设备,比如:收音机,点烟器等就通电了,当汽车点火的时候,需要一个强电流,这时ACC位停止供电,等汽车点火结束,又开始供电。
      • 3:钥匙插入,电源打开
      • 4:钥匙插入,启动器启动
    • C语言变量:DrivMan.Key
    • 字典变量:DM.Key
  • DrivMan UserSignal
    • 作用:signal表示从车辆操作员到动力系统控制(例如安全带、车门、座椅传感器)
    • 单位:无
    • C语言变量:DrivMan.UserSignal[]
    • 字典变量:DM.UserSignal_
  • DrivMan SelectorCtrl
    • 作用:自动选档器位置(整数):
    • 取值:
      • -9:位置P(对应于档号-9)
      • -1:位置R(对应于档号-1…-8)
      • 0:位置N(对应于档号=0)
      • 1:位置D(对应于档号>0)
      • 2:位置M(手动选档/手动)
    • C语言变量:DrivMan.SelectorCtrl
    • 字典变量:DM.SelectorCtrl
  • DrivMan GearNo
    • 作用:齿轮号(整数)
    • 单位:无
    • C语言变量:DrivMan.GearNo
    • 字典变量:DM.GearNo
  • DrivMan Brake
    • 作用:制动/减速器,相对踏板力,我们平时刹车踩得踏板
    • 取值:
      • 0:未启动刹车
      • 1:启动刹车
    • C语言变量:DrivMan.Brake
    • 字典变量:DM.Brake
  • DrivMan BrakePark
    • 作用:驻车制动,俗称手刹
    • 取值:
      • 0: 未启动手刹
      • 1:启动手刹
    • C语言变量:DrivMan.BrakePark
    • 字典变量: DM.BrakePark
  • DrivMan Clutch
    • 作用:离合器
    • 取值:
      • 0:未启动离合器
      • 1:启动离合器
    • C语言变量:DrivMan.Clutch
    • 字典变量: DrivMan.Gas
  • DrivMan Gas
    • 作用:油门
    • 取值:
      • 0:未启动油门
      • 1:启动油门
    • C语言变量: DrivMan.Gas
    • 字典变量: DM.Gas
  • DrivMan Steering Ang
    • 作用:在方向盘上的转向角度
    • 单位:rad
    • C语言变量:DrivMan.Steering.Ang
    • 字典变量:DM.Steer.Ang
  • DrivMan Steering Ang Vel
    • 作用:在方向盘处的转向角度速度
    • 单位:rad/s
    • C语言变量:DrivMan.Steering.AngVel
    • 字典变量:DM.Steer.AngVel
  • DrivMan Steering AngAcc
    • 作用:在方向盘处的转向角度加速度
    • 单位: r a d / s 2 rad/s^2 rad/s2
    • C语言变量:DrivMan.Steering.AngAcc
    • 字典变量:DM.Steer.AngAcc
  • DrivMan Steering Trq
    • 作用:方向盘上的转向扭矩
    • 单位:Nm
    • C语言变量: DrivMan.Steering.Trq
    • 字典变量: DM.Steer.Trq

VehicleControl

  • 车辆控制模块应用于添加任何类型的辅助系统。在驾驶员的要求传递到各自的车辆系统之前,使用车辆控制接口实现的,车辆控制模块不会通过替换驾驶员的输入,也不会丢失的关于驾驶员原始意图的控制信号来进行交互。
    在这里插入图片描述

参数介绍

  • VhclCtrl Brake:制动/减速器,相对踏板力,我们平时刹车踩得踏板
  • VhclCtrl BrakePark:驻车制动,俗称手刹
    • 取值:
      • 0: 未启动手刹
      • 1:启动手刹

子模块介绍

CreateBus VhclCtrl
模块作用
  • 车辆的基本控制和车灯的控制
    在这里插入图片描述
参数介绍
  • VhclCtrl SST:动力总成启停按钮(布尔值):0=关闭,1=打开
  • VhclCtrl Key:
    • 作用:车辆钥匙位置(整数)
    • 取值范围:
      • 0:断开
      • 1:钥匙插入,电源关闭
      • 2:钥匙插入,ACC电源模式。ACC模式指在汽车还没有发动之前,如果有钥匙ACC档,只要将钥匙拨到这个位置,有些用电不太大的设备,比如:收音机,点烟器等就通电了,当汽车点火的时候,需要一个强电流,这时ACC位停止供电,等汽车点火结束,又开始供电。
      • 3:钥匙插入,电源打开
      • 4:钥匙插入,启动器启动
  • VhclCtrl UserSignal:signal表示从车辆操作员到动力系统控制(例如安全带、车门、座椅传感器)
  • VhclCtrl GearNo:齿轮号(整数)
  • VhclCtrl SelectorCtrl:自动选档器位置(整数)
    • 取值:
      • -9:位置P(对应于档号-9)
      • -1:位置R(对应于档号-1…-8)
      • 0:位置N(对应于档号=0)
      • 1:位置D(对应于档号>0)
      • 2:位置M(手动选档/手动)
  • VhclCtrl Brake:制动/减速器,相对踏板力,我们平时刹车踩得踏板
  • VhclCtrl BrakePark:驻车制动,俗称手刹
    • 取值:
      • 0: 未启动手刹
      • 1:启动手刹
  • VhclCtrl Clutch:离合器
    • 取值:
      • 0:未启动离合器
      • 1:启动离合器
  • VhclCtrl Gas:油门
    • 取值:
      • 0:未启动油门
      • 1:启动油门
  • VhclCtrl Steering Ang:在方向盘上的转向角度
  • VhclCtrl Steering AngVel:在方向盘处的转向角度速度
  • VhclCtrl Steering AngAcc:在方向盘处的转向角度加速度
  • VhclCtrl Steering Trq:方向盘上的转向扭矩
  • VhclCtrl Lights LowBeam:近光灯/近照灯
    • 取值:
      • 0: 未启动近光灯
      • 1:启动近光灯
  • VhclCtrl Lights HighBeam:远光灯/全前照灯亮起
    • 取值:
      • 0: 未启动远光灯
      • 1:启动远光灯
  • VhclCtrl Lights Daytime:日间运行指示灯
    • 取值:
      • 0: 未启动指示灯
      • 1:启动指示灯
  • VhclCtrl Lights ParkL:左停车灯
    • 取值:
      • 0:左停车灯不亮
      • 1:左停车灯亮
  • VhclCtrl Lights ParkR:右停车灯
    • 取值:
      • 0:右停车灯不亮
      • 1:右停车灯亮
  • VhclCtrl Lights IndL:左指示灯
    • 0=不亮
    • 1=指示灯亮,灯不亮
    • 2=指示灯亮,灯亮
  • VhcICtrl Lights IndR:右指示灯
    • 0=不亮
    • 1=右指示灯亮,灯不亮
    • 2=右指示灯亮,灯亮
  • VhclCtrl Lights FogFrontL:左前雾灯
    • 0=左前雾灯不亮
    • 1=左前雾灯亮
  • VhclCtrl Lights FogFrontR:右前雾灯
    • 0=右前雾灯不亮
    • 1=右前雾灯亮
  • VhclCtrl Lights FogRear:后雾灯
    • 0=后雾灯不亮
    • 1=后雾灯亮
  • VhclCtrl Lights Brake:刹车灯
    • 0=刹车灯不亮
    • 1=刹车灯亮
  • VhclCtrl Lights Reverse:倒车灯
    • 0=倒车灯不亮
    • 1=倒车灯亮
CreateBus VhclCtrl.Steering
模块作用
  • 方向盘的控制
    在这里插入图片描述
参数介绍
  • VhclCtrl Steering Ang:在方向盘上的转向角度
  • VhclCtrl Steering AngVel:在方向盘处的转向角度速度
  • VhclCtrl Steering AngAcc:在方向盘处的转向角度加速度
  • VhclCtrl Steering Trq:方向盘上的转向扭矩
  • VhclCtrl Steering SteerByTrq:按扭矩进行的转向系统处于活动状态,通俗点就是方向盘是否正在旋转
CreateBus Vhcl.Wheel.In
模块作用
  • 方向盘的控制
    在这里插入图片描述
参数介绍

Vhcl Wheel FL Trq_B2WC:左前车轮支架处的支撑制动扭矩
Vhcl Wheel FL Trq_DL2WC:左前车轮支架
Vhcl Wheel FL rotv:左前车轮旋转速度
Vhcl Wheel FR Trq_B2WC:右前车轮支架处的支撑制动扭矩
Vhcl Wheel FR Trq_DL2WC:右前车轮支架
Vhcl Wheel FR rotv:右前车轮旋转速度
Vhcl Wheel RL Trq_B2WC:左后车轮支架处的支撑制动扭矩
Vhcl Wheel RL Trq_DL2WC:左后车轮支架
Vhcl Wheel RL rotv:左后车轮旋转速度
Vhcl Wheel RR Trq_B2WC:右后车轮支架处的支撑制动扭矩
Vhcl Wheel RR Trq_DL2WC:右后车轮支架
Vhcl Wheel RR rotv:右后车轮旋转速度

CreateBus Vhcl.Misc
模块作用
  • 扭矩控制
    在这里插入图片描述
参数介绍

Vhcl Trq_DL2Bdy1 ×:由车身Fr1A支撑的驱动在x方向上的扭矩
Vhcl Trq_DL2Bdy1 y:由车身Fr1A支撑的驱动在y方向上的扭矩
Vhcl Trq_DL2Bdy1 z:由车身Fr1A支撑的驱动在z方向上的扭矩
Vhcl Trq_DL2Bdy1B ×:由车身Fr1B支撑的驱动在x方向上的扭矩
Vhcl Trq_DL2Bdy1B y:由车身Fr1B支撑的驱动在y方向上的扭矩
Vhcl Trq_DL2Bdy1B z:由车身Fr1B支撑的驱动在z方向上的扭矩
Vhcl Trq_DL2BdyEng ×:由发动机车身支持的驱动x方向上的扭矩
Vhcl Trq_DL2BdyEng y:由发动机车身支持的驱动y方向上的扭矩
Vhcl Wind_vel_0 x:全球帧中的Aero标记位置的x坐标
Vhcl Wind_vel_0 y:全球帧中的Aero标记位置的y坐标
Vhcl Wind_vel_0 z:全球帧中的Aero标记位置的z坐标

Fr介绍:在CarMaker的虚拟世界中,使用了针对不同目的的不同轴系统。它们用于简化CarMaker对象(包括信号和变量)的计算和参数化,并能够表示CarMaker对象的不同视点。
在这里插入图片描述

  • Frame Fr0:CarMaker惯性轴系统称为Fr0。这是“虚拟世界”的地球固定起源。
  • Frame Fr1:虚拟世界中的移动对象是基于它们自己的伴随轴系统,这被称为Fr1。该轴系统固定在移动对象上。这意味着轴系统执行附加对象的所有运动,如平移和旋转。
  • Frame Fr2:对于每个车轮,在Fr1系统中都定义了一个安装点(Mnt)。这是连接到此安装点的Fr2轴系统的参考中心。安装点是来自Fr1轴系统的纯平移(X、Y、Z)。它们被固定到Fr1系统上。
  • Frame FrX:代表一个路面轴系统。O-X-Y-平面近似地描述了路面的当前方向。像Fr1一样,这也是一个伴随的轴系统,并均匀地移动到Fr1。
  • Frame FrD:是与Fr1具有不同来源的平行轴系统。它用于指定基于与Fr1不同的原点的几何输入坐标,而不需要重新计算它们。

注:本段介绍来自ReferenceManual.pdf的23-24页

CreateBus VhclCtrl.PT
模块作用

PT表示PowerTrain,该模块设置的是汽车的动力系统
在这里插入图片描述

  • 车辆的动力系统控制可以在下图中的位置进行设置
    在这里插入图片描述
    在这里插入图片描述
参数介绍
  • VhclCtrl SST:动力总成启停按钮(布尔值):0=关闭,1=打开
  • VhclCtrl Key:
    • 作用:车辆钥匙位置(整数)
    • 取值范围:
      • 0:断开
      • 1:钥匙插入,电源关闭
      • 2:钥匙插入,ACC电源模式。ACC模式指在汽车还没有发动之前,如果有钥匙ACC档,只要将钥匙拨到这个位置,有些用电不太大的设备,比如:收音机,点烟器等就通电了,当汽车点火的时候,需要一个强电流,这时ACC位停止供电,等汽车点火结束,又开始供电。
      • 3:钥匙插入,电源打开
      • 4:钥匙插入,启动器启动
  • VhclCtrl UserSignal:signal表示从车辆操作员到动力系统控制(例如安全带、车门、座椅传感器)
  • VhclCtrl GearNo:齿轮号(整数)
  • VhclCtrl SelectorCtrl:自动选档器位置(整数)
    • 取值:
      • -9:位置P(对应于档号-9)
      • -1:位置R(对应于档号-1…-8)
      • 0:位置N(对应于档号=0)
      • 1:位置D(对应于档号>0)
      • 2:位置M(手动选档/手动)
  • VhclCtrl Clutch:离合器
    • 取值:
      • 0:未启动离合器
      • 1:启动离合器
  • VhclCtrl Gas:油门
    • 取值:
      • 0:未启动油门
      • 1:启动油门
  • VhclCtrl Brake:制动/减速器,相对踏板力,我们平时刹车踩得踏板

IPG Vehicle

模块作用

  • 自动驾驶模型
    在这里插入图片描述

子模块介绍

CarAndTrailer
  • 汽车和挂车模块
    在这里插入图片描述
Steering
  • 方向盘的控制
    在这里插入图片描述
Kinematics
  • 动力学的控制
    在这里插入图片描述
Forces
  • 外力模块,可能是摩擦、风力、碰撞等外力影响
    在这里插入图片描述
  • Vehicle Forces:惯性、风力、负载等因素的设置。
    在这里插入图片描述
  • Tires:四个轮胎的设置
    在这里插入图片描述
  • Suspension Forces:悬挂力的设置
  • (还没看完)悬架力界面允许覆盖悬架控制单元的选定控制输出和由CarMaker用CM4SL用户模型的信号计算出的悬架力元件的内力。它由3个子块组成。用户模型的控制输出可通过悬架控制单元界面应用于弹簧、减尼器、缓冲器和稳定器。用户模型的悬挂力可以应用于相同的力元件,以及通过悬挂力元件界面的寄生刚度和寄生摩擦力元件。整个悬架力界面的输入信号为力元件驱动(弹簧长度、减震器速度、缓冲器长度、稳定器长度)。没有输出信号,但是悬挂力元素更新块直接用其输入值更新C-Code变量。

在这里插入图片描述

  • External Suspension Forces:外部悬挂力的设置。
    • 外部悬挂力为CarMaker计算的选定悬挂力元件的内力增加一个力。外部悬挂力可用于弹簧、减震器、缓冲器和稳定器上。该接口的输入信号为力元件模块(弹簧长度、阻尼器速度、缓冲器长度、稳定器长度)。输出信号是叠加的力。在这里插入图片描述
Kinetics
  • 动力学模块
    在这里插入图片描述
Trailer
  • 挂车模块
    在这里插入图片描述
CarAndTrailerUpd
  • 汽车和挂车Upd
    在这里插入图片描述
Brake
  • 车辆的刹车
    在这里插入图片描述

  • CreateBus Vhcl.Wheel.PT:车轮的动力系统
    在这里插入图片描述

PowerTrain
  • 动力总成,指的是车辆上产生动力,并将动力传递到路面的一系列零部件组件。指发动机,变速器,以及集成到变速器上面的其余零件,如离合器/前差速器等。
    在这里插入图片描述

CM_LAST

在这里插入图片描述

附加:数据字典(DataDict)介绍

作用

在CarMaker仿真程序中,DataDict模块将程序的重要变量存储在数据字典中。这个字典在CarMaker有一下两个功能:

  • 存储仿真结果:将仿真数据的结果存储在数据字典中创建的变量内。
  • 在仿真过程中展现实时数据:CarMaker用户界面工具可以要求模拟程序定期发送所选数量的值。在运行仿真过程中,IPGMovie和IPGControl的数据可视化就是基于DataDict的两个功能。

变量类型

  • 创建一个Define CM Dict模块,我们可以在模块参数界面的Type中看到数据字典的类型有哪些,和C语言的基本数据类型差不多,只不过换了个名字而已。
    在这里插入图片描述
  • 这些类型是在一个放在C:\IPG\carmaker\win64-10.2\include文件夹下的DataDict.h文件定义的
    在这里插入图片描述

相关模块

Define CM Dict`

  • 作用:在数据字典中定义一个变量。
  • 参数介绍:
    • Variable Name:变量名称
    • Unit:单位,注意不是变量类型,只是单位,一个描述,比如米,千米之类的挡位
    • Strictly monotone:是否符合单调性,比如递增递减都是单调性
    • Type:变量类型,种类很多,视情况选择
    • DVA write access:可直接访问的变量的权限DVA是DirectVarAccess,可直接访问的变量
    • Number of states(0=no states):状态数量
    • First state (if number of states != 0):初始状态
    • Initial value:初始值
  • 界面:
    在这里插入图片描述

Read CM Dict

  • 作用:在数据字典中读取一个变量,并非是一定要读取Define CM Dict模块定义的变量,CarMaker里的字典变量里的值也可以,比如DM.Gas获取油门情况
  • 参数介绍:
    • Variable Name:变量名,获取多个时用逗号分隔。
    • Show Sync Port:显示同步端口
    • Sample time:抽样时间
  • 界面
    在这里插入图片描述
  • 通过Read CM Dict获取油门变化情况
    在这里插入图片描述
    在这里插入图片描述

Write CM Dict

  • 作用:将块输入端口的值复制到指定的数据字典中的变量。
  • 参数介绍:
    • Variable Name:变量名,获取多个时用逗号分隔
    • Show Sync Port:显示同步端口
  • 界面:
    在这里插入图片描述

Signal Access

  • 作用:当DVA不对数据字典内的变量写入时,模块的输入被复制到它的输出。在这种情况下,DVA值被复制。该变量将始终包含信号的当前值,因此该模块还为快速信号检查提供了便利。
  • 参数介绍:
    • Variable Name:变量名称
    • Unit:单位,注意不是变量类型,只是单位,一个描述,比如米,千米之类的挡位
    • Strictly monotone:是否符合单调性,比如递增递减都是单调性
    • Type:变量类型,种类很多,视情况选择
    • Number of states(0=no states):状态数量
    • First state (if number of states != 0):初始状态
  • 界面:
    在这里插入图片描述

本节案例

获取车辆x和y方向的加速度

  • 我们通过GG Diagram (trail)可以观测到车辆在x和y方向的加速度
    在这里插入图片描述
  • 如果我们想在simlink获取这两个加速度的曲线,则创建一个Read CM Dict模块,输入变量Car.Con.ax_1,Car.Con.ay_1
    在这里插入图片描述
    Car.Con.ax_1:车辆在Fr1情况下,x方向的加速度
    Car.Con.ay_1:车辆在Fr1情况下,y方向的加速度
  • 记录模块输出信号,查看信息变化曲线
    在这里插入图片描述
  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

print_Hyon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值