第三章 坐标系与力的表示:世界坐标系、工具坐标系、基坐标系;力的矢量表示与变换
好,咱们进入第三章。这一章讲的是坐标系和力的表示,听起来有点抽象,但它是力控系统的“地基”。
我刚开始接触协作机器人那会儿,总觉得坐标系这东西就是个数学概念,跟实际调试关系不大。直到有一次,我在现场装了一台六轴机器人,末端装了个打磨头。程序写好了,一运行,机器人直接往工件上怼——力传感器报错,差点把夹具干废。排查了半天,发现是工具坐标系没设对,力反馈的方向全反了。
嗯,从那以后,我再也不敢小看坐标系了。
3.1 三种核心坐标系
协作机器人里,我们打交道最多的就是三个坐标系:世界坐标系、基坐标系、工具坐标系。说白了,它们就是机器人感知和运动的“参考框架”。
3.1.1 世界坐标系
世界坐标系是全局的、固定的参考系。它通常定义在机器人工作空间的某个角落,比如工作台的一个角,或者房间的地面中心。
- 特点:一旦定义,就不随机器人移动而改变。
- 用途:多台机器人协同、视觉系统标定、外部传感器融合时,都用世界坐标系作为统一基准。
- 我个人的习惯:在项目初期,先把世界坐标系固定在工作台的一个角,用激光测距仪标定好。这样后面所有坐标转换都基于这个“锚点”,省心很多。
3.1.2 基坐标系
基坐标系固定在机器人底座上。它的原点通常在底座安装面的中心,Z轴垂直向上,X轴指向机器人前方。
- 特点:随机器人底座移动(如果机器人被重新安装),但相对于机器人本体是固定的。
- 用途:机器人运动学计算、关节角度控制、示教编程时,默认使用的就是基坐标系。
- 避坑指南:我曾经遇到一个项目,机器人底座没固定好,安装时歪了2度。结果所有基于基坐标系的轨迹都偏了,打磨出来的工件全是废品。所以,安装底座时一定要用水平仪校准。
3.1.3 工具坐标系
工具坐标系定义在机器人末端执行器上。它的原点通常在工具的中心点(TCP,Tool Center Point),比如焊枪的尖端、夹爪的中心、打磨头的接触点。
- 特点:随末端工具移动和旋转。
- 用途:力控操作、精密装配、焊接、打磨等任务,都需要精确的工具坐标系。
- 为什么重要?:你想想看,如果工具坐标系没设对,你告诉机器人“沿着Z轴方向施加10N的力”,结果它施加的方向是歪的,那力控就完全失控了。
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是旧坐标系原点在新坐标系中的位置矢量,×表示叉乘。
在实际项目中,我经常需要把传感器测得的力(在传感器坐标系下)转换到工具坐标系下。比如,传感器装在法兰盘上,但工具是加长的打磨头。这时候就需要做两步变换:
- 传感器坐标系 → 法兰盘坐标系(旋转+平移)
- 法兰盘坐标系 → 工具坐标系(旋转+平移)
你想想看,如果这两步变换的矩阵算错了,力控反馈就是错的,机器人会乱动。我曾经就因为一个旋转矩阵的符号写反了,导致机器人往反方向补偿力,差点把工件压碎。
3.4 知识体系结构图
下面这张图,我画了本章的核心逻辑。你可以把它当作一个“地图”,以后遇到坐标系相关的问题,先看这张图定位。
3.5 实战中的坐标系选择策略
在实际编程中,你需要在不同坐标系下切换。我总结了一个简单的选择原则:
| 任务类型 | 推荐坐标系 | 原因 |
|---|---|---|
| 全局路径规划 | 世界坐标系 | 多机器人协同、避障 |
| 关节运动控制 | 基坐标系 | 运动学计算方便 |
| 力控打磨/装配 | 工具坐标系 | 力反馈方向与工具方向一致 |
| 视觉引导抓取 | 世界坐标系 | 视觉系统通常标定在世界坐标系下 |
3.6 本章小结
这一章我们讲了三个核心坐标系:世界、基、工具。它们各有各的用途,但力控系统里,工具坐标系是重中之重。力的矢量表示是六维的,变换靠旋转矩阵和平移向量。记住,坐标系没设对,力控就是空中楼阁。
嗯,下一章我们会讲力传感器的选型和安装,到时候会用到今天讲的坐标系知识。先消化好这些,后面就顺了。