工业机器人基础:五大核心坐标系

举报
unTymen 发表于 2026/04/18 22:56:27 2026/04/18
【摘要】 任务场景变换 TF Tree机器人本体变换 TF Tree正运动学 (FK)连杆运动工具偏置 (Offset)零件安放偏移局部特征坐标底座安装位置工作台/导轨位置运动控制终极目标:TCP 精准对齐目标点🗜️ 用户坐标系User Frame📦 工件坐标系 {O}Work Object🎯 目标路径点Target Point🤖 基坐标系 {B}Base Frame⚙️ 关节坐标系 {J}J...
任务场景变换 TF Tree
机器人本体变换 TF Tree
正运动学 (FK)
连杆运动
工具偏置 (Offset)
零件安放偏移
局部特征坐标
底座安装位置
工作台/导轨位置
运动控制终极目标:
TCP 精准对齐目标点
🗜️ 用户坐标系
User Frame
📦 工件坐标系 {O}
Work Object
🎯 目标路径点
Target Point
🤖 基坐标系 {B}
Base Frame
⚙️ 关节坐标系 {J}
Joints (θ1...θn)
🔗 法兰坐标系 {E}
End-Effector
🪛 工具坐标系 {T}
TCP (Tool Center Point)
🌍 大地坐标系 {W}
World Frame

大地坐标系/世界坐标系

大地坐标系是一个固定不动的坐标系。在机器人运动过程中,机器人本体的坐标系会随之移动和转动,但大地坐标系始终保持静止。

  • 符号表示: 通常记作 {W}\{W\}{Ow}\{O_w\}
  • 坐标原点: 一般选在工作站的基座中心、工厂地面的某一个固定角点,或者地图上的起始位置。
  • 坐标轴方向:
    • 通常遵循右手定则(Right-hand Rule)
    • 在室外移动机器人(如无人机、无人车)中,常采用 东北天(ENU)北东地(NED) 坐标系。

基坐标系

基坐标系是机器人运动描述的起点。对于一台工业机器人来说,无论它的机械臂如何旋转、伸展,基坐标系的原点和轴向都是相对于机器人底座保持不动的。

  • 符号表示: 通常记作 {B}\{B\}{O0}\{O_0\}
  • 原点位置: 绝大多数情况下,原点位于机器人第一根轴(J1轴)与安装底面的交点中心。
  • 轴向:
    • Z轴: 通常重合于机器人第一关节的旋转轴线,指向正上方。
    • X轴: 通常指向机器人正前方(参考出厂预设)。
    • Y轴: 根据右手定则确定。

工具坐标系

工具坐标系是安装在机器人末端法兰盘上的坐标系。它随着机器人的运动而实时运动,主要用于描述**工具中心点(Tool Center Point, TCP)**的位置和姿态。

  • 符号表示: 通常记作 {T}\{T\}{TCP}\{TCP\}
  • 坐标原点(TCP): 通常位于工具的执行点(如焊枪的尖端、吸盘的中心、夹爪的指尖中心)。
  • 轴向定义:
    • Z轴: 通常定义为工具的工作方向(如钻头的轴线、激光射出的方向)。
    • X/Y轴: 根据右手定则及工具的对称性来定义,用于描述工具的旋转角度(姿态)。

如果没有工具坐标系,机器人只知道自己的“手腕”(法兰盘中心)在哪,而不知道它手里拿的“工具尖端”在哪。

  • A. 轨迹控制

    • 当你要求机器人绕着一个圆孔进行打磨时,你需要控制的是打磨头的尖端走圆周运动,而不是手腕中心走圆周运动。通过设定 TCP,控制器可以自动计算关节运动,使工具尖端保持在预定轨迹上。
  • B. 姿态调整(重定位运动)

    • 这是工具坐标系最神奇的地方。定义好 TCP 后,你可以让机器人绕着工具尖端进行“旋转”。

    • 例子: 焊枪尖端顶在焊缝上不动,机械臂在后方摆动以寻找最佳焊接角度。这时,TCP 点在空间中是静止的,这被称为重定位运动(Reorientation)

  • C. 更换工具的灵活性

    • 如果你从一把长 10cm 的焊枪换成一把长 20cm 的焊枪,你不需要重新编写所有运动程序。你只需要更新工具坐标系的偏移量(Offset),原有的程序逻辑依然适用。

在实际工程中,工具的几何中心往往很难通过肉眼对准。最常用的标定方法是 “四点法”或“六点法”

  1. 找一个基准点: 在工作台上放一根针或者定一个尖锐的固定点。
  2. 四点标定: 操控机器人,用工具的尖端从四个不同的姿态(角度)去触碰这同一个固定点。
  3. 算法求解: 机器人控制器会根据这四个点在基坐标系下的坐标,利用几何推导计算出工具尖端相对于法兰盘中心的 X、Y、Z 偏移量。

工具坐标系 {T}\{T\} 是相对于机器人末端法兰盘坐标系 {E}\{E\}(End-effector)定义的。

