[手眼标定]二维平面的非旋转标定 - 2.眼在手上
二维平面的非旋转标定:眼在手上
相机装在机器人末端,机器人移动到产品附近拍照,再根据图像计算取料位置。这种结构在吸取、点胶、检测和精密对位工位中非常常见。
如果相机始终保持同一拍照高度和同一姿态,只随机器人做平面平移,系统可以使用一个非常实用的二维模型。它不必先恢复完整的三维相机外参,却必须正确处理一个问题:相机移动以后,图像坐标原点也跟着移动。
在上一篇《二维平面的非旋转标定:眼在手外》中,相机固定,一个像素点可以通过固定映射转换成机器人平面坐标。本篇相机随机器人移动,同一个像素点不再唯一对应某个机器人绝对位置;运行时必须把曝光时的机器人实际位置一起带入计算。
本文从一个具体取料工位出发,逐步讨论几何模型、九点采样、符号方向、仿射与单应性、绝对定位、反向示教、视觉对中、数值实现、精度验收和适用边界。文中的数值为自洽的教学合成数据,不代表设备实测精度。
1. 从“移动相机寻找产品”开始
1.1 一个典型的取料工位
机器人末端同时安装相机和吸嘴。相机朝向工作台,产品放在固定高度的平面上。机器人先到拍照位置,视觉识别产品圆心,随后吸嘴移动到圆心上方取料。
设机器人第一次拍照时的平面位置为:
某个固定标记恰好出现在参考像素:
现在让机器人向 X 正方向移动 10 mm,相机也向 X 正方向移动 10 mm,而标记没有移动。若图像横轴与机器人 X 轴近似同向,标记通常会在图像中向左移动。
这里已经出现了与固定相机不同的符号关系:
- 固定相机、移动标记:标记的物理运动产生图像运动;
- 移动相机、固定标记:相机运动产生反方向的相对运动。
“向左”只是这个安装例子的直观描述。实际设备可能有轴旋转、镜像和交叉耦合,最终应由矩阵和单轴实验确定方向。

