3. MOTOMAN坐标系与运动学基础

在MOTOMAN机器人的运动控制中,坐标系是描述位置与姿态的“语言”。同一台机器人,同一个物理点,在不同坐标系下会得到完全不同的数值。如果坐标系定义不清、切换关系混乱,后续的示教、轨迹规划和协调运动都会出现难以排查的偏差。本节围绕MOTOMAN常用的五类坐标系展开,说明它们的定义、切换方法,以及正逆运动学在控制器中的实现方式。

五类坐标系的定义与层级关系

MOTOMAN控制器中,位置数据通常以六维形式表示:X、Y、Z描述位置,RX、RY、RZ描述姿态。姿态的旋转顺序与各轴定义必须与控制器约定一致,否则同一组数值会对应不同姿态。常用坐标系包括:

  • 关节坐标(Joint / R1–R6):以各关节编码器脉冲或角度表示,单位通常为度或脉冲。它直接对应伺服轴,是控制器内部最底层的表示,不受工具和工件安装影响。
  • 直角坐标(Base / World):以机器人基座为原点的笛卡尔坐标。基座标原点一般位于机器人安装面中心,Z轴向上,X轴指向机器人正前方。它描述的是法兰中心点(或控制点)相对基座的位置。
  • 工具坐标(Tool / TCP):以工具末端工作点为原点的坐标,描述工具中心点(TCP)相对法兰中心的位置与姿态偏移。焊接、抓取等作业真正关心的是TCP轨迹,而不是法兰轨迹。
  • 用户坐标(User / Work):以工件或工装上的某一点为原点的坐标,用于把作业点统一到工件坐标系下。当工件发生平移或旋转时,只需修改用户坐标,程序中的点位无需逐个重示教。
  • 基座标(Base):在多机协调或外部轴场景中,用于描述机器人相对外部基准(如变位机、导轨、另一台机器人)的位置关系,是协调运动的关键参照。

这五类坐标系并非并列,而是存在明确的层级与转换链:关节角经正运动学得到基座标下的法兰位姿,再经工具坐标变换得到TCP位姿;用户坐标则把TCP位姿映射到工件坐标系中。理解这条链路,是排查“点位数值对不上”问题的前提。

MOTOMAN 坐标系层级与运动学转换链 关节坐标 R1–R6(度/脉冲) 伺服轴直接对应 正运动学 FK 关节角 → 位姿 基座标 Base 法兰位姿 X,Y,Z,RX,RY,RZ 原点:安装面中心 工具坐标 Tool TCP 相对法兰偏移 焊接/抓取工作点 用户坐标 User 工件/工装原点 作业点统一参照 逆运动学 IK 位姿 → 关节角 工具变换 用户变换 逆解回代 切换原则:作业点以用户坐标示教 → 控制器按 用户→工具→基座→关节 反解 → 伺服执行;修改工件位置只需更新用户坐标。

坐标系切换方法与操作要点

在示教器上切换坐标系,通常通过坐标键或功能菜单选择。以MOTOMAN典型示教器为例,按坐标键可在“关节—直角—工具—用户”之间循环,屏幕右上角会显示当前坐标系名称。切换时需要注意三点:

  1. 切换不改变机器人当前姿态,只改变手动进给时各轴的运动解释方式。例如在直角坐标下按X+,机器人沿基座X方向直线移动;在关节坐标下按X+,则对应R1轴单独旋转。
  2. 工具坐标与用户坐标必须先标定。未标定的工具号(如TOOL01)其TCP偏移为零,此时工具坐标与法兰坐标重合,容易造成“看起来切了但没效果”的误解。
  3. 用户坐标切换后,程序中的点位数值含义随之改变。同一组X、Y、Z,在USER01和USER02下对应不同的物理位置。因此程序头部应明确记录所用用户坐标号。
标定工具坐标常用五点法或六点法:让TCP以不同姿态触碰同一基准点,控制器据此解算TCP相对法兰的偏移量。标定用户坐标常用三点法:示教原点、X方向点、Y方向点,控制器据此建立工件坐标系。

正逆运动学在MOTOMAN中的实现

正运动学(FK)解决“已知六个关节角,求法兰或TCP位姿”。MOTOMAN控制器内部依据DH参数或改进DH参数,逐级计算相邻连杆变换矩阵,最终得到基座标下的位姿。对于使用者而言,正运动学通常不直接参与编程,但它决定了示教器上直角坐标数值的来源。

逆运动学(IK)解决“已知目标位姿,求六个关节角”。这是轨迹规划的核心。MOTOMAN六轴串联机器人一般存在多组逆解,控制器需要根据关节限位、奇异回避和当前姿态选择最合适的一组。实际编程中,以下情况会触发逆解失败或报警:

  • 目标点超出机器人工作空间;
  • 目标姿态接近腕部奇异(R5接近0°),导致解算不稳定;
  • 目标点虽在工作空间内,但无满足关节限位的解;
  • 工具坐标或用户坐标标定错误,使目标位姿本身不合理。

在MOTOMAN的INFORM语言中,常用 MOVJ 和 MOVL 两种插补指令。MOVJ在关节空间插补,控制器直接对关节角做平滑过渡,不保证TCP走直线;MOVL在直角空间插补,控制器对路径点做逆解,使TCP沿直线运动。理解这一点,就能解释为什么同一段程序改用MOVL后,某些中间点会报“超出工作空间”——因为直线路径上的中间位姿也需要逐点逆解。

‘ MOTOMAN INFORM 示例:工具与用户坐标切换
TOOL 01                    ‘ 选用已标定的工具坐标
USER 02                    ‘ 选用已标定的用户坐标
MOVJ P001 VJ=50.0          ‘ 关节插补到P001
MOVL P002 V=200.0          ‘ 直线插补到P002,TCP走直线
MOVL P003 V=200.0
TOOL 00                    ‘ 切回法兰坐标
USER 00                    ‘ 切回基座标

上述示例中,P001、P002、P003的数值是在TOOL01、USER02下示教得到的。若把USER改为00而点位不变,机器人会跑到完全不同的位置。因此,程序移植或复制时,必须同步核对工具号和用户号。

一个可复用的坐标系检查清单

当出现“点位偏移”“姿态不对”“逆解报警”时,可按以下顺序排查,避免盲目重示教:

检查项确认内容常见异常
工具号程序TOOL号与标定号一致用了TOOL00,TCP偏移为零
用户号程序USER号与工件装夹一致工件移动后未更新USER
姿态约定RX/RY/RZ旋转顺序与控制器一致外部导入点位姿态翻转
关节限位目标点各轴在软限位内接近限位导致逆解无解
奇异点R5远离0°,腕部不共线直线路径经过奇异区

把这张清单与前面的转换链图结合使用:先确认工具、用户坐标是否正确,再判断位姿是否合理,最后检查逆解是否存在。多数坐标系相关问题,都能在前两步定位到原因,而不需要重新标定全部点位。