4、CarMaker界面与工作流:熟悉主界面、项目结构、仿真流程(建模-配置-运行-分析)及常用工具栏

CarMaker作为IPG Automotive旗下面向整车仿真测试的专业工具链,其界面布局与工作流设计遵循“模型-配置-运行-分析”的闭环逻辑。对于初学者而言,最容易陷入的误区是试图通过菜单逐项摸索功能,而忽略了CarMaker以“项目(Project)”为核心的组织方式。本章将系统拆解CarMaker的主界面分区、项目文件结构、标准仿真工作流以及高频工具栏操作,帮助您建立从“打开软件”到“输出报告”的完整心智模型。无论您后续使用CarMaker进行ADAS算法验证、底盘控制开发还是燃油经济性测试,这套底层工作流框架都是通用的。

CarMaker 工作流与界面映射关系 项目结构 (Project) • 车辆模型 (.car) • 驾驶员模型 (.driver) • 道路模型 (.road) • 工况/场景 (.testrun) • 参数集 (.par) • 数据记录配置 (.rec) • 仿真配置 (.cfg) 主界面分区 • 菜单栏/工具栏 • 项目浏览器 (左) • 3D可视化窗口 (中) • 参数/曲线窗口 (右) • 消息/日志窗口 (下) • 仿真控制条 (底部) • 状态栏 四步工作流 ① 建模 (Modeling) ② 配置 (Configuration) ③ 运行 (Simulation) ④ 分析 (Analysis) 迭代循环 加载/编辑 驱动 迭代优化 / 结果回写 常用工具栏与快捷键 ▶ 开始仿真 (F9) ⏸ 暂停/继续 (F10) ⏹ 停止 (Shift+F10) 📊 打开分析器 🚗 车辆参数编辑 🛣 道路编辑器 👤 驾驶员模型 📝 测试工况管理 提示:所有工具栏均可通过 View → Toolbars 自定义显示/隐藏

4.1 主界面功能分区与核心原理

CarMaker的图形用户界面(GUI)基于Qt框架开发,其设计哲学是“所有操作围绕当前项目展开”。主界面默认布局可分为六个核心区域,理解每个区域的职责边界是高效使用软件的前提。

4.1.1 菜单栏与主工具栏

菜单栏包含File、Edit、Simulation、Tools、View、Help等标准条目。其中Simulation菜单是仿真控制的核心入口,提供Start、Pause、Stop、Step等命令。主工具栏默认显示最常用的12个图标按钮,包括新建项目、打开项目、保存、撤销/重做、开始/暂停/停止仿真、打开IPG Movie Maker(3D动画后处理)、打开IPG Control(自动化脚本)等。值得注意的是,工具栏的定制化程度很高,您可以通过右键点击工具栏空白处,勾选或拖拽自定义按钮组合,将高频操作固定在显眼位置。

4.1.2 项目浏览器(Project Browser)

项目浏览器位于界面左侧,以树状结构展示当前项目的所有组成文件。它不仅是文件导航器,更是模型装配的入口。展开“Vehicle”节点,您可以看到车身、底盘、动力总成、轮胎等子模型;展开“TestRig”节点,可以配置台架或道路环境。双击任何节点,右侧参数窗口会立即加载该对象的全部可调参数。这种“树-参数”联动机制,使得工程师无需记忆文件路径,即可完成跨模块的参数修改。

4.1.3 3D可视化窗口与曲线窗口

中央区域是3D可视化窗口,默认显示车辆模型与道路场景。该窗口支持鼠标拖拽旋转视角、滚轮缩放、右键框选放大。在仿真运行时,它实时渲染车辆姿态、传感器视野(如摄像头、雷达波束)以及交通流状态。右侧的曲线窗口(Curve Window)则用于实时显示关键信号的时间历程,例如车速、加速度、方向盘转角、发动机转速等。您可以通过拖拽信号名到曲线窗口,快速建立监控图表,无需暂停仿真。

4.1.4 消息窗口与状态栏

底部消息窗口(Message Window)输出编译信息、警告、错误以及脚本日志。当仿真失败时,这里往往是定位问题的第一现场。状态栏则显示当前仿真时间、运行状态(Ready/Running/Paused)、CPU负载以及当前选中的对象名称。对于自动化测试而言,状态栏的“TestRun ID”字段有助于追踪批量仿真中的当前用例编号。