图1:标记在工作台上保持固定,相机从位置 A 移到位置 B。变化的是标记相对于相机的位置,不能把图像位移直接当成产品的绝对位移。
1.2 为什么一个固定的像素到绝对坐标矩阵不够
设两次拍照都在图像中心检测到产品。第一次相机位于工作台左侧,第二次位于工作台右侧。两个中心像素相同,但它们对应的产品绝对位置显然可能不同。
因此,允许拍照位置改变时,运行输入至少包括:
如果每次都回到完全相同的拍照位姿,相机在曝光瞬间相当于固定相机,可以使用针对该位姿建立的固定映射。这个特例不能直接推广到任意拍照位置。
2. 本篇“非旋转”的严格含义
2.1 固定的是整个拍照姿态
本文假设相机刚性安装在机器人末端,标定和生产拍照时满足:
| 项目 | 必须保持的条件 | 原因 |
|---|---|---|
| 相机安装 | 相机与末端之间的刚性关系固定 | 支架松动会改变映射 |
| 机器人姿态 | 完整方向保持不变,记为基准方向 R0 | 相机坐标轴和偏心方向不变 |
| 拍照高度 | 相机相对工作平面的距离固定 | 平面成像尺度和透视关系不变 |
| 工作平面 | 特征位于同一平面 | 二维模型只描述该平面 |
| 运动方向 | 平移方向与工作平面平行 | 保持相同的相机到平面几何关系 |
| 成像设置 | 分辨率、镜头、对焦、ROI 和图像处理一致 | 保持同一种像素坐标定义 |
| 机器人坐标 | 采用固定、统一的基座或用户坐标系 | 所有位移必须在同一坐标系表达 |
对 SCARA 或平面机构,通常可以用“R 固定、Z 固定”概括;对六轴机器人,仅保持一个 R 数值不够,俯仰和横滚也必须保持不变。
本文把工作平面取为固定机器人坐标系中的 XY 平面。如果实际台面倾斜,应先选择与台面平行的固定用户坐标系,并沿该坐标系的 XY 方向采样。沿基座 XY 移动却不断改变相机到斜面的距离,不能直接套用本篇模型。
2.2 产品可以变化,拍照姿态受到约束
“非旋转”约束的是本篇标定与定位所采用的机器人拍照姿态,不要求产品在图像中完全没有方向变化。
视觉可以测量产品方向,也可以计算产品局部工艺点。但如果机器人需要改变工具方向去抓取,就还需要明确 TCP、工具与法兰的关系,以及改变 R 后的执行补偿。本篇的平移标定不能独自完成这些工作。
2.3 本篇实际求什么
本篇优先求解:
这种相对位置以毫米为单位,已经包含像素尺度、轴方向、安装角和必要的平面投影关系。它不是完整的相机到法兰六自由度刚体变换。
3. 先统一符号和坐标含义
| 符号 | 含义 | 单位与约定 |
|---|---|---|
| B | 固定的机器人基座或用户坐标系 | 全文平面向量在这个坐标系表达 |
| q | 曝光时机器人所报告控制原点的 XY | mm;可以是法兰或已明确的活动 TCP |
| q0 | 参考拍照时的机器人 XY | 与 q 使用相同工具和坐标定义 |
| p=(u,v) | 当前检测像素点 | px;已执行约定的去畸变和坐标处理 |
| p0 | 参考拍照中固定标记的像素点 | 不要求恰好等于图像中心 |
| S | 当前目标特征在 B 中的 XY | mm |
| S0 | 参考标记在 B 中的 XY | 绝对定位时需要;反向示教可以不显式知道 |
| g(p) | 从机器人报告原点到目标点的平面向量 | mm;方向用 B 的轴表达 |
| m(p) | 相对参考像素 p0 的平面位移 | mm,定义为 g(p)-g(p0) |
| qpick,0 | 参考产品对应的正确机器人取料 XY | 通过 TCP 示教得到 |
这里的 q 不是相机光心坐标。相机与机器人报告原点之间即使存在很大的固定安装偏移,也可以包含在 g 中。只要拍照方向固定,这个偏移在 B 中就是固定向量。
后文相加的向量都沿固定机器人平面坐标轴表达。不能把工具坐标中的相对移动量,直接加到基座坐标的绝对位置上。
4. 核心几何:目标位置等于拍照位置加相对位置
4.1 最基本的关系
在上述条件下,存在一个固定平面函数 g,使得:
理由是:相机方向固定、到工作平面的距离固定,某个像素对应的空间射线与工作平面的交点,相对于机器人报告原点的位置保持不变。机器人平移多少,这一像素所对应的平面交点就整体平移多少。
g 可以是仿射映射,也可以由去畸变后的平面单应性表示。它不要求相机光轴完全垂直于台面,但要求相机与工作平面的相对方向和法向距离保持不变。
4.2 固定标记给出的标定约束
把一个标记固定在工作台的 S0,机器人带相机到多个位置拍照。第 i 个样本满足:
参考样本满足:
两式相减:
这就是移动相机九点标定最重要的符号关系:像素相对位移对应的是“参考拍照位置减当前拍照位置”。
4.3 定义一个方便使用的相对映射
定义:
那么标定数据应该满足:
运行时从参考式得到:
因此:
公式中的两项增量具有不同来源:
- qcapture-q0:相机跟随机器人产生的拍照位置变化;
- m(p):当前目标相对参考像素产生的平面位置变化。
两者相加,才是当前产品相对参考产品的真实平移。

