2、坐标系基础:世界坐标系、机器人基坐标系、工具坐标系、相机坐标系、像素坐标系
做手眼标定,说白了就是搞清楚几个坐标系之间的“亲戚关系”。
我刚开始接触这个领域时,觉得坐标系这东西太抽象了。直到第一次在产线上调试,机器人抓了半天抓不到工件,才发现是坐标系搞反了。嗯,从那以后,我养成了一个习惯——动手之前,先把坐标系画清楚。
2.1 为什么需要这么多坐标系?
你想想看,机器人要抓一个杯子。杯子放在桌上,桌子在世界里,机器人的手臂有自己的“骨架”,相机看到的是像素点。每个环节都有自己的“语言”。
坐标系就是翻译官。没有它们,机器人不知道杯子在哪,相机也不知道手臂在哪。
核心逻辑:手眼标定的本质,就是求解不同坐标系之间的变换矩阵(旋转 + 平移)。
2.2 五大坐标系详解
我个人习惯把这五个坐标系分成两类:物理世界类和感知类。下面逐个拆解。
2.2.1 世界坐标系
世界坐标系是“参考系”。它固定在地面上,通常选在机器人底座、工作台角落或者房间的某个固定点。所有其他坐标系的位置,最终都要映射到它这里。
- 作用:统一全局度量,让机器人和相机知道“我在哪”。
- 单位:毫米(mm)或米(m),取决于你的应用场景。
- 我踩过的坑:曾经在一个项目里,世界坐标系原点选在了机器人底座正下方,结果每次回零都要重新标定。后来我改到工作台中心,省事多了。
2.2.2 机器人基坐标系
机器人基坐标系固定在机器人底座上。它是机器人自己的“原点”。
- Z轴:通常垂直于安装面,指向机器人上方。
- X轴:指向机器人正前方。
- Y轴:由右手定则确定。
机器人控制器里所有的运动指令,都是基于这个坐标系算出来的。你让机器人“往X方向移动100mm”,它就是在基坐标系里移动。
2.2.3 工具坐标系
工具坐标系定义在机器人末端执行器上。比如你装了一个夹爪、一个焊枪或者一个摄像头。
- 原点:工具的中心点(TCP,Tool Center Point)。
- Z轴:通常指向工具的工作方向(比如焊枪的指向)。
我记得有一次,客户换了一个加长夹爪,没更新工具坐标系。结果机器人去抓东西,每次都差5厘米。说白了,工具坐标系就是告诉机器人:“你的手长这样,别算错了。”
小技巧:标定TCP时,可以用“四点法”或“六点法”。我习惯用六点法,精度更高,尤其是工具比较长的时候。
2.2.4 相机坐标系
相机坐标系的原点在相机的光心。Z轴指向相机正前方(沿着光轴),X轴向右,Y轴向下(符合图像坐标系习惯)。
- 单位:毫米(mm)。
- 特点:这是一个3D坐标系,但相机看到的是2D图像。所以需要“投影”和“内参”来转换。
为什么相机坐标系这么重要?因为手眼标定要算的,就是相机坐标系和机器人基坐标系(或工具坐标系)之间的变换关系。
2.2.5 像素坐标系
像素坐标系是相机成像的最终结果。原点在图像左上角,u轴向右,v轴向下。单位是像素(pixel)。
- 特点:离散的、整数的。没有物理尺寸概念。
- 与相机坐标系的关系:通过内参矩阵(焦距、主点、畸变参数)进行转换。
你想想看,相机拍到的是一堆像素点。要告诉机器人“那个杯子在像素(320, 240)处”,机器人听不懂。必须先把像素坐标转成相机坐标,再转成机器人坐标。
2.3 坐标系之间的变换关系
这五个坐标系不是孤立的。它们通过“变换矩阵”串联起来。我画了一张图,帮你理清脉络。
2.4 坐标系变换的数学表达
每个变换都是一个4x4的齐次变换矩阵。它包含旋转(3x3)和平移(3x1)。
# 齐次变换矩阵示例
T = [[R11, R12, R13, tx],
[R21, R22, R23, ty],
[R31, R32, R33, tz],
[0, 0, 0, 1 ]]
# 例如:从相机坐标系到机器人基坐标系的变换
P_base = T_cam_to_base * P_cam
你想想看,一个点P在相机坐标系下是(100, 200, 300),乘以变换矩阵后,就变成了机器人基坐标系下的坐标。这就是标定的意义。
2.5 坐标系关系速查表
| 坐标系 | 原点位置 | 单位 | 维度 | 典型变换对象 |
|---|---|---|---|---|
| 世界坐标系 | 固定点(地面/工作台) | mm 或 m | 3D | 机器人基、相机 |
| 机器人基坐标系 | 机器人底座 | mm | 3D | 工具、世界 |
| 工具坐标系 | TCP(工具中心) | mm | 3D | 机器人基、相机 |
| 相机坐标系 | 相机光心 | mm | 3D | 像素、工具 |
| 像素坐标系 | 图像左上角 | pixel | 2D | 相机(通过内参) |
⚠️ 避坑指南:我曾经在一个项目里,把像素坐标系的v轴方向搞反了(以为向上为正)。结果标定出来的变换矩阵全是错的,机器人抓取偏差了20多厘米。后来花了半天才排查出来。记住:像素坐标系的v轴向下为正,这是图像处理的惯例。
2.6 小结
这五个坐标系,是手眼标定的“地基”。
- 世界坐标系:全局参考,万物归宗。
- 机器人基坐标系:机器人的“家”。
- 工具坐标系:机器人的“手”。
- 相机坐标系:相机的“眼”。
- 像素坐标系:相机看到的“画面”。