核心原理:CarMaker的界面布局遵循“模型-参数-结果”三区联动原则。左侧项目浏览器定义“有什么”,右侧参数窗口定义“是多少”,下方曲线窗口定义“怎么样”。这种设计将复杂的车辆系统仿真抽象为可导航、可搜索、可量化的工程对象,极大降低了学习门槛。

4.2 项目结构:从文件到仿真用例的映射

一个完整的CarMaker项目(.cmproj文件)本质上是一个XML格式的工程描述文件,它引用了一系列外部资源文件。理解这些文件的后缀与作用,是进行版本管理和团队协作的基础。

文件后缀 类型 作用说明 典型编辑入口
.car 车辆模型 定义整车质量、轴距、悬架K&C特性、动力总成外特性、轮胎参数等 Vehicle Data Editor
.driver 驾驶员模型 包含纵向(油门/制动)与横向(转向)控制策略,可设定激进/保守风格 Driver Editor
.road 道路文件 描述道路几何线形(直线、曲线、坡度)、路面附着系数、车道标记 Road Designer
.testrun 测试工况 定义仿真时长、初始车速、换挡策略、事件触发条件(如障碍物切入) TestRun Editor
.par 参数集 以键值对形式存储任意模块的参数覆盖值,常用于批量扫描 Parameter Variation
.rec 记录配置 指定需要记录哪些信号、采样频率、存储格式(ASCII/MDF) Recording Configuration
.cfg 仿真配置 包含求解器设置(步长、积分方法)、实时性要求、硬件接口配置 Simulation Control

在项目浏览器中,这些文件以逻辑分组呈现,而非物理路径。例如“Vehicle”分组下可能包含多个.car文件变体(如“车辆_满载.car”、“车辆_空载.car”),您可以通过右键菜单快速切换当前激活的模型版本。这种设计支持在同一项目内进行多方案对比,而无需复制整个工程文件夹。

4.3 标准仿真工作流:建模-配置-运行-分析

CarMaker的仿真流程可以归纳为四个阶段,每个阶段都有明确的输入与输出。下面以“某SUV车型的紧急变道工况仿真”为例,演示完整操作链路。

4.3.1 建模阶段(Modeling)

建模并非从零绘制CAD模型,而是参数化选型与调校。操作路径:项目浏览器 → 右键“Vehicle” → “Load Vehicle Data” → 选择基础车型(如“IPG_SUV_BEV”)。随后打开车辆参数编辑器,根据实际试验车修改关键参数:

// 示例:修改整车质量与质心高度
Vehicle.Mass = 2150;        // 单位:kg
Vehicle.CoG.Height = 0.62;  // 单位:m
FrontAxle.Suspension.SpringRate = 45; // N/mm

同时,需要加载或创建驾驶员模型。对于紧急变道工况,建议选择“Sports”风格的驾驶员模型,并调整最大横向加速度限制为8 m/s²。

4.3.2 配置阶段(Configuration)

配置阶段包含三大任务:道路场景搭建、测试工况定义、数据记录规划。

  • 道路场景:使用Road Designer绘制一段500m长的双车道直线道路,在200m处设置一个锥桶障碍物区域,用于触发变道。
  • 测试工况:在TestRun Editor中设置初始车速80km/h,仿真时长15s。添加一个“Distance Trigger”事件:当车辆距障碍物小于50m时,激活驾驶员模型的变道指令。
  • 数据记录:在Recording Configuration中勾选关键信号:车辆横摆角速度、侧向加速度、方向盘转角、四个车轮的垂直载荷。采样频率设为100Hz,输出格式选择MDF(便于后续在CANape或Python中分析)。

4.3.3 运行阶段(Simulation)

点击主工具栏的绿色“开始”按钮(或按F9),CarMaker首先进行模型编译与初始化。此时消息窗口会显示“Compiling vehicle model... OK”等日志。仿真运行过程中,您可以通过3D窗口观察车辆动态,同时曲线窗口实时刷新信号。若需要临时修改参数(如增加一个负载),无需停止仿真——在参数窗口直接修改,点击“Apply”即可热更新。

4.3.4 分析阶段(Analysis)

仿真结束后,系统自动生成结果文件(通常为.mat或.mdf)。点击工具栏“Open Analyzer”进入IPG Analyzer模块。在这里您可以:

  1. 绘制横摆角速度与侧向加速度的相平面图,评估车辆稳定性。
  2. 对比不同悬架刚度下的轮胎垂直载荷转移量。
  3. 通过“Channel Calculator”自定义派生信号,例如计算质心侧偏角。