图2:固定标记不动,机器人移动到九个拍照位置。用于拟合相对映射的毫米标签为 q0-qi,不能漏掉这个符号关系。图中数值使用本文的教学模型。
5. 九点采样:移动相机,保持标记不动
5.1 推荐采样方式
把一个稳定的圆心、角点或其他定位特征固定在实际工作平面上,让机器人带着相机平移,使同一个标记依次出现在图像中心、四边和四角附近。
要覆盖的是特征在图像中的有效分布。机器人走了很大的距离,却始终把特征保持在图像中心,并不能提供足够的像素跨度。
标定时不需要标记的绝对机器人坐标,就能估计局部尺度与轴向关系。机器人已知的毫米位移提供了物理尺度。
单个圆心可以满足本篇固定姿态、仅求 XY 相对映射的需要。若还要测量产品方向,则应增加有序点或不对称特征;这与完整手眼标定中使用标定板姿态是不同的需求。
5.2 每个点保存哪些数据
每个样本至少保存:
- 原始图像、样本 ID、相机序列号和触发时间;
- 检测点的原始像素与处理后像素;
- 曝光对应的机器人实际 X、Y、Z 和完整方向;
- 活动工具、基座或用户坐标系名称;
- 分辨率、ROI、去畸变配置和检测质量。
静态采集建议采用“到位—稳定等待—锁存位姿与触发—保存图像”的握手流程,并确认稳定等待覆盖机械振动衰减。连续运动拍照则需要明确时间戳、触发延时和曝光期间运动,不能仅靠先后调用两个 API 保证同步。
5.3 一组可以手算的九点数据
为了把后续公式串起来,假设真实局部模型为:
取:
根据 qi=q0-m(pi) 构造以下理想无噪声数据:
| ID | u / px | v / px | 拍照 X / mm | 拍照 Y / mm |
|---|---|---|---|---|
| 1 | 980 | 824 | 415.4 | 190.3 |
| 2 | 1280 | 824 | 400.4 | 190.0 |
| 3 | 1580 | 824 | 385.4 | 189.7 |
| 4 | 980 | 1024 | 415.0 | 200.3 |
| 5,参考 | 1280 | 1024 | 400.0 | 200.0 |
| 6 | 1580 | 1024 | 385.0 | 199.7 |
| 7 | 980 | 1224 | 414.6 | 210.3 |
| 8 | 1280 | 1224 | 399.6 | 210.0 |
| 9 | 1580 | 1224 | 384.6 | 209.7 |
例如从参考点移到第 6 点:机器人 X 减少 15 mm、Y 减少 0.3 mm,而标记像素向右增加 300 px。这个方向与固定相机观察移动标记时容易混淆。
表格只是说明原理。真实设备必须采集实际反馈与实际图像,不能用计划点位或这些教学数据代替。
6. 仿射模型怎样求解
6.1 相对映射的线性部分
一般仿射模型可写成:
因此:
固定标记满足:
把多个样本堆叠后,可以通过最小二乘估计 A。点集必须在二维中展开;共线点或非常狭窄的点集,会使另一方向参数无法稳定求解。
如果把 p0 视为准确参考,至少需要两条线性独立的像素位移;连同参考点,对应至少三个不共线的位置。实际推荐九点或更多覆盖点,并保留独立验证数据。
6.2 工程上可先拟合带截距的模型
真实参考点也有检测噪声。把它强行当成完全无误差的原点,会使所有差分共享这一次参考误差。
一种常见做法是用全部样本拟合:
拟合后定义:
对于仿射模型,b 相消,仍得到 A(p-p0)。参考图可以重复采集取稳定统计值,或使用多个参考观测估计锚点,以降低单帧参考噪声。
应注意:把输出强制锚定在参考点以后,参考点的绝对误差依然存在。训练残差小,不能证明参考坐标或 TCP 示教准确。
6.3 求解时的数值细节
- 对像素坐标做中心化和尺度归一化,改善数值条件;
- 用 QR、SVD 或成熟的最小二乘函数求解,避免显式求正规方程逆矩阵;
- 检查设计矩阵秩、点集覆盖范围和异常样本;
- 低质量点先追溯图像、匹配与时序,再考虑加权或鲁棒估计;
- 最终以独立验证误差选择模型,不用训练残差决定一切。
像素和机器人反馈都可能带噪声,普通最小二乘是实用近似。精度要求更高时,应考虑两侧测量不确定度、误差变量模型或联合优化。
7. 如果软件直接拟合“像素到机器人拍照位置”
7.1 这个矩阵可以使用,但输出含义不同
不少视觉软件把采样像素 pi 和机器人拍照坐标 qi 直接配对,输出:
在本篇固定标记采样方式中,理想关系为:
所以:
绝对定位公式变为:
这并不是另一个物理模型,只是软件输出定义不同。
7.2 用一张表固定接口语义
| 标定输出 | 拟合标签或定义 | 运行时产品相对参考的平移 |
|---|---|---|
| m(p) | q0-qi;参考输出归零 | qcapture-q0+m(p) |
| f(p) | 机器人拍照位置 qi | qcapture-q0-[f(p)-f(p0)] |
| g(p) | S0-qi,需已知 S0 | 先求 S=qcapture+g(p),再减 S0 |
| Href(p) | 参考拍照位置 q0 下的目标绝对坐标 | Href(p)+qcapture-q0-S0 |
不要只根据“九点矩阵”“手眼矩阵”等名称选择公式。必须知道:输入坐标是什么,输出坐标是什么,是否包含参考偏移,以及输出是拍照位置还是目标位置。
7.3 最有效的单轴确认实验
固定标记不动,让机器人在保持方向和高度的条件下沿 X 正方向移动一小段已知距离。
- m 的变化应接近机器人位移的负值;
- f 的变化应接近机器人位移本身;
- 最终计算出的固定标记绝对坐标应保持不变。
再沿 Y 重复一次。这比根据图像 Y 轴朝下的直觉去修改正负号可靠得多。
8. 平面单应性:先转换两个点,再求差
8.1 何时需要单应性
在去除明显镜头畸变后,如果相机倾斜或透视较强,仿射模型可能无法满足全视野误差要求。可以将 F 或 f 替换为平面单应性。
设 F 的单应矩阵为 H,输入齐次像素:
非齐次输出为:
仍然使用:
理论上需要至少四组处于一般位置的点对,四点方案应避免任意三点共线;工程上应使用更多分布充分的点,并检查几何退化和独立验证误差。
8.2 不能把单应矩阵直接乘像素差
仿射模型满足:
一般单应性有随位置变化的分母,不能直接推广成“把 u-u0、v-v0 放进原 H”或“把 H 的左上 2×2 当成全局像素当量”。
正确计算顺序是:
- 用完整齐次像素计算 F(p),除以当前 w;
- 用参考齐次像素计算 F(p0),除以参考 w0;
- 两个毫米坐标相减;
- 按第 7 节确认是否需要取负号。

