机器人坐标系——工具坐标、用户坐标系标定

本文深入探讨了机器人坐标系变换的原理与应用,包括基坐标系、工具坐标系及用户坐标系的标定方法,详细解析了六点法、四点法及三点法的数学模型与实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

坐标系变换方程

   如果有n个未知变换和n个变换方程,这个变换可由变换方程解出。例如:图1中变换TBT{^B_T}TTBT描述了操作臂指向的坐标系{T},它是相对于操作臂基座的坐标系{B}的,又已知工作台相对于操作臂基座的空间位置SBT{^B_S}TSBT,并且已知工作台上螺栓的坐标系相对于工作台坐标系的位置,即GST{^S_G}TGST,计算螺栓相对于操作手的位置,GTT{^T_G}TGTT

   由公式推导,得到相对于操作手坐标系的螺栓坐标系为:GTT{^T_G}TGTT=TBT−1{^B_T}T^{-1}TBT1SBT{^B_S}TSBT GST{^S_G}TGST

基坐标系{B}

  基坐标系{B}位于操作臂的基座上。它仅是赋予坐标系{0}的另一个名称。

工具坐标系{T}

  工具坐标系{T}附于机器人所夹持的工具末端。
工具坐标系6点法标定
  机器人末端坐标系 {E}相对于机器人基坐标系{B}的变换关系为EBT{^B_E}TEBT; 工具坐标系 {T}相对于末端坐标系 {E}的变换关系为TET{^E_T}TTET; 工具坐标系 {T}相对于基坐标 {B}的变换关系为TBT{^B_T}TTBT; 三者的转换关系为:EBT{^B_E}TEBT ⋅\cdot TET{^E_T}TTET =TBT{^B_T}TTBT
  采用四点法标定TCP如图所示,标定 TCP的4个位置,4 点之间各差90度且不能在一个平上。EBRi{^B_E}R_iEBRi分别为机器人末端坐标系 4 个点的旋转矩阵;BPEi{^B}P_{Ei}BPEi分别为机器人末端坐标系 4 个点的位置矢量; TBR{^B_T}RTBR为工具的旋转矩阵;EPT{^E}P_{T}EPT为工具的位置矢量;TBRi{^B_T}R_iTBRi分别为工具坐标系末端4个点的旋转矩阵;BPT{^B}P_{T}BPT为工具坐标系末端的位置矢量。因 4 个不同位姿下工具坐标系在基坐标系的位置不变,即BPTx{^B}P_{Tx}BPTxBPTy{^B}P_{Ty}BPTyBPTz{^B}P_{Tz}BPTz为定值;TER{^E_T}RTEREPT{^E}P_{T}EPT各个参数不变也为定值。

可以得到:

[TBR1−TBR2TBR2−TBR3TBR3−TBR4]⋅[EPTxEPTyEPTz]=[BPEx2−BPEx1BPEy2−BPEy1BPEz2−BPEz1BPEx3−BPEx2⋮BPEz4−BPEz3]\begin{bmatrix} {^B_T}R_1- {^B_T}R_2\\ {^B_T}R_2- {^B_T}R_3\\{^B_T}R_3- {^B_T}R_4\\ \end{bmatrix}\cdot\begin{bmatrix} {^E}P_{Tx} \\{^E}P_{Ty}\\{^E}P_{Tz}\\ \end{bmatrix}=\begin{bmatrix} {^B}P_{Ex2}- {^B}P_{Ex1}\\ {^B}P_{Ey2}- {^B}P_{Ey1}\\{^B}P_{Ez2}- {^B}P_{Ez1}\\{^B}P_{Ex3}- {^B}P_{Ex2} \\ \vdots\\{^B}P_{Ez4}- {^B}P_{Ez3} \end{bmatrix}TBR1TBR2TBR2TBR3TBR3TBR4EPTxEPTyEPTz=BPEx2BPEx1BPEy2BPEy1BPEz2BPEz1BPEx3BPEx2BPEz4BPEz3

  式中包含 EPx{^E}P_{x}EPxEPy{^E}P_{y}EPyEPz{^E}P_{z}EPz 3个未知量,系数为9×3的矩阵。因为系数矩阵不是方阵,不可直接求逆,因此使用广义逆矩阵,采用高斯消元求解。
  计算出工具坐标系的位置后,还需要标定计算TCP的姿态。TCP姿态采用 z/x 方向标定,此过程保持TCP的姿态不变。将位置标定点 P4P_{4}P4作为第 1个 TCP姿态标定点,示教机器人沿+X 方向至少移动250mm后作为第 2个标定点P5P_{5}P5 ; 然后回到第 1个标定点示教机器人沿 +Z方向移动至少250mm作为第3个标定点P6P_{6}P6

  因为3个标定点的姿态保持不变,可得EBRi{^B_E}R_iEBRi 都相等。因为第1个姿态标定点与第2 个标定点( 沿 +X 方向) 之间的向量关系也就是工具坐标系沿+X 方向的向量,因此得到工具坐标系 T 的 X 轴轴向向量:
