4. 仿真模型轻量化处理

虚拟调试的核心矛盾在于:机械设计模型追求几何完整与制造精度,而虚拟调试环境追求实时响应与信号正确。一台中等复杂度的包装机,原始CAD模型可能包含数十万个三角面片,直接导入仿真软件后,单帧计算耗时可能超过200ms,无法满足PLC信号与机构运动之间的实时耦合。因此,模型轻量化不是"可选优化",而是虚拟调试能否跑通的前置条件。

一、模型简化原则:保留什么,舍弃什么

轻量化的判断标准不是"面片越少越好",而是"是否影响虚拟调试要验证的对象"。虚拟调试验证的是逻辑关系、运动时序、干涉风险和信号交互,而非外观渲染。据此可以建立三条简化原则:

  • 运动功能保留原则:参与运动的零件必须保留其运动包络和关键几何特征。例如气缸活塞杆的行程端点、旋转夹具的扫掠轮廓,这些直接影响碰撞判断和位置信号触发。
  • 非运动件降级原则:机架、底座、防护罩等静止结构,可替换为简化包围盒或低面片代理体,仅保留与运动件可能发生干涉的边界区域。
  • 内部细节剔除原则:螺栓、垫片、倒角、螺纹、内部油路、铭牌等对运动学和碰撞判断无贡献的特征,应全部删除。一个M8螺栓的螺纹面片可能超过2000个,而它在虚拟调试中唯一的作用是占据空间。

实际操作中,常用做法是将模型分为三类:运动件(保留完整几何,面片控制在5000以内)、干涉相关静止件(保留外形轮廓,面片控制在2000以内)、背景结构件(用长方体或圆柱体替代,面片控制在100以内)。以一台六轴机器人工作站为例,原始模型约45万面片,按此原则简化后可降至约3.5万面片,仿真帧率从4fps提升至35fps以上。

二、运动副定义:从CAD约束到仿真自由度

CAD装配体中的配合关系(如同心、贴合、距离)描述的是静态位置约束,而虚拟调试需要的是可驱动的运动学关系。运动副定义的本质,是将CAD约束映射为仿真引擎可识别的自由度模型。

常见运动副类型与虚拟调试中的对应关系如下:

运动副类型自由度典型应用驱动方式
旋转副1个旋转自由度关节臂、翻转机构角度驱动或速度驱动
滑动副1个平移自由度气缸、直线模组位移驱动或力驱动
圆柱副1旋转+1平移旋转伸缩轴双参数独立驱动
球副3个旋转自由度万向节、球铰通常被动跟随
固定副0自由度焊接件、一体结构无驱动

定义运动副时,需要明确三个要素:运动轴线(旋转轴或平移方向)、参考坐标系(运动副原点位置)、驱动信号接口(与PLC变量的映射关系)。以气缸滑动副为例,运动轴线沿气缸轴向,原点设在活塞初始位置,驱动信号接口绑定PLC的电磁阀输出变量。当PLC输出Q0.0置位时,仿真模型中的活塞杆沿轴线移动至伸出位,同时触发前端磁性开关信号反馈至PLC输入。

运动副定义中常见的错误是轴线方向与CAD坐标系不一致。例如CAD中气缸轴向为Y轴,但仿真环境中默认Z轴为运动方向,导致活塞杆沿错误方向运动。定义前应统一确认全局坐标系约定,并在运动副属性中显式指定轴向向量。

三、碰撞体设置:从视觉模型到物理代理

碰撞体是虚拟调试中判断干涉、触发信号、验证安全距离的物理代理。它不需要与视觉模型完全一致,但必须覆盖所有可能发生碰撞的表面。碰撞体设置的核心原则是:用最简几何体包络最危险区域。

常用碰撞体类型包括:包围盒(AABB或OBB,适用于规则形状)、凸包(适用于复杂但凸性较好的零件)、胶囊体(适用于圆柱形运动件)、三角面片网格(适用于精度要求高的关键碰撞面)。选择依据是:碰撞判断的精度要求与计算开销的平衡。

以机器人夹具抓取工件为例,夹具手指的碰撞体可用两个长方体包络,工件用包围盒表示。当手指闭合时,碰撞体之间的最小距离小于设定阈值(如0.5mm)即判定为"已抓取",触发夹紧信号。这种简化碰撞体在保证判断准确性的同时,计算量仅为精确网格碰撞的十分之一。