图3:机器人拍照位移和视觉平面位移分别计算,再合成产品位移。单应性必须对当前点与参考点分别进行齐次归一化。
8.3 另一种等价表达:更新参考拍照位的绝对矩阵
如果已经有一个把像素映射到参考拍照位 q0 下目标绝对坐标的 Href,则:
其中 π 表示除以齐次分量。
也可以在矩阵左侧复合一个输出平移:
这里左乘,是因为补偿作用在输出的机器人平面坐标上。它依然依赖拍照位移,并不是一个不随机器人位置变化的全局绝对映射。
9. 一次完整的数值计算
9.1 参考数据
沿用第 5 节的 A、p0、q0。假设独立测得参考标记坐标为:
因此参考像素所对应的固定相对向量为:
这个向量包含机器人报告原点到该成像位置的全部平面偏移。它不是简单的相机机械安装尺寸。
9.2 当前拍照与检测
当前机器人拍照位置为:
检测到产品点:
像素相对变化:
映射为:
拍照位置相对参考改变了:
所以目标绝对坐标:
若漏掉拍照位移,只得到 (439.8,215.2),就会恰好少算 (60,20) mm。这是把眼在手上当成固定相机时最直接的错误。
9.3 换一个拍照位置,结果应保持一致
产品不动,把相机移到:
同一教学模型下,产品会出现在约:
对应:
再次计算:

