跳到正文
EMBODIED INTELLIGENCE · 感知、空间与导航

相机看见的位置,必须翻译成机械臂的坐标

标定不是拍一次棋盘格就结束。相机内参解释像素怎样对应射线,外参连接不同坐标系,手眼标定把相机固定到机器人运动链,时间同步则保证这些关系属于同一时刻。空间和时间任何一项错了,都可能让机器人稳定地抓偏。

机械臂腕部相机观察桌面棋盘格,表达通过不同姿态把视觉测量与机器人坐标联系起来。
直觉总览:机械臂腕部相机观察桌面棋盘格,表达通过不同姿态把视觉测量与机器人坐标联系起来。 生成插画不承载精确结构、尺寸或安全保证,正文机制图为准。 查看原图 ↗
01 · 三种不同的标定问题

先分清镜头、安装位置和时间

两个人站在房间不同位置,都说“物体在前方”,却不一定指同一个地方。相机与机械臂也是如此。内参类似观察方式,外参描述站在哪里、朝哪里,时间同步保证两人谈的是同一个时刻。类比只说明信息关系,计算仍要依赖明确的坐标定义与单位。

INTRINSIC

内参与畸变

焦距、主点和镜头畸变决定三维方向如何落到像素。改变分辨率、裁剪或镜头焦距,需要相应调整或重新验证。只把旧参数文件复制到新图像尺寸上,可能产生系统偏差。

EXTRINSIC

外部刚体关系

相机相对基座、夹爪或另一传感器的位置与朝向。相机支架松动后,图像仍然清楚,外参却可能已经失效。变换方向与矩阵布局也必须写清。

TEMPORAL

时间偏差

图像曝光时刻、驱动收到帧的时刻、机器人状态时间戳并非同一个时间。安装关系准确但时间错配,移动中仍会产生位置误差。

张正友在 2000 年发表的相机标定研究使用不同朝向的平面图案估计相机参数,并做非线性细化,降低了对精密三维标定装置的依赖。使用方便不意味着可以随意采集:标定板尺寸、角点质量、图像覆盖和姿态变化仍决定参数是否被充分约束。原始论文页面。

eRMS=1N∑i=1N∥pi−π(K,D,Ti,Pi)∥2e_{\rm RMS}=\sqrt{\frac1N\sum_{i=1}^{N}\left\|p_i-\pi(K,D,T_i,P_i)\right\|^2}
重投影均方根误差:把已知标定点 P_i 经位姿 T_i、内参 K 和畸变模型 D 投影到图像,与观测像素 p_i 比较。N 为参与统计的点观测数量,单位是像素;具体工具聚合口径需核对。

低重投影误差只说明模型在这些观测上拟合得好,不等于整个机器人工作空间都准确。图像中心附近的少量样本可能无法有效约束边缘畸变;错误的棋盘物理尺寸也可能保留不错的像素拟合,却让米制尺度错误。

02 · 把“眼睛”接到运动链

固定在手上的相机,关系固定但位置会变

眼在手上(eye-in-hand)指相机固定在末端附近,随机器人运动;眼在手外(eye-to-hand)指相机固定在外部观察工作区。两种设置的未知变换不同,不能不经推导就交换函数参数。

TBT=TBG(t) TGC TCT(t)T_{BT}=T_{BG}(t)\,T_{GC}\,T_{CT}(t)
本文 T_AB 将 B 系坐标转换为 A 系。B 是基座、G 是夹爪、C 是相机、T 是静止标定板。T_BG 来自机器人运动学,T_CT 来自视觉;眼在手上时待标定的 T_GC 固定,左右两端关系应在各采集姿态下一致。
  1. 固定标定板

    确保标定板相对基座不移动,确认物理尺寸与检测坐标约定。

  2. 采多组姿态

    记录同步的夹爪位姿与相机观测,包含绕至少两个不平行轴的旋转。OpenCV 至少要求三组姿态;实践应采更多有充分变化的姿态,而非只沿一个轴平移。

  3. 求相机到夹爪变换

    寻找跨姿态一致的刚体关系。检查输入究竟是 gripper→base 还是其逆。

  4. 保留姿态复验

    在未参与求解的姿态和工作区点位验证,不只看求解器返回成功。

OpenCV calibrateHandEye 的典型眼在手上接口接收 gripper→base 与 target→camera,返回 camera→gripper。实际接线前应逐项对照 API,不只看变量名相似。

为什么要改变朝向?如果采集运动太单一,某些平移或旋转分量就难以分辨。更多重复同一种姿态,不一定提供更多有效信息。还应避免严重模糊、角点遮挡、过小投影与同步错误;坏样本堆多了不等于结果更准。

方向检查 · 教学设定

平移不能既正向加一次,又反向加一次

若相机轴与基座轴平行,相机原点在基座 x=0.2 m 处,相机测得物体 x=0.1 m,则基座坐标 x=0.3 m。反向变换应减去 0.2 m,而不是再加一次。真实有旋转时,逆变换的平移是 −Rᵀp,不能只把原平移逐项取负。

03 · 几何正确也可能对不上

时间偏差会伪装成标定误差

Δx≈v Δt,∥Δprot∥≈r⊥ ∣Δθ∣\Delta x\approx v\,\Delta t,\qquad \|\Delta p_{\rm rot}\|\approx r_\perp\,|\Delta\theta|
小范围匀速平移和小角度旋转的误差估计:v 为相对平移速度,Δt 为时间错配;r⊥ 为目标到旋转轴的垂直距离,Δθ 用弧度。目标位于旋转轴上时,该旋转不产生位置误差。真实多轴运动需要完整时序与坐标计算。

教学设定:相对速度 0.5 m/s,图像与关节状态错开 40 ms,对应约 2 cm 位移误差。相机朝向偏 1°、目标到该旋转轴的垂直距离约 1 m,小角度估算位置误差约 1.75 cm。这解释了为什么“静止测试还行,运动起来就抓偏”。

优先记录传感器测量时间,而不是仅记录数据进入应用程序的时间。缓存排队、不同设备时钟与滚动快门都可能产生额外时序问题;必要时插值机器人状态到图像时刻,并检查插值所需状态是否真实可用。不能用一个“最新状态”替代任意历史图像对应的状态。

04 · 把参数文件当成可追溯制品

验收看未见过的位置,而不是只看训练残差

保存相机标识、分辨率、裁剪方式、镜头设置、标定板尺寸、单位、变换方向、采集时间、算法版本与残差。参数文件没有这些上下文,就很难判断它是否适用于今天的硬件和软件配置。

在工作空间不同距离、不同朝向和图像边缘选取保留点,比较已知几何或独立测量结果。分别检查静态与动态误差;用同一套拟合样本验证只能证明拟合一致,不能充分证明泛化。验收阈值应来自任务容差与独立测量精度,不应随意规定所有机器人都要达到同一个毫米数。

什么时候重新验证

更换镜头、移动相机支架、碰撞、修改图像缩放裁剪、更新坐标约定或改变同步链路后,应重新验证相应参数。参数文件能读出来,不代表它仍然描述当前物理系统。

KNOWLEDGE CONNECTIONS

把这一层放回完整机器人

返回具身智能知识地图,或沿本专栏继续展开:

RESEARCH LEDGER

一手来源与证据边界

优先使用论文、官方文档、官方模型卡和代码仓库。页面中的数字只代表来源所述设置,不自动外推到其他模型与数据。