3. 机器人运动学与坐标系
离线编程的所有几何计算,最终都要落到两套坐标描述上:一套是控制器直接驱动的关节空间,另一套是工艺人员关心的笛卡尔空间。理解这两套空间之间的双向映射,以及工具坐标系(TCP)与工件坐标系(Wobj)的标定原理,是后续轨迹生成、碰撞检测与虚拟调试的数学基础。
一、关节空间与笛卡尔空间:两种描述,两种用途
以一台六轴串联机器人为例,关节空间用 6 个关节角 q = [q1, q2, q3, q4, q5, q6] 描述位形,单位通常为度或弧度。它的优点是唯一、无奇异、可直接下发到伺服;缺点是"看不出机器人手在哪"。笛卡尔空间用位姿 T = [x, y, z, rx, ry, rz] 描述末端,位置单位 mm,姿态常用欧拉角或四元数。它的优点是直观、便于与 CAD 模型对齐;缺点是同一末端位姿可能对应多组关节角(多解),且在腕部奇异附近姿态角会剧烈跳变。
离线编程中常见的做法是:在笛卡尔空间规划路径点,在关节空间做插补与限幅。例如一条直线焊缝,工艺要求末端沿直线以 8 mm/s 匀速运动,这是笛卡尔约束;但控制器实际执行的是关节插补,需要把直线离散成若干笛卡尔点,逐点逆解成关节角,再检查关节速度、加速度是否超限。
二、正运动学:从关节角算出末端位姿
正运动学是"已知 q,求 T",靠的是 DH 参数与连杆变换矩阵连乘。以标准 DH 约定为例,相邻连杆变换为:
^i-1 T_i = Rot_z(θi) · Trans_z(di) · Trans_x(ai) · Rot_x(αi)
T_0_6 = ^0T_1 · ^1T_2 · ^2T_3 · ^3T_4 · ^4T_5 · ^5T_6
其中 θi 为关节角,di 为连杆偏距,ai 为连杆长度,αi 为连杆扭角。以某 6 轴机器人为例,假设 a2 = 600 mm、a3 = 120 mm、d1 = 500 mm、d4 = 640 mm、d6 = 100 mm,其余参数为 0。当 q = [0°, 0°, 90°, 0°, 90°, 0°] 时,可算得末端位置约为 x ≈ 720 mm、y ≈ 0 mm、z ≈ 1140 mm(示例参数,仅用于说明计算流程,非实测值)。正运动学是唯一确定的,不存在多解问题,因此常被用来做标定验证:给定一组关节角,实测末端位置与正解结果比对,偏差即反映标定误差。
三、逆运动学:从末端位姿反求关节角
逆运动学是"已知 T,求 q",是离线编程中最容易出问题的环节。六轴机器人通常存在 8 组解(肩左/肩右 × 肘上/肘下 × 腕翻转/不翻转),需要按"关节行程余量最大、远离奇异、与前一点关节角距离最小"的原则选解。工程上常用解析法(Pieper 准则,适用于腕部三轴交于一点的机器人)或数值法(雅可比迭代)。
逆解失败或跳变的典型原因有三类:一是目标点超出工作空间;二是接近腕部奇异(q5 ≈ 0°),此时 q4 与 q6 耦合,微小笛卡尔扰动会引起关节角大幅变化;三是选解策略不当,导致相邻点关节角突变,表现为机器人"甩腕"。离线编程软件中通常提供"配置号"或"姿态标志"来锁定解分支,例如 KUKA 的 Status/Turn 位、ABB 的 cfx 配置,必须在示教与仿真中保持一致。
四、工具坐标系标定:让程序点落在工具尖端
工具坐标系(TCP)定义在法兰坐标系下,包含偏移 (x, y, z) 与姿态 (rx, ry, rz)。离线编程中如果 TCP 不准,所有路径点都会整体偏移,焊接会偏缝、涂胶会偏线。工程上最常用的是四点法:在机器人工作空间内固定一个尖点(如顶针),用工具尖端以四种不同姿态去触碰它,记录四组法兰位姿,通过最小二乘解出 TCP 偏移。四点法只能解位置,姿态需再用六点法或直接输入工具 CAD 模型姿态。
实操中要注意:四点法的四个姿态应尽量分散,避免共面或姿态差异过小,否则方程病态、解不稳定。标定完成后,用"绕 TCP 旋转"验证——让机器人以不同姿态绕 TCP 点转动,若工具尖端始终不动,说明 TCP 正确。典型验收标准是重复触碰同一点的位置偏差小于 0.5 mm(示例判据,具体按工艺要求设定)。
五、工件坐标系标定:把程序绑到工件上
工件坐标系(Wobj)描述工件相对基坐标系的位置与姿态。常用三点法:示教工件原点 O、X 轴正方向上一点 Px、XY 平面内一点 Pxy,由三点构造出 Wobj 的 X 轴、Y 轴与 Z 轴。这样做的价值在于:当工件被重新装夹、位置发生平移或旋转时,只需重新标定 Wobj,原有程序点无需修改即可继续使用。
在离线编程中,Wobj 还承担"对齐 CAD"的作用。通常把 CAD 模型的原点与 Wobj 原点重合,这样在软件中拾取的特征点坐标可以直接作为程序点。虚拟调试时,若仿真中 Wobj 与现场实测 Wobj 存在偏差,就会出现"仿真通过、现场偏位"的典型问题,因此 Wobj 标定数据必须与仿真模型同步更新。
六、离线编程中的实际处理流程
以一个焊接任务为例,完整的数学处理链是:在 CAD 中提取焊缝特征点(工件坐标系下)→ 按工艺要求生成路径点与姿态 → 通过 Wobj 变换到基坐标系 → 逐点逆解为关节角 → 检查关节限位、速度、奇异 → 生成控制器可执行程序。其中逆解与奇异检查是离线编程软件的核心计算,也是虚拟调试阶段最需要关注的环节。
判断逆解结果是否可用,通常看三个指标:关节角是否在软限位内、相邻点关节角变化是否平滑、雅可比矩阵条件数是否过大。若某点条件数超过阈值(例如 1×10⁴,示例值),说明接近奇异,应调整路径姿态或增加过渡点。把这些检查做在离线阶段,可以显著减少现场调试时间。
掌握关节空间与笛卡尔空间的双向映射、正逆运动学的计算逻辑,以及 TCP 与 Wobj 的标定方法,才能在离线编程中正确建立程序点、正确解释仿真结果,并为后续的轨迹规划与虚拟调试提供可靠的数学依据。