图4:图像点和拍照位置都发生变化,但目标绝对坐标保持一致。这是移动相机定位必须通过的基本验证。数值为合成算例。
10. 不知道 S0 时:反向示教直接计算取料位置
10.1 很多现场不需要先测出产品绝对坐标
生产的目标通常是“机器人正确取到产品”,并不一定要求先给产品特征建立一个可溯源的绝对坐标 S0。
可以在参考产品不动时,建立两份参考数据:
- 参考拍照:记录 q0 和 p0;
- 正确取料:手动让已经定义好的 TCP 到达正确工艺点,记录 qpick,0。
拍照和取料可以是两次不同的机器人动作,也可以处于不同 Z 高度。它们的 XY 必须使用同一固定坐标系和相同的控制原点定义;取料 Z 由工艺单独规定。
10.2 推导取料公式
当前产品相对参考产品的纯平移为:
若产品到工艺点的关系不变、工具取料方向固定,正确取料位置也应平移相同距离:
如果使用直接拟合拍照位置的 f,则:
这样,相机与吸嘴之间的固定偏移、可见特征到工艺点的固定偏移,可以在基准取料示教中体现。它们不需要被拆成若干凭经验填写的 XY 补偿。

图5:先保存参考产品的拍照数据与正确取料位置。生产时把测得的产品平移量加到参考取料位置上。相机与吸嘴不必共轴,但安装、工具定义和使用方向必须保持一致。
10.3 接着前面的数值计算
若参考产品正确取料时,控制器应到达:
则当前产品的位移为 (69.8,25.2) mm,目标取料 XY 为:
这个结果与产品特征坐标 (499.8,235.2) 不同,是因为示教工艺点本来就相对特征存在 (2,-3) mm 的固定偏移。
10.4 哪些变化会使示教关系失效
更换吸嘴、重新定义 TCP、移动相机支架、改变产品特征定义或改变抓取方向,都可能改变示教关系。
产品发生转动时,产品局部偏移应随产品方向旋转,不能继续简单平移一个世界坐标中的固定偏移。若进一步改变机器人取料 R,还需要正确的工具几何与执行模型。
11. 视觉对中:把目标移到指定像素
另一个常见任务是:不立即求取料坐标,先移动相机,使目标落到期望像素 p*。
当前固定目标满足:
对中后希望满足:
因此:
如果期望像素就是参考像素 p0,则:
使用直接拍照位置映射 f 时,等价为:
现场可以采用比例系数 k 和多次拍照逐步修正:
k 的选择还需考虑测量噪声、通信延迟和运动响应,并设置步长限制、停止阈值与最大迭代次数。这是静态拍照迭代定位的简化表达,不等于已经设计完成一个连续视觉伺服控制器。
**相机对中不等于吸嘴对中。**只有期望像素已经对应正确的工具工艺位置,或另外应用了相机到工具的关系,对中才能直接服务于取料。
12. 产品方向怎样计算
12.1 先转换两个有序点
假设视觉通过两个有固定顺序的特征点 p1、p2 定义产品方向。先映射到机器人平面上的相对坐标:
方向为:
如果软件输出 f,应先使用:
所有公共平移项都会相消。对单应性,仍应分别映射两个端点后相减。
12.2 为什么不直接加一个安装角
原始图像角度可能受到 Y 轴向下、轴尺度不同、剪切和透视影响。直接写“机器人角度等于图像角度加一个安装角”只在特定近似条件下成立。
先映射有序端点,再在物理平面计算方向,更容易与位置模型保持一致。还应处理圆或对称图案的方向不可辨识,以及点序交换造成的 180° 跳变。
12.3 测出方向与改变机器人方向是两件事
在固定拍照方向下,可以测出产品方向;也可以把产品坐标中的偏移 dP 旋转到 B 中,得到工艺点:
但由这个工艺点生成改变 R 的机器人目标时,需要另外处理工具控制原点和实际 TCP。不能把本篇固定姿态公式直接扩展为任意角度的相机或吸嘴补偿。
13. 一段可复现的 NumPy 示例
下面代码只做数学计算,不连接机器人。输入像素默认已经经过与标定一致的去畸变和坐标处理;机器人 XY 默认使用统一的固定坐标系。
示例先拟合 F(p)≈q0-qi,再用 F(p)-F(p0) 计算相对位移。像素做了中心化和尺度归一化,最小二乘同时检查秩。
1 | |
输出应接近:
1 | |
真实部署还需保存并校验:标定版本、输入范围、拍照 Z 和方向、机器人坐标定义、参考图、检测质量,以及结果是否处于经过验收的工作区域。求解函数成功返回参数,并不代表这些条件自动成立。
14. 畸变、ROI 和高度:最常见的隐含变量
14.1 去畸变后的坐标必须有明确单位
标定和运行必须使用同一种坐标:原始畸变像素、去畸变像素,或归一化相机坐标。
例如 OpenCV 的 undistortPoints 在没有指定相应输出投影矩阵时,通常输出归一化坐标;设置 P=K 等合适投影矩阵后,才能得到对应的新像素坐标。不能把两者都当成同一套“去畸变像素”混用。
镜头畸变明显时,应先处理畸变,再拟合仿射或单应性。一个 3×3 单应矩阵不能完整替代径向、切向畸变模型。
14.2 ROI 改变不一定必须重标,但必须转换坐标
若仅在同一幅全分辨率图像中裁剪 ROI,检测输出是 ROI 局部坐标,则需要恢复全图坐标:
若还进行了缩放、旋转、镜像或硬件 binning,必须使用对应的完整坐标变换,并保证相机内参或输出投影矩阵同步适配。
经过明确换算、恢复到原标定坐标定义的 ROI 可以继续使用原映射;无法确认转换链时,应重新建立并验证模型。
14.3 固定拍照 Z 与固定产品平面缺一不可
机器人 Z 没有变化,不代表相机到产品表面的距离不变。更厚的产品、翘曲、托盘高度变化,都会改变真实成像平面。
正视针孔模型下,若标定平面距离相机 h,实际平面沿光轴朝相机靠近 Δz,目标相对光轴的真实横向距离为 r,则继续按旧平面换算的径向误差大小为:
例如 h=300 mm、r=60 mm、Δz=2 mm,误差约为 0.403 mm。视野中心附近可能看起来很准,边缘已经明显超差。

