第三章 坐标系与力的表示:世界坐标系、工具坐标系、基坐标系;力的矢量表示与变换

好,咱们进入第三章。这一章讲的是坐标系和力的表示,听起来有点抽象,但它是力控系统的“地基”。

我刚开始接触协作机器人那会儿,总觉得坐标系这东西就是个数学概念,跟实际调试关系不大。直到有一次,我在现场装了一台六轴机器人,末端装了个打磨头。程序写好了,一运行,机器人直接往工件上怼——力传感器报错,差点把夹具干废。排查了半天,发现是工具坐标系没设对,力反馈的方向全反了。

嗯,从那以后,我再也不敢小看坐标系了。

3.1 三种核心坐标系

协作机器人里,我们打交道最多的就是三个坐标系:世界坐标系基坐标系工具坐标系。说白了,它们就是机器人感知和运动的“参考框架”。

3.1.1 世界坐标系

世界坐标系是全局的、固定的参考系。它通常定义在机器人工作空间的某个角落,比如工作台的一个角,或者房间的地面中心。

  • 特点:一旦定义,就不随机器人移动而改变。
  • 用途:多台机器人协同、视觉系统标定、外部传感器融合时,都用世界坐标系作为统一基准。
  • 我个人的习惯:在项目初期,先把世界坐标系固定在工作台的一个角,用激光测距仪标定好。这样后面所有坐标转换都基于这个“锚点”,省心很多。
小提示:世界坐标系的原点最好选在机器人工作空间的几何中心附近,这样数值范围对称,计算不容易溢出。

3.1.2 基坐标系

基坐标系固定在机器人底座上。它的原点通常在底座安装面的中心,Z轴垂直向上,X轴指向机器人前方。

  • 特点:随机器人底座移动(如果机器人被重新安装),但相对于机器人本体是固定的。
  • 用途:机器人运动学计算、关节角度控制、示教编程时,默认使用的就是基坐标系。
  • 避坑指南:我曾经遇到一个项目,机器人底座没固定好,安装时歪了2度。结果所有基于基坐标系的轨迹都偏了,打磨出来的工件全是废品。所以,安装底座时一定要用水平仪校准。

3.1.3 工具坐标系

工具坐标系定义在机器人末端执行器上。它的原点通常在工具的中心点(TCP,Tool Center Point),比如焊枪的尖端、夹爪的中心、打磨头的接触点。

  • 特点:随末端工具移动和旋转。
  • 用途:力控操作、精密装配、焊接、打磨等任务,都需要精确的工具坐标系。
  • 为什么重要?:你想想看,如果工具坐标系没设对,你告诉机器人“沿着Z轴方向施加10N的力”,结果它施加的方向是歪的,那力控就完全失控了。
注意:工具坐标系标定是力控系统调试的第一步。我建议用“四点法”或“六点法”进行标定,精度至少达到0.1mm和0.1度。别偷懒,这一步省了,后面全是坑。

3.2 力的矢量表示

力是矢量,有大小和方向。在机器人力控中,我们通常用六维力矢量来表示:三个力分量(Fx, Fy, Fz)和三个力矩分量(Tx, Ty, Tz)。

举个例子,你在末端施加一个向下的力,同时有一个绕Z轴的扭转力矩。那么力矢量就是:

F = [Fx, Fy, Fz, Tx, Ty, Tz]

其中:

  • Fx, Fy, Fz:沿X、Y、Z轴的力,单位牛顿(N)
  • Tx, Ty, Tz:绕X、Y、Z轴的力矩,单位牛米(Nm)

我记得有一次调试力控打磨,传感器读数一直有偏差。排查了半天,发现是力矩分量Tz没清零,导致机器人以为有扭转力,一直在调整姿态。所以,每次开始力控任务前,记得做零点偏移补偿

3.3 力的坐标变换

力在不同坐标系之间是可以转换的。核心公式很简单:

F_new = R * F_old

其中R是旋转矩阵,表示从旧坐标系到新坐标系的旋转变换。

力矩的变换稍微复杂一点,因为还涉及位置偏移:

T_new = R * T_old + p × (R * F_old)

这里p是旧坐标系原点在新坐标系中的位置矢量,×表示叉乘。

重点:力是“自由矢量”,平移不改变力的方向,但旋转会改变。力矩是“绑定矢量”,平移和旋转都会改变。

在实际项目中,我经常需要把传感器测得的力(在传感器坐标系下)转换到工具坐标系下。比如,传感器装在法兰盘上,但工具是加长的打磨头。这时候就需要做两步变换:

  1. 传感器坐标系 → 法兰盘坐标系(旋转+平移)
  2. 法兰盘坐标系 → 工具坐标系(旋转+平移)

你想想看,如果这两步变换的矩阵算错了,力控反馈就是错的,机器人会乱动。我曾经就因为一个旋转矩阵的符号写反了,导致机器人往反方向补偿力,差点把工件压碎。

3.4 知识体系结构图

下面这张图,我画了本章的核心逻辑。你可以把它当作一个“地图”,以后遇到坐标系相关的问题,先看这张图定位。

坐标系与力的表示 - 知识体系 世界坐标系 基坐标系 工具坐标系 力的矢量表示 六维力矢量:[Fx, Fy, Fz, Tx, Ty, Tz] 力的坐标变换 F_new = R * F_old | T_new = R * T_old + p × (R * F_old) 实际应用:力控打磨、装配、焊接、力反馈控制

3.5 实战中的坐标系选择策略

在实际编程中,你需要在不同坐标系下切换。我总结了一个简单的选择原则:

任务类型 推荐坐标系 原因
全局路径规划 世界坐标系 多机器人协同、避障
关节运动控制 基坐标系 运动学计算方便
力控打磨/装配 工具坐标系 力反馈方向与工具方向一致
视觉引导抓取 世界坐标系 视觉系统通常标定在世界坐标系下
我的经验:在力控任务中,尽量在工具坐标系下做力控制。因为力传感器装在末端,它的读数天然就是工具坐标系下的。如果非要在基坐标系下做力控,就需要做坐标变换,多一步计算,也多个出错的可能。

3.6 本章小结

这一章我们讲了三个核心坐标系:世界、基、工具。它们各有各的用途,但力控系统里,工具坐标系是重中之重。力的矢量表示是六维的,变换靠旋转矩阵和平移向量。记住,坐标系没设对,力控就是空中楼阁。

嗯,下一章我们会讲力传感器的选型和安装,到时候会用到今天讲的坐标系知识。先消化好这些,后面就顺了。


专注资料整理