碰撞体设置还需要注意碰撞矩阵的配置:并非所有碰撞体之间都需要检测。例如,同一运动副连接的两个零件之间不应设置碰撞检测,否则会持续触发误报。合理的碰撞矩阵应只包含可能发生干涉的零件对,如夹具与工件、机械臂与防护栏、滑块与限位块。

四、坐标系对齐方法:虚拟调试的基准统一

坐标系对齐是模型轻量化后最容易出问题的环节。CAD模型、仿真环境、PLC程序三者各自有坐标系定义,如果基准不统一,会出现"模型位置正确但信号触发点偏移"的现象。

对齐方法分为三个层次:

  1. 全局坐标系对齐:将仿真环境的全局原点与设备机械原点重合。通常以设备底座中心或第一个运动副的旋转中心作为全局原点。所有零件的位置坐标均相对于此原点定义。
  2. 局部坐标系对齐:每个运动件需要定义局部坐标系,原点设在运动副的旋转中心或滑动起点,轴向与运动方向一致。局部坐标系随运动件一起变换,用于计算运动后的位置和碰撞检测。
  3. 信号触发点对齐:传感器、限位开关、磁性开关等信号触发点的位置,必须与PLC程序中的逻辑位置一致。例如,气缸伸出到位信号应在活塞杆到达行程终点前5mm处触发,这个5mm的偏移量需要在仿真模型中精确设置。

实际操作中,推荐使用基准点导入法:在CAD中标记关键基准点(如设备原点、各运动副中心、传感器安装点),导出为CSV坐标文件,在仿真环境中按同一坐标系导入并校验。校验方法是:手动驱动各运动副至极限位置,检查碰撞体和信号触发点是否与CAD中的设计位置一致,偏差应控制在0.1mm以内。

虚拟调试模型轻量化处理流程与坐标系对齐关系 CAD原始模型 45万面片 / 完整特征 螺栓、倒角、内部油路 静态配合约束 全局坐标系未定义 简化 轻量化处理 运动件 保留完整几何 ≤5000面片 干涉相关静止件 外形轮廓 ≤2000面片 背景结构件 长方体/圆柱体替代 ≤100面片 映射 仿真环境 3.5万面片 / 35fps 运动副自由度模型 碰撞体代理 局部坐标系定义 运动副定义与碰撞体设置 旋转副 轴线:Z轴 驱动:角度信号 滑动副 轴线:Y轴 驱动:位移信号 碰撞体代理 包围盒 规则形状 凸包 复杂凸性件 胶囊体 圆柱运动件 坐标系对齐方法 全局坐标系对齐 原点 = 设备机械原点(底座中心/第一旋转中心) 局部坐标系对齐 原点 = 运动副中心 / 轴向 = 运动方向 信号触发点对齐 传感器位置 = PLC逻辑位置(偏差 ≤0.1mm) 注:面片数与帧率为示例参考值,实际数值取决于硬件配置与仿真引擎

五、轻量化后的验证与迭代

完成简化、运动副定义、碰撞体设置和坐标系对齐后,必须进行一轮基准验证。验证内容包括:手动驱动每个运动副至极限位置,观察碰撞体是否与CAD设计位置一致;触发每个传感器信号,检查PLC输入是否在正确位置变化;运行一个完整工作循环,确认无异常碰撞报警且信号时序正确。

如果发现信号触发点偏移,优先检查局部坐标系原点是否与运动副中心重合;如果发现碰撞误报,检查碰撞矩阵是否包含了不应检测的零件对;如果发现运动方向错误,检查运动副轴向向量是否与全局坐标系约定一致。验证通过后,轻量化模型即可交付虚拟调试使用,后续如需修改,应在简化模型上直接调整,避免重新导入原始CAD模型导致前功尽弃。

建议在轻量化完成后,将简化模型、运动副定义、碰撞体配置和坐标系基准点导出为独立的配置文件或中间格式(如STEP AP242或URDF),便于版本管理和团队复用。这样即使原始CAD更新,也能快速对比差异并局部替换,而不必从头处理。