实战经验:对于批量工况(如EURO NCAP测试矩阵),建议使用IPG Control(Python API)编写自动化脚本。通过simulation.start()、simulation.stop()等命令,可以循环执行数百个测试用例,并将结果自动归档到指定文件夹。这比手动逐个点击运行效率提升一个数量级。

4.4 常用工具栏深度解析与效率技巧

除了基础的开始/暂停/停止按钮,以下工具栏功能在专业工作中使用频率极高,但常被初学者忽略。

工具名称 图标特征 核心功能 效率技巧
IPG Movie Maker 🎬 离线生成高质量3D动画视频,支持多视角切换、时间轴编辑 用于制作项目汇报材料或问题复现视频,可导出4K分辨率
Parameter Variation 📈 定义参数扫描范围(如车速从60到120km/h,步长10),自动批量运行 配合.par文件使用,可同时扫描3个维度参数
Signal Generator 📶 在仿真中注入自定义信号(如正弦波转向输入、阶跃油门) 用于开环控制验证,无需修改驾驶员模型
Scenario Editor 🚦 编辑交通流、行人、静态障碍物的时空轨迹 支持导入OpenSCENARIO格式文件,复用第三方场景库
Hardware-in-the-Loop 🔌 配置实时仿真机与ECU或传感器硬件的数据交互 需在Simulation Control中启用实时模式,并配置CAN/Ethernet接口

4.4.1 案例拆解:利用Parameter Variation完成悬架刚度优化

背景与约束:某主机厂需要评估后悬架弹簧刚度对车辆不足转向特性的影响。约束条件:仿真必须在2小时内完成,且需要覆盖三种载荷状态(空载、半载、满载)。

初始目标:找到使不足转向度(以侧向加速度0.4g时的转向梯度差衡量)在2.5~4.5 deg/g范围内的刚度组合。

操作步骤:

  1. 在Parameter Variation中定义变量:RearAxle.Suspension.SpringRate,范围30~60 N/mm,步长5 N/mm(共7个值)。
  2. 设置第二个变量:Vehicle.LoadState,枚举值[Empty, Half, Full]。
  3. 选择标准测试工况“Constant Radius Cornering”(定半径转弯),半径100m,车速从20km/h加速至80km/h。
  4. 点击“Run Matrix”,系统自动生成21个仿真任务,并行调度至多核CPU。
  5. 分析阶段,在Analyzer中导入所有结果,绘制“转向梯度 vs 弹簧刚度”曲线族。

结果与复盘:仿真总耗时约45分钟。发现当刚度大于50 N/mm时,满载工况的不足转向度超过5.0 deg/g,车辆趋于过度转向风险。最终选定45 N/mm作为优化值。此案例验证了CarMaker批量仿真能力在底盘调校初期的巨大价值——相比实车测试,节省了至少3天的试验场租赁成本。

4.5 常见误区与总结复盘

误区一:混淆“项目文件”与“仿真结果”。项目文件(.cmproj)只保存配置和引用关系,不包含仿真数据。若需归档结果,必须单独保存Result文件夹或导出MDF文件。否则清理临时文件时极易丢失重要实验数据。
误区二:忽略消息窗口的警告信息。例如“Tire model extrapolated beyond valid range”表示轮胎模型超出线性区,此时仿真结果仍会输出,但精度已无法保证。务必养成查看警告日志的习惯,必要时调整工况边界或更换更高精度的轮胎模型(如FTire)。

总结复盘:本章的核心知识结构可归纳为“一个中心、两条主线、三个入口”。一个中心:以项目浏览器为中心,所有操作围绕项目文件展开。两条主线:横向的“建模→配置→运行→分析”工作流主线,以及纵向的“文件类型→编辑工具→参数入口”操作主线。三个入口:3D窗口(视觉验证)、曲线窗口(信号监控)、消息窗口(日志诊断)。掌握这三者之间的联动关系,您就能在CarMaker中高效完成从简单工况到复杂场景的仿真任务。下一阶段,建议您打开软件自带的Demo项目(如“IPG_Demo_SmallCar”),按照本章流程逐步操作一遍,重点体会“参数修改→仿真运行→结果反馈”的迭代节奏。