3. 视觉感知基础

在双臂视觉抓取与交接系统中,视觉感知是整条控制链路的起点。无论是单臂抓取还是双臂之间的物体传递,系统都必须先回答三个问题:物体在哪里、物体离相机多远、机械臂末端与物体之间的相对位姿如何。要回答这些问题,需要建立从二维图像到三维空间的完整映射,这正是本节要梳理的核心内容。

一、相机模型:从三维世界到二维像素

相机成像的本质是透视投影。设世界坐标系中一点 P_w = (X_w, Y_w, Z_w),经过刚体变换到相机坐标系 P_c = (X_c, Y_c, Z_c),再经内参矩阵投影到像素平面:

s·[u, v, 1]ᵀ = K · [R | t] · [X_w, Y_w, Z_w, 1]ᵀ

K = [ fx  0  cx ]
    [  0 fy  cy ]
    [  0  0   1 ]

其中 fx、fy 为焦距(像素单位),cx、cy 为主点坐标,R、t 为外参。内参描述相机自身光学特性,外参描述相机在机器人基坐标系中的安装位姿。实际镜头还存在径向畸变与切向畸变,通常用 k1、k2、p1、p2、k3 五个系数建模,标定后需对图像做去畸变处理,否则边缘区域的定位误差会显著增大。

二、标定方法:内参、外参与手眼标定

标定分为三个层次,缺一不可:

  • 内参标定:使用棋盘格或圆点标定板,采集 15~25 张不同姿态图像,通过张正友标定法求解 K 与畸变系数,重投影误差应控制在 0.3 像素以内。
  • 外参标定:确定相机坐标系与机器人基坐标系之间的变换关系,常用方法为采集标定板在多个位姿下的图像,结合机器人正运动学求解。
  • 手眼标定:求解相机与末端执行器之间的固定变换 X,经典方程为 AX = XB。眼在手外(eye-to-hand)与眼在手上(eye-in-hand)的求解形式不同,前者相机固定于工作空间,后者相机随末端运动。
标定质量直接决定后续抓取精度。建议每次更换镜头、调整相机支架或碰撞后重新标定,并将标定结果与重投影误差一并记录,便于回溯。

三、深度估计与点云生成

深度获取方式主要分为主动式与被动式。结构光、ToF、双目立体匹配属于常见方案。以双目为例,视差 d = u_L - u_R 与深度关系为 Z = f·B / d,其中 B 为基线。深度图结合内参即可反投影生成点云:

X = (u - cx) · Z / fx
Y = (v - cy) · Z / fy
Z = depth(u, v)

生成的点云通常包含噪声与离群点,需要经过体素下采样、统计滤波、平面分割等预处理。在双臂交接场景中,点云还需变换到机器人基坐标系,并进一步做聚类分割,得到待抓取物体的位姿估计(如 PCA 主轴或 ICP 配准)。

四、视觉伺服基本概念

视觉伺服将视觉反馈直接引入控制回路,分为基于位置的视觉伺服(PBVS)、基于图像的视觉伺服(IBVS)以及混合方法。PBVS 在三维笛卡尔空间计算误差,路径直观但依赖位姿估计精度;IBVS 直接在图像特征空间构造误差,对标定误差更鲁棒,但可能出现相机后退等非预期运动。双臂交接中,常采用“粗定位用 PBVS、精对齐用 IBVS”的分层策略。

环节输入输出关键参数常见问题
内参标定多姿态标定板图像K、畸变系数重投影误差 < 0.3 px图像数量不足、姿态单一
手眼标定末端位姿 + 标定板位姿相机-末端变换 X旋转误差 < 0.5°运动范围小、AX=XB 退化
深度估计双目/结构光原始数据深度图基线、视差范围反光、透明物体失效
点云生成深度图 + 内参三维点云体素尺寸、滤波阈值离群点、坐标系未统一
视觉伺服图像特征或位姿误差关节速度指令增益 λ、交互矩阵特征丢失、局部极小

五、典型场景与复盘

以双臂交接为例:左臂抓取杯子后移动到交接区,右臂需要准确接管。若仅依赖单目 RGB,深度缺失会导致抓取高度偏差;若手眼标定存在 2 mm 误差,在 0.5 m 工作距离下可能放大为 5 mm 以上的末端偏差。实践中建议:先用标定板验证重投影误差,再用已知尺寸球体验证点云尺度,最后在交接点做多次空载对齐测试,记录位姿残差分布。

常见误区:把内参标定等同于手眼标定;忽略深度图与彩色图的对齐;在点云未统一到基坐标系前就做抓取规划。这些都会导致“看起来对、抓起来偏”的问题。
视觉感知链路:从图像到双臂交接控制 三维世界 物体 P_w (X,Y,Z) 相机模型 内参 K + 外参 [R|t] 畸变 k1,k2,p1,p2 二维图像 像素 (u,v) 特征提取 深度估计 双目/结构光/ToF Z = f·B / d 点云生成 反投影 + 滤波 体素下采样/聚类 位姿估计 PCA / ICP 基坐标系 T_base_obj 视觉伺服 PBVS / IBVS 误差 → 速度指令 双臂交接控制 左臂抓取 → 交接区 → 右臂接管 位姿残差 < 2 mm / 1° 标定 内参 / 外参 手眼 AX=XB 标定精度 → 深度质量 → 点云位姿 → 伺服稳定性,任一环节误差都会沿链路放大

综上,相机模型提供投影关系,标定确定参数,深度估计与点云生成恢复三维结构,视觉伺服把感知结果转化为控制指令。四者构成一条误差会逐级放大的链路,工程中必须逐环节验证,才能保证双臂交接的稳定与精度。