ETT^E T_T 为工具相对于法兰盘的变换矩阵(包含平移和旋转),那么工具在大地坐标系 {W}\{W\} 下的位姿为:

WTT=WTBBTEETT^W T_T = ^W T_B \cdot ^B T_E \cdot ^E T_T

  • WTB^W T_B: 底座相对于大地的位置。
  • BTE^B T_E: 机械臂正运动学算出来的手腕位置。
  • ETT^E T_T: 你标定好的工具偏移量。

工件坐标系-用户坐标系

你可以把用户坐标系看作是一个“大容器”,而工件坐标系是里面的“具体内容”。

  • 用户坐标系 (User Frame / User CS): 通常定义的是工作台、导轨或大型设备相对于机器人基座的位置。
  • 工件坐标系 (Work Object / Object Frame): 定义的是具体零件相对于用户坐标系的位置。

数学公式表达:

基座用户坐标系工件坐标系目标路径点基座 \rightarrow 用户坐标系 \rightarrow 工件坐标系 \rightarrow 目标路径点

设想你在一个大的自动化流水线上:

  1. 用户坐标系: 你定义了整个“传送带”的位置。如果传送带整体挪动了,你只需要修改这个 User Frame。
  2. 工件坐标系: 传送带上跑着不同的零件(比如 A 型手机壳和 B 型手机壳)。虽然传送带没动,但零件放的角度变了,你只需要修改对应的 Object Frame。

这种“嵌套”结构让你在处理复杂场景(比如移动机器人底座载着一个机械臂去操作不同桌子上的物体)时,逻辑非常清晰。

工件坐标系是建立在被加工工件(或工作台)上的坐标系。它定义了工件相对于机器人基座或大地坐标系的位置和姿态。

  • 符号表示: 通常记作 {O}\{O\}{Wobj}\{Wobj\}
  • 原点位置: 通常选在工件的一个特征角点(如零件的左下角)。
  • 轴向定义: 通常 X 轴和 Y 轴与工件的边缘平行。

这是工业机器人编程中最实用的功能之一,其核心优势在于**“逻辑与物理的分离”**。

  • A. 简化编程(点位直观)

    • 假设你要在一个倾斜 30° 的桌面上画一个正方形。

    • 没有工件坐标系: 你需要计算每个顶点的三维空间坐标(X, Y, Z 全都在变)。

    • 有了工件坐标系: 你只需把坐标系建立在桌面上。在程序里,你只需写 (0,0), (100,0), (100,100), (0,100)。至于桌面是怎么斜的,交给控制器去补偿。

  • B. 整体偏移(一键修模)

    • 如果工件在工作台上的位置挪动了 5 厘米,或者这批零件的安放角度偏了 2°:

    • 不需要更改程序里的成百上千个路径点。

    • 你只需重新标定工件坐标系(更新它的原点位置和旋转角度),所有的运动轨迹会自动跟着工件“跑”到新位置。

  • C. 离线编程(Digital Twin)

    • 你在电脑上(如 RobotStudio 或 Gazebo)模拟好了一套抓取动作,导出的坐标是相对于 CAD 模型原点的。当程序导入实机时,只要在物理工件上定义好同名的工件坐标系,仿真动作就能完美复现。

工件坐标系通常由两个部分嵌套而成:

  1. 用户坐标系 (User Frame): 相对于基座(比如定义工作台的位置)。
  2. 对象坐标系 (Object Frame): 相对于用户坐标系(比如定义工作台上具体零件的位置)。

数学变换公式:

BTT=BTWWTOOP^B T_T = ^B T_W \cdot ^W T_{O} \cdot ^{O} P

其中 BTW^B T_W 是基座到工件坐标系的变换。

关节坐标系

关节坐标系是用来描述机器人**每一个独立关节(电机)**运动状态的参考系。

  • 变量表示: 通常用向量 θ=[θ1,θ2,θ3,,θn]\theta = [\theta_1, \theta_2, \theta_3, \dots, \theta_n] 表示。
  • 坐标原点: 每个关节的零位(Zero Position)。这通常是机器人出厂标定时定义的机械原点。
  • 单位:
    • 旋转关节(Revolute): 度(°)或弧度(rad)。
    • 移动关节(Prismatic): 毫米(mm)或米(m)。

关节坐标系与空间坐标系的互换是所有算法的基础:

  • 正运动学(Forward Kinematics, FK): 已知所有关节的角度 [θ1θn][\theta_1 \dots \theta_n] \rightarrow 计算出末端 TCP 在基坐标系下的位置 [x,y,z][x, y, z]

    这就像:我知道我肩膀、手肘、手腕转了多少度,算出我指尖在哪个坐标上。

  • 逆运动学(Inverse Kinematics, IK): 已知末端 TCP 要去的坐标 [x,y,z][x, y, z] \rightarrow 反求出各个电机需要转多少度 [θ1θn][\theta_1 \dots \theta_n]

    这是 VLA 或运动规划中最难的部分,往往涉及复杂的三角函数或数值迭代。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。