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典型示教器为例,按坐标键可在“关节—直角—工具—用户”之间循环,屏幕右上角会显示当前坐标系名称。切换时需要注意三点:
- 切换不改变机器人当前姿态,只改变手动进给时各轴的运动解释方式。例如在直角坐标下按X+,机器人沿基座X方向直线移动;在关节坐标下按X+,则对应R1轴单独旋转。
- 工具坐标与用户坐标必须先标定。未标定的工具号(如TOOL01)其TCP偏移为零,此时工具坐标与法兰坐标重合,容易造成“看起来切了但没效果”的误解。
- 用户坐标切换后,程序中的点位数值含义随之改变。同一组X、Y、Z,在USER01和USER02下对应不同的物理位置。因此程序头部应明确记录所用用户坐标号。
正逆运动学在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°,腕部不共线 | 直线路径经过奇异区 |
把这张清单与前面的转换链图结合使用:先确认工具、用户坐标是否正确,再判断位姿是否合理,最后检查逆解是否存在。多数坐标系相关问题,都能在前两步定位到原因,而不需要重新标定全部点位。