首页 / 资讯中心 / 文章详情

CarMaker 7.0参考手册:车辆动力学仿真参数与模型选型指南

CarMaker 7.0参考手册:车辆动力学仿真参数与模型选型指南 ★ FEATURED ARTICLE
简介《CarMaker ReferenceManual 7.0.pdf》是面向车辆动力学仿真开发者、工程师与研究人员的技术参考手册围绕虚拟测试驾驶场景帮助读者系统掌握CarMaker的坐标轴系、几何输入规范、对象定义惯例与命名约定并理解参数文件在车辆动力学、控制系统和轮胎模型设置中的作用。压缩包仅含1个PDF文件大小约8.47MB内容为完整英文参考手册适合按章节检索理论定义、建模规则与参数说明。已有222人学习说明其在相关仿真学习群体中具备一定参考价值。手册兼顾概念解释与实践指导可用于搭建逼真车辆模型、规范子系统与变量命名、核对仿真参数并为车辆设计、安全评估及驾驶行为研究中的虚拟测试提供查证依据。1. CarMaker 7.0 参考手册很多人把它当成安装附件其实它是一份参数地图第一次拿到 CarMaker 7.0 的 Reference Manual不少人的动作很一致存进资料盘然后继续在图形界面里一格一格填参数。等到某次虚拟测试驾驶的结果和实车对不上——侧倾梯度差了 0.3 deg/g回头翻手册才发现柔度模型的叠加基准写反了。这类返工没法靠试错躲开。这份手册不是教程它是一份参数字典每个 Infofile 关键字、每个可访问量的物理含义、每个模型有几种可选实现都能在里面找到出处。它最适合已经能跑通一个 TestRun、但说不清这个数为什么这么填的车辆动力学工程师、HIL 集成人员和做 ADAS 场景验证的算法同学。下面按我实际翻它的顺序把这份文档拆成能直接查、直接对的用法。2. 手册骨架拆解功能域、命名约定与轴系怎么串成一条检索链2.1 章节顺序不是并列关系是一条建模依赖链很多人查手册是随机的想到哪个词搜哪个词。但这份文档的章节编排本身就有信息量它大致沿配置 → 环境 → 激励 → 控制器 → 整车 → 子系统 → 特性的顺序铺开而这个顺序恰好就是建模时应该走的顺序。先有 TestRun 和 SimParameters仿真才有时间轴先有环境和路面轮胎才有附着可谈先有质量几何和惯性张量车身方程才有输入。功能域手册对应章节落地时对应的工作参数文件与配置2、3建 TestRun、定步长、挂数据集环境与路面4路面附着、环境模型 Generic、材料参数驾驶 maneuver5纵向与横向开环激励做标定和辨识VehicleControl6ACC、AEB、FCW、LKAS、LDW 闭环验证车身与质量几何7整车惯量、质心、轴荷分配车身建模方程8力的组织顺序与计算链排查结果不对的根柔性体与弹性安装9、10发动机悬置、车架柔性悬架力元件11弹簧、减振器、缓冲块、横向稳定杆、轮毂摩擦悬架 KC12运动学与柔度操控评价的核心这张表最大的用处是定位。仿真结果异常时先判断它属于输入不对还是模型不对输入不对往 2、3、4 章找模型不对往 7 到 12 章找。我见过有人为了排查一个轮胎垂向力跳变把整车惯量改了三个来回最后发现是缓冲块特性曲线在拐点处给了两个距离极近的点导致刚度突变。方向对了找起来是分钟级的事方向错了就是半天。2.2 命名约定是检索索引不是排版装饰手册专门用一节讲命名约定很多人会跳过。这一节其实是提高检索效率最直接的东西。CarMaker 的量名遵循子系统前缀 物理量的组合规则子系统前缀覆盖车身、车轮、悬架、转向、制动、发动机、轮胎、道路、驾驶员这一整套。知道前缀就等于知道参数大概在哪个文件的哪个段里不用全库搜索。车轮位置的缩写是高频词左前、右前、左后、右后四个角在参数文件和可访问量里都用两字母缩写表示。质心用 CoG运动学与柔度用 KC自由度用 DOF魔术公式用 MF。这些缩写在手册的缩写的意义一节里有完整列表建议第一次用时花十分钟过一遍比后面每次遇到生词再回头查划算。量的分类同样有用。手册按位置与角度、速度与角速度、加速度与角加速度、力与力矩、状态与开关这几类来组织可访问量单位在每类下是统一的。这意味着当你从日志里抓出一个量看它的名字就能大致判断单位是米、弧度还是牛顿不需要每次都翻到定义处。跨模块传参时这一步尤其重要尤其是把悬架柔度算出来的位移喂给车身方程的时候。2.3 轴系与几何输入正负号错了后面全是无用功手册第 1 章开头就定义了轴系用的是整车行业通行的车辆坐标系约定x 轴指向车辆前进方向y 轴指向左侧z 轴指向上方构成右手系原点落在车辆的设计位置。设计位置这个基准点必须记住因为它决定了所有几何输入的参考面——悬架硬点、车轮中心、质心位置全部相对它来描述而不是相对地面或者相对某个悬架行程中点。几何输入那一节讲了 CarMaker 对象的定义惯例和定义指南两部分。惯例部分规定的是怎么写才合法比如点、线、面、体的组织方式对象的父子关系和参考坐标系指南部分规定的是怎么写才合理比如硬点坐标的取值要使悬架在设计位置附近有合理行程车轮定位参数要在合理区间。前者错了一般会直接报错后者错了不报错但仿真结果会飘。这里有一个我踩过的坑几何输入使用的长度单位和参数文件里那套 SI 单位并不总是同一套。从 CAD 导出的硬点坐标直接粘进参数文件如果不确认单位整车尺寸会差三个数量级模型看起来能跑但轴荷、惯量全是错的。搬运坐标前先回手册几何输入那一节确认当前文件用的是哪套单位这一步花不了三十秒。2.4 从目录到参数三级检索路径翻手册翻多了会形成固定路径我一般走三步。第一步定功能域。用 2.1 那张表把问题归到配置、环境、激励、控制器、整车、子系统里的某一类。第二步定参数集归属。CarMaker 的参数分几套车辆参数集描述车本身TestRun 参数集描述这一次跑什么环境与路面参数描述外部条件仿真配置描述时间步与数据存储。同一个物理量在不同参数集里的名字可能一样但作用域不同。搞错归属的典型表现是改了没反应。第三步定关键字与单位再回手册对应小节核对默认值、取值范围和生效条件。手册对不少关键字会注明仅在某个模型被选中时有效这类条件句是排查时的关键线索扫一眼别跳过。三步走完再动手改参数比打开文件就搜要慢一点但返工少。血泪经验是越急的时候越要按路径走因为着急的时候最容易在错误的文件里改一个不生效的参数然后以为模型有问题。3. InfoFile 参数体系关键字怎么写、参数集怎么分工、惯性量怎么填3.1 文件标识、模型种类与包含关系CarMaker 的参数以文本形式的 Infofile 承载一份文件大致分三段文件标识、模型种类、以及包含其他文件的关系。文件标识是给人和日志看的出问题回溯时靠它定位到底是哪一版数据集模型种类决定这份文件能被谁引用车辆参数集不能当路面参数集用包含关系决定参数从哪里继承、在哪里被覆盖。包含关系的展开顺序是顺序解析后出现的定义覆盖先出现的定义。这一条决定了整个参数体系的组织方式通用参数放前面专用参数放后面专用文件覆盖通用文件最后那份 TestRun 引用的文件拥有最高优先级。# 结构示意具体关键字以对应版本手册的定义为准 FileIdent MyVehicle_v3 ModelKind Vehicle # 先包含通用底盘、通用轮胎再在下面覆盖专用车的差异 #Include Base/Suspension_common.inf #Include Base/Tire_MF_default.inf # 质量几何示例值实际按整车实测或 CAD 取 Mass.Gross 1580.0 Mass.CoG.x 1.12 Mass.CoG.z 0.52这段结构里文件标识和模型种类两行看着无用实际是排错的第一现场。日志里报某个参数非法时先确认它来自哪个 FileIdent再看这个文件被谁包含。参数被覆盖是改了不生效的头号原因而覆盖关系只能靠包含链还原光看单个文件看不出来。3.2 车辆参数集与 TestRun 参数集的分工这两套参数集最容易混。车辆参数集描述的是这台车是什么理论上和跑什么工况无关TestRun 参数集描述的是这次跑什么比如载荷配置、随机数发生器的种子、起始条件和结束条件、数据存储开关。手册第 2 章专门列了几个 TestRun 参数车辆与挂车的载荷配置和随机数发生器是其中两个。载荷配置值得单独说。同一台车空载和满载的质心高度、轴荷分配完全不同而这些差异不应该通过改车辆参数集来实现而应该通过 TestRun 的载荷配置叠加。如果图省事直接在车辆参数集里改质量跑完一轮再改回来迟早出现参数集和试验记录对不上的情况追溯时就靠猜了。随机数发生器则是可重复性的关键。涉及噪声、路面不平度随机激励、驾驶员模型的随机行为的工况不固定种子两次运行结果就不一样。做对比试验时先确认种子一致再谈差异是否有意义——这一步不做后面所有的对比都是玄学。参数集描述什么典型内容常见误用车辆参数集车本身质量几何、悬架、轮胎、动力传动用改质量的方式模拟载荷变化TestRun 参数集这一次运行载荷配置、随机种子、起止条件、存储把工况相关参数写进车辆集仿真配置时间轴与数据循环步长、实时监控、数据存储、审计步长改了没同步改输出频率环境与路面外部条件环境模型、材料参数、路面附着用环境参数补偿轮胎模型误差3.3 质量几何与惯性张量六个分量一个都不能凑质量几何这一节的核心是三样东西整车质量、质心位置、惯性张量。惯性张量含三个转动惯量和三个惯性积一共六个分量。实际项目里整车质量和质心位置通常有实测数据或者 CAD 结果惯性张量往往只能靠估算或者台架试验反推是误差最大的一项。手册在质量几何一节里还提到双胎配置也就是后轴并装双轮的车型。这种车型的当量惯量和轮距定义与单胎不同如果按单胎的方式填整车横摆响应会明显偏慢转向灵敏度对不上。做商用车或者特种车辆仿真时这一节要单独看。参数物理含义数据来源填错的典型表现整车质量簧上簧下总质量称重加速性能和制动距离整体偏移质心纵向位置前后轴荷分配轴荷称重反算前后轴响应比例失衡质心高度侧倾力矩臂倾斜试验或 CAD侧倾梯度偏大或偏小转动惯量三轴横摆、侧倾、俯仰惯量台架或估算横摆超调量、响应频率不对惯性积轴间耦合一般取小量或零耦合工况下出现异常交叉响应一个务实的做法是先用估算值把模型跑通然后拿一个已知的稳态工况去反校。比如稳态圆周工况下的侧倾角实测值和仿真值差多少据此微调质心高度横摆角速度的响应时间差多少据此微调横摆惯量。这不是严格的参数辨识但在没有台架数据时能把模型拉到可用区间。3.4 悬架力元件特性曲线不是点越多越好手册第 11 章把悬架力元件拆得很细外部悬架力、弹簧主簧与副簧、减振器、缓冲块、横向稳定杆、轮毂轴承摩擦。每一类都有自己的参数形式和适用条件。减振器特性曲线是典型的点越多越好误区重灾区。减振器台架数据通常是几十个点直接全量导入曲线在低速段会出现锯齿仿真出来的车身垂向加速度也跟着抖。合理的做法是按速度区间重采样低速段比如 0.05 到 0.3 m/s保留密点因为这一段决定了操控感中高速段按等差取点因为曲线在那里基本线性。压缩和复原要分开给两者的斜率差好几倍混在一起填等于把阻尼特性抹平了。缓冲块和副簧是另一个容易糊弄的地方。这两者都工作在行程末端平时不参与一参与就是非线性跳变。手册把它们单独列出来就是因为它们的特性和主簧完全不同主簧近似线性缓冲块是渐进刚度副簧是分段刚度。用一条直线去近似缓冲块过坎工况的垂向冲击会明显偏软这个偏差在平路工况完全看不出来。横向稳定杆的参数是扭转刚度不是侧倾刚度。这两个量差一个杠杆比直接拿整车侧倾刚度目标值填进去侧倾会小一大截。手册在这一节给了换算涉及的量填之前对一遍比事后调质心高度省事。3.5 用脚本做参数一致性检查参数文件多了以后靠人眼核对不现实。我一般写个小脚本把关键参数抓出来对比尤其是查重复定义——这是改了不生效最隐蔽的成因。import re import collections # 匹配 Key Value 形式忽略注释行和空行 KEY_RE re.compile(r^\s*([A-Za-z][\w.]*)\s*\s*(.?)\s*$) def scan_infofile(path): 顺序扫描 Infofile返回首次定义行号与重复定义列表 seen collections.OrderedDict() dup [] with open(path, encodingutf-8, errorsignore) as f: for lineno, line in enumerate(f, 1): s line.strip() if not s or s.startswith(#) or s.startswith(//): continue m KEY_RE.match(s) if not m: continue key, val m.group(1), m.group(2) if key in seen: dup.append((key, seen[key], lineno, val)) # 同键二次赋值后者生效 else: seen[key] lineno return seen, dup if __name__ __main__: keys, dups scan_infofile(Vehicle_MyCar.inf) print(f唯一关键字 {len(keys)} 个重复定义 {len(dups)} 处) for k, first, again, v in dups: print(f {k}: 首次 {first} 行再次 {again} 行 - 生效值 {v})脚本的逻辑很朴素按行解析只认键 值形式注释直接跳过同一个键第二次出现就记一笔。参数说明上path指向待查的 Infofile编码用 utf-8 并允许忽略无法解码的字节避免某些导出文件里的特殊字符把脚本直接打断KEY_RE只匹配以字母开头的键这样带数字开头的表格数据不会被误判。这个脚本查不出物理错误但能查出结构性错误。加载链一长同一个键在通用文件和专用文件里各写一次是很常见的专用文件本该覆盖但如果包含顺序写反了生效的就是通用值。脚本一跑谁覆盖谁一目了然比在几十个文件里翻快得多。4. 模型选型的判断依据KC 模型、轮胎模型与驾驶 maneuver 的边界4.1 运动学模型Linear 1/2/3 DOF 与 MapNL 的取舍手册第 12 章把悬架运动学模型分成线性自由度模型和非线性查表模型两大类。线性自由度模型按包含的自由度数分三档本质是用线性系数描述轮跳过程中的外倾角变化和前束角变化非线性查表模型用实测或仿真得到的表格描述同样的关系能表达明显的非线性段。选型的判据是行程范围和工况类型。如果关心的工况轮跳行程小比如常规操控、稳态圆周、双移线悬架几何在工作区间内接近线性线性模型足够而且参数少、标定快。如果工况涉及大行程比如过减速带、极限侧倾、越野路面轮跳会把悬架带到几何非线性区这时候线性模型的误差就藏不住了得上查表模型。判断自己该用哪个有个简单办法拿线性模型跑一遍大行程工况把仿真得到的外倾角曲线和实测或高精度模型对比看偏差从哪个行程点开始超过你能接受的门槛。这个门槛由评价指标决定做轮胎磨损分析的门槛要比做横摆响应分析严得多。线性模型之间也有区别。自由度越多能表达的耦合越全但标定数据的需求也越大。工程上常见的做法是从低自由度起步发现某一项指标怎么调都对不上再往上升级而不是一上来就用最全的那个。4.2 柔度模型的框架与叠加规则柔度模型比运动学模型更容易出错因为它涉及叠加。手册把柔度模型分成几类基于线性框架的、基于系数一维查表的、基于位移一维和二维查表的还有一个用于基准归零的特殊模型。每类模型表达的是不同的物理机制比如衬套柔性、悬架杆件弹性、副车架变形。叠加是绕不开的。一个悬架同时存在多种柔度来源仿真里就得把多个柔度模型叠起来。手册给了一个叠加示例说明多个模型的结果如何合成。这里的关键是基准每个柔度模型都是相对某个基准状态定义的叠加前要把基准对齐否则结果会平移。手册里那个归零模型就是干这个的它的作用是在叠加链里把某一级的输出归到零位让下一级从正确起点开始。我见过最典型的翻车是叠加顺序写反。线性框架模型和查表模型叠加先叠哪个后叠哪个结果不一样因为查表模型的输入是上一级的输出。手册的示例里给了推荐顺序照着来就行别自己发明。4.3 轮胎模型MF-Tyre 与 MF-Swift 的边界手册在仿真配置一节里把轮胎模型单独列了出来说明这是个需要显式选择的项。两个主流选择是标准的魔术公式轮胎模型和带刚性环的扩展版本。标准版本适合常规操稳分析它把轮胎当成一个接地点上的力元忽略了胎体变形的高频模态计算量小参数辨识成熟。带刚性环的版本在接地点和轮辋之间加了一圈柔性环能表达轮胎的纵向和横向模态适合过坎冲击、高频振动、路面不平度引起的舒适性分析。判据很清楚关心的频率范围在轮胎一阶模态以下用标准版本要分析冲击、振动传递、高频载荷用带环版本。混用的代价是用标准版本算过坎轮胎垂向力会缺少高频振荡冲击峰值偏低用带环版本算稳态圆周计算量白花结果差异却在噪声里。不管用哪个都要注意参数适用范围。魔术公式的参数是在特定载荷、胎压、路面条件下辨识出来的超出范围使用时模型会外推。外推区间的力特性可能是非物理的表现为低速大转向角时的力突变或者数值抖动。仿真里出现这类抖动先查轮胎参数是不是被带出了适用范围别急着怀疑积分器。4.4 开环 maneuver 与闭环控制器的分工手册第 5 章的驾驶 maneuver 分纵向和横向两类。纵向有驾驶员模型、停车、倒车、手动、速度控制、速度曲线横向有驾驶员模型、转向阶跃、正弦转向、正弦扫频、循迹控制。第 6 章的 VehicleControl 则是另一套东西ACC 控制器、通用纵向控制含自动紧急制动和前碰撞预警、通用横向控制含车道保持和车道偏离预警。这两章的定位完全不同选错了整个验证就没意义。开环 maneuver 是用来做激励和标定的转向阶跃看瞬态响应正弦扫频看频率特性速度曲线做工况编排。这些工况里没有闭环反馈车辆响应完全由模型决定适合标定参数、验证模型。VehicleControl 是用来做功能验证的ACC 跟车、AEB 触发、LKAS 纠偏这些功能本身是控制器控制器在环里车辆响应会反过来影响控制器输出。用开环工况去验证 AEB永远看不到真实的触发时刻因为触发逻辑依赖闭环的相对距离变化。一个实际的做法是先用开环工况把车辆模型标到可信再把 VehicleControl 挂上去。顺序反了控制器的问题和车辆模型的问题会搅在一起AEB 提前触发你分不清是雷达模型太乐观还是制动响应太快。5. 避坑与排查五类仿真能跑、结果不对的隐蔽故障5.1 改了参数但结果一模一样现象改了减振器阻尼曲线跑完一圈车身垂向加速度曲线和上一次逐点重合。原因参数没生效。最常见的是包含顺序问题——专用文件被通用文件覆盖了其次是 TestRun 引用的数据集根本不是你以为的那一份再次是模型选择开关没切过去参数填了但当前选中的模型不读这个参数。解决用 3.5 那个脚本先扫重复定义再看日志里实际加载的文件列表和 FileIdent确认生效的是哪一版。手册里凡是有仅在某个模型被选中时有效这类条件句的参数改之前先确认模型开关的状态。5.2 车辆静止时悬架就沉下去了现象TestRun 一开始车身高度就比设计位置低一截或者四个角的高度不一致。原因初始平衡态没解对。手册在车身一节里讲了平衡态的求解核心是弹簧预载要和簧上质量匹配。预载按空载质量填的实际配置加了载荷车自然就沉了。另一个原因是质心位置和弹簧硬点不自洽四个角的力矩不平衡车会歪。解决先确认 TestRun 的载荷配置和弹簧预载是同一套假设改载荷就同步改预载或者用平衡态求解让仿真自己找。四个角高度不一致时回查质心纵向和横向位置以及四个弹簧的硬点坐标是否对称。5.3 侧倾梯度怎么调都对不上现象稳态圆周工况下侧倾角始终偏大调横向稳定杆刚度、调减振器、调质心高度都只能改善一点调过头另一个指标又崩了。原因柔度模型没配全或者叠加顺序不对。悬架的侧倾柔度不只来自稳定杆衬套、杆件、副车架都在贡献只调稳定杆等于用一个自由度去拟合多个机制。另外KC 参数如果只填了运动学没填柔度侧倾时车轮定位角的变化是错的轮胎侧向力也就错了。解决回手册第 12 章把运动学模型和柔度模型的选型逐一核对确认叠加顺序和基准对齐。然后拿侧倾梯度做单一变量的灵敏度扫描看哪个柔度项贡献最大优先修那一项别在稳定杆上死磕。5.4 过坎时轮胎垂向力出现尖峰毛刺现象车辆通过路面凸起时轮胎垂向力曲线在峰值附近出现高频毛刺时间步长调小毛刺仍在。原因两个可能。一是轮胎模型选型不对用标准魔术公式算冲击工况缺少胎体柔性力会以接近刚体的方式突变二是缓冲块特性曲线在拐点附近给了距离极近的两个点刚度在两点之间跳变。解决先换带刚性环的轮胎模型重跑同一工况毛刺消失说明是模型选型问题。如果毛刺还在把缓冲块特性曲线的点列出来按行程排序检查有没有间距过小的点重采样成单调合理的间距。手册在缓冲块一节里说明了这类元件的分段特性曲线该在哪儿密、哪儿疏那里有依据。5.5 两次运行的对比结论不成立现象做了两组参数对比差异 3%写进报告后被问这个差异是不是随机的。原因随机数发生器种子没固定或者两次运行的循环步长不同导致数值积分误差累积不同或者输出采样频率和步长不匹配导致曲线被重采样。解决对比试验前先固定种子这一点手册在 TestRun 参数一节里明确列了。然后统一循环步长实时仿真还要看实时条件的监控设置。输出频率和步长的关系要对齐步长改了输出频率不改采样点会落在不同的积分点上。这三条固定下来3% 的差异才有讨论价值。6. 把手册当索引用版本差异核查与参数自检清单手册翻熟之后它的用法会变不再是逐页读而是当索引查。这时候真正影响效率的是两件事——版本差异和自检习惯。版本差异必须核。这份文档是 7.0 版工程里如果同时存在多个版本的模型数据接口和关键字可能不完全一致。做法很简单拿到一份旧数据集先用 3.5 那个脚本扫一遍关键字再对照手册对应章节确认每个关键字在当前版本里的定义。手册开头有一段关于文档会随版本修订的说明这句话不是免责套话它意味着你手上这份 PDF 只对 7.0 负责。自检清单我一般做成表每次交付前过一遍检查项手册依据通过判据参数包含链无重复覆盖第 2 章参数文件脚本扫描重复定义为零质量几何与载荷配置自洽第 7 章质量几何四角高度偏差在设计位置公差内运动学与柔度模型选型匹配工况第 12 章 KC大行程工况下定位角偏差在门槛内轮胎模型与频率范围匹配第 3 章仿真配置冲击工况无高频毛刺随机种子与步长已固定第 2 章 TestRun 参数同参数两次运行结果逐点一致比表格更重要的是一个习惯每次改参数之前先在手册对应小节里确认这个参数的生效条件改完立刻跑一个最小复现工况确认改动能被观测到。这个动作看着慢实际比事后追查快得多。从那以后我每次动车辆参数集都强制先跑一遍稳态圆周再看改动效果——因为最贵的错误不是参数填错是填了之后根本没生效而你以为它在生效。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站