X=[BP5Ex−BP4ExBP5Ey−BP4EyBP5Ez−BP4Ez]X=\begin{bmatrix} {^B}P_{5Ex}- {^B}P_{4Ex}\\ {^B}P_{5Ey}- {^B}P_{4Ey}\\{^B}P_{5Ez}- {^B}P_{4Ez} \end{bmatrix}X=BP5ExBP4ExBP5EyBP4EyBP5EzBP4Ez
  相似地,根据第1个姿态标定点与第 3个标定点( 沿+Z 方向) 之间的向量关系,由此可以得到工具坐标系T 的 Z 轴轴向向量:
Z=[BP6Ex−BP4ExBP6Ey−BP4EyBP6Ez−BP4Ez]Z=\begin{bmatrix} {^B}P_{6Ex}- {^B}P_{4Ex}\\ {^B}P_{6Ey}- {^B}P_{4Ey}\\{^B}P_{6Ez}- {^B}P_{4Ez} \end{bmatrix}Z=BP6ExBP4ExBP6EyBP4EyBP6EzBP4Ez
  同理Y轴轴向向量由右手定则可得:Y=Z×X再对Z=X×Y 进行计算,以保证坐标系矢量的正交性。
  得到每个轴的轴向向量之后,对其进行单位化操作,得到工具坐标 T 相对于基坐标 B 的姿态,左乘末端坐标系 E 旋转矩阵的逆,求出工具坐标系的旋转矩阵TER{^E_T}RTER=EBR−1{^B_E}R^{-1}EBR1TBR{^B_T}RTBR

用户坐标系{U}

  用户坐标系{U}即,用户自定义坐标系;机器人可以和不同的工作台或夹具配合工作, 在每个工作台上建立一个用户坐标系。
用户坐标系有原点三点标定
(1)示教第一个点为用户坐标系原点O
(2)在xyz任意轴上示教一点,例如X轴示教一点PxP_xPx,则用户坐标系x轴单位向量为n=(PxP_xPx-O)/norm(PxP_xPx-O)
(3)在剩余两轴上示教一点,例如Y轴示教一点PyP_yPy,则用户坐标系y轴单位向量为o=(PyP_yPy-O)/norm(PyP_yPy-O)
(4)计算得到则用户坐标系z轴单位向量a=n×o

即,建立好的用户坐标系为(在基坐标系下的描述):
UBU=[nxoxaxOxnyoyayOynzozazOz0001]{^B_U}U=\begin{bmatrix} n_x&o_x&a_x &O_x\\ n_y&o_y&a_y&O_y\\n_z&o_z&a_z&O_z\\0&0&0&1 \end{bmatrix}UBU=nxnynz0oxoyoz0axayaz0OxOyOz1
  这样我们就在基坐标系{B}下,建立了一个用户坐标系{U},在用户坐标系下测量工作空间内各点位置,更方便记录描述参数,符合人的直观。在基坐标系下的点BP^BPBP与用户坐标系下的点UP^UPUP关系为:BP^BPBP=UBU{^B_U}UUBU UP^UPUP

### 工具坐标系标定方法 工具坐标系(Tool Coordinate System, TCP)的标定机器人操作中的重要环节之一。它用于定义工具相对于机器人末端执行器的具体位置和方向。以下是几种常见的工具坐标系标定方法及其应用: #### 1. **基于六点法的标定** 六点法是最常用的工具坐标系标定方法之一,适用于大多数工业机器人品牌,如 ABB、KUKA 和 FANUC 等。此方法通过让工具接触六个不同的已知点来计算其相对位置和方向。 - 用户需手动移动机器人的末端使工具触碰预先设置好的目标点。 - 这些点通常分布在空间的不同区域,以便更准确地确定工具的姿态和位置[^2]。 ```python def six_point_calibration(points): """ 使用六点法进行工具坐标系标定 :param points: 列表形式输入的六个点的空间坐标 :return: 计算得出的TCP坐标参数 """ import numpy as np tcp_position = np.mean(np.array(points[:3]), axis=0) # 坐标均值作为TCP位置 orientation_vector = (np.array(points[-1]) - np.array(points[0])) / \ np.linalg.norm(np.array(points[-1]) - np.array(points[0])) return {"position": list(tcp_position), "orientation": list(orientation_vector)} ``` #### 2. **利用视觉系统的标定** 视觉系统可以通过摄像头捕捉工具的位置并自动完成标定过程。这种方法减少了人为误差,并能实现更高的精度。 - 配合线结构光或其他类型的传感器,能够快速获取工具尖端的确切位置[^4]。 - 结合图像处理算法识别工具特征点,从而推导出工具坐标系机器人末端之间的转换关系[^5]。 #### 3. **三点法或四点法简化版** 对于某些特定场景下的简单工具,可能只需要较少数量的目标点即可完成标定工作。例如,在平面内的直线运动情况下,仅需三个不共线的点便足以描述整个变换矩阵[^3]。 #### 4. **软件辅助自动化流程** 现代工业机器人控制系统往往内置了专门的功能模块支持一键式TCP校准向导功能。操作员只需按照提示逐步执行相应动作序列便可轻松达成目的而无需深入理解背后复杂的数学运算逻辑[^1]。 --- ### 注意事项 - 不同品牌的机器人可能会有不同的命名约定以及具体实施细节上的差异,请参照对应厂商的技术文档进一步学习掌握实际操作技巧。 - 如果涉及到高精密作业场合,则建议采用更高阶的专业设备配合多视角摄像机阵列等方式来进行更为细致全面的数据采集分析以提升最终效果质量标准水平。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值