机器人常用的坐标系包括基坐标系、工具坐标系和用户或工件坐标系:基坐标系以机器人基座为参照,工具坐标系描述当前工具的控制点与轴方向,用户或工件坐标系则围绕工作台、夹具或工件建立。它们让“向哪里移动”和“这个位置是多少”有明确的参照。
同一个工具尖端,在不同坐标系下可以显示不同数值,而物理位置完全没变。理解这一点,才能分清坐标显示、点位表达和实际运动。关于机械臂整体构成,可先参阅工业机器人的类型、组成与工作原理;这里以固定基座、机器人手持工具对外部工件作业的常见形式说明坐标关系。

坐标系先回答:相对谁、沿哪个方向
一个笛卡尔坐标系由原点和轴方向共同确定。只知道原点在哪里,还不能知道X正方向指向哪边;只给出“X=100 mm”,也无法判断它相对哪个对象。工业机器人中的三维坐标通常按右手规则定义,具体原点和轴向应以相应控制器、机型和设置为准。
位置与姿态也要分开。位置回答控制点在哪里,可用X、Y、Z表达;姿态回答工具轴朝向哪里。把工具绕同一尖端旋转,尖端位置可以不变,姿态却改变了。位置和姿态合起来称为位姿,完整运动目标往往需要同时说明两者。
不同系统可能用欧拉角、旋转向量或四元数表达姿态,角度单位和旋转顺序也可能不同。不能看到三个姿态数字,就默认它们都是依次绕X、Y、Z旋转的角度。跨设备交换数据时,应连同参考系、长度单位和姿态格式一起确认。
“关节坐标”则描述各关节的角度或直线位移,与末端在空间中的X、Y、Z不同。沿某个空间方向移动工具,可能需要多个关节共同运动;单独转动一个关节,工具也不一定走直线。这是关节变量与空间表达的差别,不是两个坐标名字的简单替换。
基坐标、工具坐标和用户坐标怎样分工
| 参考系 | 主要依附对象 | 常见用途 | 容易混淆的地方 |
|---|---|---|---|
| 基坐标系 | 机器人基座;常规固定安装时相对基座不变 | 描述工作区中目标相对机器人的位置与方向 | 基座发生移动后,它与工作站其他对象的关系也会变化 |
| 工具坐标系 | 当前工具,通常以选定TCP为原点并定义轴方向 | 沿工具方向接近、退出或调整姿态 | 工具转动后,工具轴在基坐标中的方向随之改变 |
| 用户/工件相关坐标系 | 工作台、夹具、工件等作业对象 | 沿工件边缘运动、表达局部加工点及复用相对路径 | 用户系和工件系可能是不同层级,不能跨厂商直接画等号 |

例如,机器人旁有一张斜放的工作台。若希望沿台面的一条边移动,在工作台坐标中可以表达为沿某一轴移动;在基坐标中,这段位移可能同时包含X和Y分量。若希望喷嘴沿自身轴向退出,则工具参考更直接,因为喷嘴转向后,退出方向也应跟着改变。
Universal Robots的Features说明就以桌面、工件等对象建立参考,并说明选择该参考后,移动方向和TCP坐标都相对于它表达。名称与层级则并非统一:珞石xCore的坐标系表分别列出用户系和工件系,二者之间还有参考关系。因此理解“参考对象是什么”比机械对应菜单名称更可靠。
此外,世界坐标系常用于统一工作站或多设备的参考;单机默认配置下可能与基坐标重合,但不必始终重合。法兰坐标系则附着在机器人末端机械接口上,为工具偏置提供参照。机器人持工件、使用外部固定工具或带移动轴时,参考链可能不同,需要按实际配置理解。
TCP为什么不一定在法兰中心
TCP是Tool Center Point,即工具中心点,也可理解为选定的工具控制点。喷嘴可以选择尖端,夹爪可以选择夹持中心,实际取哪一点由任务决定;“中心”并不意味着必须是工具的几何中心,更不是质心。
法兰中心在机械接口上,TCP可能在离它一段距离的工具末端。控制器需要知道两者之间的位置偏置以及工具坐标的方向。Universal Robots的TCP定义将这个关系明确为从输出法兰坐标系到TCP的位姿变换。工具刚性安装且未改变时,这个偏置相对法兰保持不变;机器人运动则使整个工具相对基座的位置与方向改变。

