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输入。
三、碰撞体设置:从视觉模型到物理代理
碰撞体是虚拟调试中判断干涉、触发信号、验证安全距离的物理代理。它不需要与视觉模型完全一致,但必须覆盖所有可能发生碰撞的表面。碰撞体设置的核心原则是:用最简几何体包络最危险区域。
常用碰撞体类型包括:包围盒(AABB或OBB,适用于规则形状)、凸包(适用于复杂但凸性较好的零件)、胶囊体(适用于圆柱形运动件)、三角面片网格(适用于精度要求高的关键碰撞面)。选择依据是:碰撞判断的精度要求与计算开销的平衡。
以机器人夹具抓取工件为例,夹具手指的碰撞体可用两个长方体包络,工件用包围盒表示。当手指闭合时,碰撞体之间的最小距离小于设定阈值(如0.5mm)即判定为"已抓取",触发夹紧信号。这种简化碰撞体在保证判断准确性的同时,计算量仅为精确网格碰撞的十分之一。
碰撞体设置还需要注意碰撞矩阵的配置:并非所有碰撞体之间都需要检测。例如,同一运动副连接的两个零件之间不应设置碰撞检测,否则会持续触发误报。合理的碰撞矩阵应只包含可能发生干涉的零件对,如夹具与工件、机械臂与防护栏、滑块与限位块。
四、坐标系对齐方法:虚拟调试的基准统一
坐标系对齐是模型轻量化后最容易出问题的环节。CAD模型、仿真环境、PLC程序三者各自有坐标系定义,如果基准不统一,会出现"模型位置正确但信号触发点偏移"的现象。
对齐方法分为三个层次:
- 全局坐标系对齐:将仿真环境的全局原点与设备机械原点重合。通常以设备底座中心或第一个运动副的旋转中心作为全局原点。所有零件的位置坐标均相对于此原点定义。
- 局部坐标系对齐:每个运动件需要定义局部坐标系,原点设在运动副的旋转中心或滑动起点,轴向与运动方向一致。局部坐标系随运动件一起变换,用于计算运动后的位置和碰撞检测。
- 信号触发点对齐:传感器、限位开关、磁性开关等信号触发点的位置,必须与PLC程序中的逻辑位置一致。例如,气缸伸出到位信号应在活塞杆到达行程终点前5mm处触发,这个5mm的偏移量需要在仿真模型中精确设置。
实际操作中,推荐使用基准点导入法:在CAD中标记关键基准点(如设备原点、各运动副中心、传感器安装点),导出为CSV坐标文件,在仿真环境中按同一坐标系导入并校验。校验方法是:手动驱动各运动副至极限位置,检查碰撞体和信号触发点是否与CAD中的设计位置一致,偏差应控制在0.1mm以内。
五、轻量化后的验证与迭代
完成简化、运动副定义、碰撞体设置和坐标系对齐后,必须进行一轮基准验证。验证内容包括:手动驱动每个运动副至极限位置,观察碰撞体是否与CAD设计位置一致;触发每个传感器信号,检查PLC输入是否在正确位置变化;运行一个完整工作循环,确认无异常碰撞报警且信号时序正确。
如果发现信号触发点偏移,优先检查局部坐标系原点是否与运动副中心重合;如果发现碰撞误报,检查碰撞矩阵是否包含了不应检测的零件对;如果发现运动方向错误,检查运动副轴向向量是否与全局坐标系约定一致。验证通过后,轻量化模型即可交付虚拟调试使用,后续如需修改,应在简化模型上直接调整,避免重新导入原始CAD模型导致前功尽弃。