3. 工作站模型轻量化处理
在 ROBOGUIDE 虚拟调试中,工作站模型往往来自机械设计部门导出的 STEP、IGES 或 JT 文件。这些 CAD 数模保留了完整的 B-Rep 边界表示与大量工艺特征,单个机器人工作站动辄包含数十万甚至上百万三角面片。ROBOGUIDE 的渲染管线与物理引擎(碰撞检测、干涉区计算)都直接消费三角网格,面片数量直接决定帧率与碰撞查询耗时。因此,模型轻量化不是"可选的美化步骤",而是决定虚拟调试能否流畅运行的前置工程。
轻量化的核心目标可以概括为一句话:在不改变碰撞检测结论的前提下,尽可能减少参与渲染与物理计算的三角面片数量。围绕这一目标,本节从面片精简、特征抑制、LOD 分级三个层面展开,并给出可复现的参数与判断依据。
一、面片精简:从 B-Rep 到可控三角网格
CAD 数模导入 ROBOGUIDE 时,系统会按弦高(Chord Height)与角度公差(Angle Tolerance)将曲面离散为三角面片。弦高越小、角度公差越细,曲面越光滑,但面片数呈平方级增长。实操中建议先做一次"粗离散"再评估:
导入设置示例(合理假设值)
弦高公差 Chord Height : 0.5 mm
角度公差 Angle Tolerance: 15°
法向偏差 Normal Deviation: 20°
结果:某夹具模型由 42 万面片降至 8.6 万面片
离散之后进入真正的面片精简。常用算法是二次误差度量(QEM)边折叠,它按"折叠一条边带来的几何误差"排序,优先合并对轮廓影响最小的边。ROBOGUIDE 本身不提供网格简化器,通常的做法是在 CAD 端或中间工具(如 Blender、MeshLab、CAD Exchanger)完成简化,再以 JT/3DS 格式导入。简化比例建议控制在原始面片数的 20%~40%,并遵循以下经验:
- 平面区域可激进简化,一个平面理论上只需 2 个三角面片;
- 圆柱/球面保留 12~24 段圆周分段即可满足视觉与碰撞需求;
- 倒角、圆角若不影响碰撞判定,可整体抑制;
- 薄壁件(如钣金护罩)需保留双面,避免碰撞穿透。
判断精简是否合格,不能只看面片数,而要看碰撞检测结论是否一致。推荐做法是:在精简前后分别用同一组 TCP 轨迹做碰撞查询,对比"碰撞/不碰撞"的判定结果与最小距离值。若最小距离偏差在 0.5 mm 以内且判定结论完全一致,即可认为精简合格。
二、特征抑制:删除不参与调试的几何
CAD 数模中包含大量对虚拟调试毫无意义的特征:螺纹孔、倒角、铭牌、线槽、内部加强筋、装配标记等。这些特征在渲染时消耗面片,在碰撞检测时增加查询节点,却几乎不影响机器人运动与干涉判断。特征抑制就是有选择地删除它们。
抑制原则可以按"是否可能成为碰撞体"来划分:
- 可抑制:螺纹孔、沉头孔、倒角、圆角、铭牌、表面纹理、内部空腔结构;
- 需保留:工件外形、夹具定位面、机器人本体、末端执行器、安全围栏、可能被碰撞的立柱与横梁;
- 需简化保留:线缆、气管可替换为等效圆柱;复杂焊枪可替换为包围盒加关键轮廓。
三、LOD 分级:按观察距离切换细节层次
LOD(Level of Detail)分级的思路是:为同一对象准备多个细节层次,根据相机距离或重要性动态切换。ROBOGUIDE 支持为组件设置 LOD,但更常见的做法是在导入前就准备好三档模型:
| LOD 级别 | 面片比例 | 适用场景 | 碰撞检测 |
|---|---|---|---|
| LOD0 高精度 | 100% | 近景观察、示教编程 | 启用 |
| LOD1 中精度 | 30%~50% | 常规调试视角 | 启用 |
| LOD2 低精度 | 10%~15% | 远景、布局浏览 | 可关闭 |
关键约束是:参与碰撞检测的 LOD 必须与 LOD0 保持几何一致性。也就是说,LOD1 可以用于渲染,但碰撞检测仍应使用 LOD0 或与 LOD0 误差在允许范围内的简化体。若为了性能让碰撞检测也使用 LOD2,必须重新验证最小距离偏差。
四、实操参数与验证方法
下面给出一组可直接参考的轻量化参数配置,适用于典型的弧焊/搬运工作站。这些数值属于合理假设的示例,实际使用时应根据模型复杂度与调试精度要求调整。
轻量化参数参考(示例)
─────────────────────────────
离散弦高 : 0.5 mm
离散角度公差 : 15°
面片精简比例 : 原始面片的 25%
圆周分段数 : 16 段
倒角/圆角 : 全部抑制
螺纹孔 : 全部抑制
线缆/气管 : 替换为 φ20 等效圆柱
LOD0 : 100%(碰撞检测用)
LOD1 : 40%(常规渲染)
LOD2 : 12%(远景浏览)
碰撞验证轨迹 : 3 条典型焊接轨迹
允许距离偏差 : ≤ 0.5 mm
验证流程建议按以下顺序执行:先在 LOD0 模型上运行 3 条典型轨迹,记录每条轨迹的碰撞判定结果与最小距离值;然后切换到精简后的模型,用同一组轨迹重新运行;最后逐条对比。若某条轨迹的判定结果发生翻转(碰撞变不碰撞,或反之),说明精简过度,需要恢复该区域的几何细节或降低精简比例。
五、常见问题与处理
在实际项目中,轻量化常遇到三类问题。第一类是精简后模型出现破面或自交,通常由 QEM 折叠过度导致,处理方法是提高弦高公差或对问题区域单独保留原始面片。第二类是碰撞检测静默失效,多因删除几何后碰撞对未更新,需在 ROBOGUIDE 的碰撞设置中重新绑定 link 与碰撞体。第三类是LOD 切换时出现视觉跳变,可通过设置 LOD 切换距离的滞回区间(如 3 m 切换、2.5 m 切回)来缓解。
轻量化不是一次性工作。当 CAD 数模更新时,需要重新执行精简、抑制与 LOD 分级,并重新做碰撞精度验证。建议将上述参数与验证轨迹固化为工作站模板,每次数模更新后按模板重新处理,避免重复摸索。