3. 工作站几何建模与轻量化处理
数字孪生工作站的几何模型,是后续运动学求解、碰撞检测、路径规划和可视化渲染的共同基础。几何建模阶段的核心任务可以概括为一条链路:把来自不同 CAD 软件的原始模型导入统一环境,通过坐标系对齐与装配约束还原真实装配关系,再对网格做简化并生成碰撞体,使模型在保持几何精度的同时满足实时计算性能。本节围绕这条链路展开,重点说明每一步的输入、操作方式与结果判断依据。
三维模型导入:格式选择与单位约定
机器人工作站通常由机器人本体、末端执行器、工装夹具、变位机、输送线和安全围栏等部件组成,这些部件可能来自不同厂商、不同 CAD 平台。导入环节首先要解决格式问题。STEP(.step/.stp)是首选,它保留 B-Rep 精确几何与装配层级,适合需要二次编辑或精确碰撞检测的场景;IGES 兼容性好但对实体拓扑支持较弱;JT、Parasolid(.x_t)在汽车行业常见;STL、OBJ、3MF 等网格格式只保留三角面片,没有装配树和精确曲面,适合作为最终渲染或碰撞网格,不适合作为装配约束的输入。
导入时必须确认单位。不同软件默认单位可能是毫米、厘米或米,若未统一,会出现模型放大或缩小 1000 倍的现象。建议在导入设置中显式指定“源单位”和“目标单位”,例如源为毫米、目标为米,导入后用一个已知尺寸校验:机器人本体底座安装孔距通常为 200 mm,若导入后测得 0.2 m 则单位正确。同时检查模型是否包含隐藏图层、重复实体和零厚度面,这些会在后续网格处理中产生退化面片。
坐标系对齐:从各自原点走向统一基准
每个导入部件都带有自己的局部坐标系,机器人本体的原点通常在底座中心,末端执行器的原点常在法兰面中心,工装的原点可能在设计基准处。数字孪生需要一个统一的世界坐标系,通常约定:Z 轴竖直向上,X 轴指向工作站主要作业方向,Y 轴按右手定则确定。机器人基坐标系与工件坐标系的关系必须明确,否则后续轨迹会整体偏移。
对齐的常用做法是“三点对齐”或“特征对齐”:在源模型和目标基准上分别选取三个不共线的对应点(如底座安装孔中心、定位销孔、基准面角点),通过刚体变换求解旋转矩阵 R 和平移向量 t,使源点集拟合到目标点集。对于机器人本体,更直接的方式是直接指定基坐标系位姿:将机器人 base 坐标系原点放在世界坐标 (0, 0, 0),Z 轴向上,X 轴朝向作业区。末端执行器则通过法兰坐标系对齐,法兰面法向为工具 Z 轴,法兰中心为工具原点。
对齐完成后应做一次校验:测量机器人法兰中心到工装定位面的距离,与设计值比较,偏差应控制在 0.5 mm 以内;若偏差过大,说明对齐点选取有误或单位不一致。这一步的精度直接决定后续碰撞检测的可信度。
装配约束:还原真实运动关系
装配约束不是把所有零件“焊死”,而是按真实自由度建立父子关系和运动副。机器人本体各连杆之间是旋转副(revolute),关节轴线由 DH 参数或厂商模型给出;末端执行器与法兰之间是固定副(fixed);工装与地面之间是固定副;变位机回转轴是旋转副,滑台是移动副(prismatic)。
在数字孪生环境中,约束通常表达为“父子层级 + 关节类型 + 关节轴 + 限位”。例如机器人第 1 轴:父节点为 base,子节点为 link1,关节类型 revolute,关节轴为 base 坐标系 Z 轴,限位为 ±170°。建立约束后,手动拖动关节值,观察末端是否按预期运动,是判断约束是否正确的最直接方法。若出现部件分离、反向旋转或绕错误轴转动,应检查关节轴方向定义和父子关系是否颠倒。
网格简化:在精度与性能之间取平衡
原始 CAD 模型转成三角网格后,面片数往往非常庞大。一个中等复杂度的机器人工作站,未经处理的网格可能达到数百万甚至上千万三角面片,直接用于实时碰撞检测和渲染会导致帧率骤降。网格简化的目标是在控制几何误差的前提下大幅减少面片数。
常用的简化算法是二次误差度量(QEM)边折叠:每次选择一条边,将其两个端点合并为一个新顶点,合并代价用该顶点到相邻三角面片所在平面的距离平方和衡量,优先折叠代价最小的边。工程中通常设定目标面片数或目标误差阈值。例如某工装原始网格 120 万面片,设定简化率 75%、最大误差 0.5 mm,简化后约 30 万面片,用 CloudCompare 或 MeshLab 的“到参考网格距离”功能检查,最大偏差 0.38 mm,满足要求。
简化时要注意保留关键特征:安装孔、定位面、边缘轮廓不能因为简化而消失或严重变形。可以启用“边界保持”或“特征边保护”选项,对孔位区域设置更小的误差阈值。对于外观要求不高的部件,还可以生成多级 LOD(Level of Detail):近处用高精度网格,远处用低精度网格,兼顾视觉与性能。
碰撞体生成:为实时检测准备代理几何
碰撞检测通常不直接使用渲染网格,而是使用更简单的碰撞体(collision proxy)。常见形式包括:轴对齐包围盒(AABB)、有向包围盒(OBB)、凸包(convex hull)、胶囊体(capsule)和简化网格。选择原则是“包得住、算得快、留余量”。
对于机器人连杆,常用胶囊体或凸包近似;对于工装和围栏,常用 OBB 或简化网格;对于末端执行器,若形状复杂,可用多个凸包组合。碰撞体应比实际几何略大,留出 2~5 mm 安全余量,避免因数值误差导致漏检。生成后必须验证:构造一个已知会干涉的位姿(例如让机器人末端插入工装内部),运行碰撞检测,应能正确报出碰撞;再构造一个刚好不干涉的位姿,应不报碰撞。只有通过这两类测试,碰撞体才可用于后续路径规划。
参数示例与检查要点
| 环节 | 关键参数 | 示例值 | 判断依据 |
|---|---|---|---|
| 模型导入 | 格式 / 单位 | STEP,mm→m | 底座孔距 200 mm 对应 0.2 m |
| 坐标系对齐 | 对齐点数量 / 偏差 | 3 点,≤0.5 mm | 法兰-工装距离与设计值一致 |
| 装配约束 | 关节类型 / 限位 | revolute,±170° | 拖动关节末端按预期运动 |
| 网格简化 | 简化率 / 最大误差 | 75%,0.5 mm | 面片数下降且孔位保留 |
| 碰撞体生成 | 类型 / 安全余量 | 凸包,3 mm | 已知干涉位姿能报碰撞 |
实际项目中,建议把上述参数记录在模型处理日志中,包括原始面片数、简化后面片数、最大几何误差、碰撞体类型和安全余量。这样在后续出现碰撞异常时,可以快速定位是几何精度问题还是碰撞体设置问题。几何建模与轻量化处理的质量,直接决定数字孪生工作站能否在实时环境中稳定运行,也决定后续轨迹规划与碰撞检测结果是否可信。