图6:左图由正视针孔模型公式计算,展示高度误差随离轴距离增大而放大;右图说明重复拍照、换拍照位置和独立绝对基准分别验证不同问题。曲线不是设备实测结果。
远心镜头可以降低工作范围内的高度敏感性,但不能自动取消工作距离、景深、倾斜和系统精度的约束。高度变化超出误差预算时,应采用高度配方、测高结合射线与平面求交,或升级三维定位。
15. 精度验收:先验证固定点,再验证真实任务
15.1 第一层:拟合残差
对于固定标记,使用中心化相对模型后的残差为:
理想情况下 ri=0。可统计:
同时报告最大误差、X/Y 有符号偏差和残差在图像中的分布。若使用多个重复帧,建议另报 P95,并说明样本数量;少量点上的 P95 不能代替充分的覆盖与重复采样。
15.2 第二层:同一固定点、多拍照位置
保持标记不动,选择没有参与拟合的多个 XY 拍照位置,方向和高度仍保持基准值。每次计算目标绝对位置或相对参考位移。
若没有 S0,直接检查:
该实验可以发现拍照位移符号错误、漏补偿、视野边缘畸变和模型不足。
但有一个限制:**所有结果一致,只证明相互一致,不证明绝对坐标正确。**参考锚点或 TCP 存在固定偏差时,各次结果仍然可以一致。
15.3 第三层:独立的物理基准与工艺验证
用不参与标定的物理基准检查目标绝对坐标,或让机器人实际到达产品工艺点,通过量具、测量系统或任务结果验收。
验证至少覆盖:
- 图像中心、四角和实际生产区域边缘;
- 多个机器人拍照位置与实际负载状态;
- 真实产品、真实照明、实际拍照高度;
- 重复取放、冷机与热机条件下的稳定性。
分别记录“同位拍照重复性”“换拍照位的一致性”“绝对定位误差”和“实际工艺误差”,避免用某一项代替全部精度指标。
15.4 误差量级怎样估计
在局部近似下,忽略相关项时可写成:
其中 Jp 是平面映射对像素的局部雅可比;仿射时为 A,单应性时随像素位置改变。参考观测与其他量相关时,应另外处理相关项。
几个实用估算是:
| 来源 | 近似量级 | 例子 |
|---|---|---|
| 像素检测波动 | 局部 mm/px × 像素波动 | 0.05 mm/px × 0.2 px,约 0.01 mm |
| 时序错位 | 速度 × 时间差 | 100 mm/s × 5 ms,约 0.5 mm |
| 未补偿的小角度变化 | 有效杠杆臂 × 弧度误差 | 100 mm × 0.1°,约 0.175 mm |
| 高度偏差 | 离轴距离 × 高度差 / 工作距离 | 具体见第 14 节 |
这些只是相应假设下的量级估算,不能直接相加当成完整系统精度。机器人位置误差、机械挠曲、特征定义变化和参考示教误差也需要单独评估。
16. 为什么“只平移”也能用,却不能声称求出了完整外参
16.1 仅做相对引导时,不需要拆开所有偏移
固定标记观测方程为:
若 S0 未知,把 S0 和 g(p) 同时加上同一个常向量 k,所有观测方程仍然成立。因此仅凭这些数据,不能唯一确定这个共同的绝对平移。
但相对差:
不会受 k 影响。所以像素相对位移、换拍照位补偿,以及固定方向的反向示教取料仍然可以确定并使用。
这正是“非旋转二维引导可用”和“完整手眼外参可观测”之间的区别。
16.2 已知基准可以提供额外约束
如果 S0 通过独立测量已知,就可以用 S0-qi 作为标签,直接拟合 g。其他已知的几何、相机内参和工作平面信息,也可以增加约束。
因此不能笼统地说“只平移一定什么偏移都标不出来”。应明确未知量是什么、有哪些已知基准、最终要用参数完成什么任务。
即使得到了固定工作平面的 g,也不能仅凭它声称已经恢复了相机相对法兰的完整三维位置和姿态。
16.3 当机器人拍照方向要改变时
允许姿态变化后,通用眼在手上链应写为:
其中每张图需要曝光时的机器人变换,固定安装变换把相机坐标系 C 中的点转换到末端坐标系 E;视觉测量也必须是具有正确物理含义的空间量。
若在平面模型中只考虑一个角度 θ,相机安装偏移为 tEC,则它在 B 中的分量包含:
θ 改变,这个分量不再是常量。视野方向也会变化,本篇仅加拍照 XY 位移的模型因而失效。此时需要具有足够角度激励的二维旋转模型,或完整三维手眼标定与平面求交;具体可辨识性取决于采样运动和已知约束。
17. 常见现象与排查顺序
| 现象 | 优先检查 | 有效的确认方法 |
|---|---|---|
| 只在参考拍照位准确,换位置就偏 | 漏掉 qcapture-q0 | 固定标记,换两个拍照位置 |
| 相机移 10 mm,结果变化接近 20 mm | m 与 f 的符号或补偿方向相反 | 记录单轴运动前后每一项增量 |
| 所有位置误差几乎相同 | S0、参考取料点、TCP 或坐标系 | 用独立物理基准检查固定偏差 |
| 中心准、边缘差 | 畸变、透视、点集覆盖和高度 | 看有符号残差分布,比较独立验证误差 |
| 机器人同位拍照就波动 | 检测噪声、照明、振动和图像模糊 | 锁定机器人,重复采集原始图像 |
| 换机器人位置才出现规律偏差 | 机器人几何误差、支架挠曲、模型不足 | 扩大独立拍照位验证并记录负载 |
| 速度越快越差 | 曝光与位姿不同步、运动模糊 | 对比静态拍照,检查触发与时间戳 |
| 换 ROI 或缩放后失效 | 局部像素、全图像素和内参混用 | 输出完整坐标转换链 |
| 换产品高度后失效 | 实际工作平面变化 | 按实际表面高度复测 |
| 仅改变 R 就发生位置漂移 | 超出了固定姿态模型 | 恢复 R0 验证,再建立旋转模型 |
| 产品点位置正确,但吸嘴偏 | 工艺点关系或活动 TCP 定义错误 | 对比特征位置与正确工艺点 |
| 方向跳变 180° | 特征点序或对称歧义 | 使用有语义顺序的不对称特征 |
排查时保留原始图像、曝光位姿、映射前后坐标、拍照补偿、产品位移和最终工艺目标。只保存最终机器人 XY,通常无法判断错误发生在哪一层。
18. 工程实施与参数交付
18.1 推荐实施流程
- 定义工作平面、固定拍照方向、拍照高度和目标精度;
- 确认机器人报告原点、工具、基座或用户坐标系;
- 固定标记,采集覆盖有效视野的九点或更多平移样本;
- 明确输出采用 m、f、g 还是参考拍照位绝对映射;
- 比较仿射与单应性在独立数据上的误差,确定模型;
- 建立 S0 绝对锚点,或完成参考拍照与正确取料的反向示教;
- 用固定点多拍照位验证补偿,再做真实任务验收;
- 保存参数版本,建立相机、TCP、工作高度变化后的复验条件。
18.2 至少保存这些参数
| 类型 | 应保存的内容 |
|---|---|
| 映射定义 | 模型类型、矩阵、输入输出方向、单位、m/f/g 语义 |
| 参考观测 | p0、q0、参考图像、参考检测质量与采集时间 |
| 工艺锚点 | 已知 S0,或正确取料 qpick,0;注明获取方式 |
| 几何约束 | 拍照 Z0、完整拍照方向、工作平面、有效图像和机器人范围 |
| 相机模型 | 内参、畸变、分辨率、ROI、缩放与像素转换约定 |
| 机器人定义 | 固定坐标系、活动工具、TCP、位姿单位与反馈来源 |
| 数据与验收 | 原始采样、留出数据、残差统计、任务验收结果 |
| 版本维护 | 相机镜头标识、机械安装版本、产品配方、求解程序版本 |
参数文件应让维护人员能直接回答:这个矩阵输出的是机器人拍照位置,还是目标相对位置?当前像素是否已经去畸变?当前机器人位置对应哪个曝光事件?参考取料点使用哪个 TCP?
19. 把整套方法连起来
二维非旋转眼在手上标定的核心关系是:
固定标记、移动相机的多点采样给出:
于是产品相对参考的真实平移为:
有绝对锚点时,使用 S=S0+ΔS;采用固定方向的反向示教时,使用 qpick=qpick,0+ΔS。
这套方法能够把相机与工具之间的固定偏移包含进参考关系,同时明确保留拍照位置变化。它的可靠性来自固定姿态与工作平面假设、明确的矩阵输出语义、曝光对应的机器人位置,以及独立的全流程验收。
参考与延伸阅读
- 本站:《什么是手眼标定》,坐标变换、完整手眼链与可观测性背景。
- 本站:《二维平面的非旋转标定:眼在手外》,固定相机平面模型、畸变与采样基础。
- OpenCV:Camera Calibration and 3D Reconstruction,相机标定、
undistortPoints、findHomography与estimateAffine2D的坐标约定。 - Z. Zhang, “A Flexible New Technique for Camera Calibration”, IEEE TPAMI, 2000:DOI: 10.1109/34.888718。该文讨论相机内参标定,与本文的二维移动相机位移补偿属于不同环节。
- 工程接入时,以实际机器人控制器、相机 SDK 和视觉软件版本的官方手册确认:反馈坐标、工具原点、触发时序、ROI 坐标和矩阵输出定义。