如果把法兰中心误当成喷嘴尖端,即使显示的法兰位置正确,尖端仍可能偏离目标。更换工具、改变伸出长度或发生安装偏移后,应重新确认工具数据。工具负载、质量和质心则属于其他相关配置,不能只靠TCP坐标替代。
控制器也可能保存多个工具数据,程序使用的是其中某个有效工具。一个数据项已经正确标定,不代表当前运动正在调用它。排查位置问题时,应确认当前控制点和实际装上的工具一致,而不只是查看工具库里是否存在一个同名项目。
换坐标系后,同一个点怎样换算
两个坐标系之间通常既有平移又有旋转。以B代表基坐标、U代表用户坐标,同一点的位置可写为pB=RBUpU+tBU:R把U中的方向分量转换到B,t表示U原点在B中的位置。Modern Robotics的齐次变换讲解把位置与旋转组合起来,并区分改变参考描述与实际移动对象。
下面用一个二维教学例说明,所有长度单位为mm,不代表具体设备程序。从平面上方看,基坐标的+X向右、+Y向上,+Z朝向观察者。用户原点U在基坐标中的位置为(1000,500),用户系相对基系逆时针旋转90°,因此+XU向上,+YU向左。
若点P的用户坐标是(100,50),意思是从U原点沿+XU走100 mm,再沿+YU走50 mm。在基方向中,这对应向上100、向左50,于是P的基坐标为(1000-50,500+100)=(950,600)。点P并没有移动,只是描述变了。

这个例子的旋转关系可简写为(xU,yU)→(-yU,xU)。反向检查时,先从(950,600)减去用户原点(1000,500),得到基方向的(-50,100);再按逆旋转换回U,就得到(100,50)。对于三维位姿,还要正确组合姿态,不能只换位置三数。
点的位置与位移向量也不同。把一个点换到另一个参考系,要考虑原点平移;只转换“向某方向移动10 mm”这样的位移向量时,方向分量需要旋转,不能再加一次原点坐标。把点位与增量混算,是偏移量异常的常见来源。
为什么同样沿X移动,方向会不同
沿用刚才的教学条件,从P的基坐标(950,600)出发。如果指令是沿基坐标+X移动10 mm,方向向右,终点是(960,600);如果是沿用户坐标+X移动10 mm,方向向上,终点则是(950,610)。两个“+X”属于不同参考系,不能仅比较按钮上的字母。

工具坐标的道理相同:若当前工具某轴恰好朝向基坐标的+Y,沿这个工具轴平移就会向基+Y移动。工具姿态改变后,该轴的空间方向也会改变。实际作业常把工具的某一轴定义为接近或退出方向,但究竟是哪一轴、正向朝内还是朝外,应看工具定义,不能只凭“工具Z”三个字推断。
还应分清三种动作:切换显示参考系,是改变数值表达;给出一个位移指令,才是在所选参考下要求移动;修改程序所依赖的工件参考,则可能使后续目标位置整体改变。程序点是按基坐标保存、按工件参考保存,还是按关节角保存,也会影响修改参考后的行为。
标定与复用时,怎样确认坐标关系正确
工具标定与工件参考标定解决不同问题。工具位置标定的一种常见思路,是让同一工具控制点以多种姿态对准同一个固定参考点,根据不同法兰位姿估计工具偏置。Universal Robots的TCP示教说明同时强调姿态应有足够差异,并把工具方向的确定列为另一项工作。具体点数、算法和操作步骤应使用控制器对应方法,不能把某种“三点法”或“四点法”当作所有机器人的统一流程。
建立工件参考时,通常需要明确原点和轴方向。基于平面方向点的方法,要避免相关点共线或过于接近,并核对所得轴向;否则方向估计可能不稳定或与期望相反。确认原点正确之后,还应检查沿轴方向的其他已知位置,而不是只在一个点上“对上了”就结束。
复核可以围绕实际任务展开:改变工具姿态后,选定TCP是否仍能对准同一参考点;沿工件某一轴方向的小位移,是否对应工件的正确方向;不同位置的点位误差是否一致;当前程序调用的工具和工件参考是否与标定项一致。这些观察用于定位问题,并不意味着只凭一次对点就完成所有精度验证。
例如,夹具整体移位后,若加工点确实相对于该夹具参考定义,更新参考关系可以保留局部路径的含义;但按基坐标定义的接近点、回避点或关节目标不会因此自动获得正确补偿。还应复核整段路径的可达性、关节构型和周围干涉。坐标转换正确,只说明目标表达正确,不保证机器人能按预期路径到达。
排查时可以先看偏差模式:所有点近似同向平移,优先核对参考原点及偏移;改变姿态后误差明显变化,核对TCP与工具方向;沿指定轴运动却走向另一边,核对活动参考系、轴向和姿态约定。这些是核查线索,不是仅凭现象就确定故障原因。最终应把实际工具、有效坐标数据、点位的存储参考和相应验证记录对应起来。
参考资料
- Universal Robots:Features,相对工作对象的坐标表达和运动。
- 珞石xCore:机器人基础知识,世界、基、法兰、工具、用户与工件参考的实现示例。
- Universal Robots:set_tcp定义与Teaching TCP Position,法兰偏置、工具位置与方向标定。
- Modern Robotics:Homogeneous Transformation Matrices,旋转、平移和参考变换。
评论留言
暂时没有留言!