3. 视觉感知基础

灵巧手要完成“看得见、抓得准、放得稳”,第一步不是算法,而是把三维世界正确投影到图像,再把图像还原成可操作的三维信息。本节围绕相机模型、标定、深度感知、点云生成与视觉系统选型五条主线,建立从像素到抓取位姿的完整链路认知。

一、相机模型:从三维点到像素的投影

针孔模型是最常用的成像近似。设相机坐标系下一点 P_c = (X, Y, Z),其像素坐标 (u, v) 由内参矩阵 K 与畸变模型共同决定:

u = fx * X/Z + cx + 畸变项
v = fy * Y/Z + cy + 畸变项

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

其中 fx、fy 为焦距(像素单位),cx、cy 为主点。真实镜头存在径向畸变 k1,k2,k3 与切向畸变 p1,p2,广角镜头尤其明显。若忽略畸变,边缘区域的抓取点会偏移数毫米,直接导致夹爪对不准目标。

工程提示:内参决定“像素与角度的换算”,外参决定“相机与手/基座的空间关系”。两者缺一不可,且外参会随安装松动、碰撞而漂移。

二、标定原理:内参、外参与手眼关系

标定分为三个层次:

  • 内参标定:用棋盘格或圆点靶标,在多姿态下采集图像,求解 K 与畸变系数。
  • 外参标定:确定相机坐标系与机器人基座或末端坐标系的刚体变换 T。
  • 手眼标定:求解相机与末端执行器之间的固定变换 T_cam_tool,是抓取位姿换算的核心。

手眼标定分“眼在手上”(eye-in-hand)与“眼在手外”(eye-to-hand)。前者相机随臂运动,视野灵活但标定随关节链累积误差;后者相机固定,视野稳定但易被机械臂遮挡。标定常用 AX=XB 形式求解,采集多组末端位姿与对应靶标位姿即可解出。

# 典型标定流程
1. 固定标定板,移动机械臂采集 N≥10 组图像
2. 检测角点,计算每帧靶标位姿
3. 求解内参 -> 求解手眼矩阵 T_cam_tool
4. 用重投影误差评估:一般要求 < 0.5 pixel

三、深度感知与点云生成

深度获取主要有三类:结构光、双目立体、ToF。结构光精度高、近距离好,但受强光与反光影响;双目依赖纹理,弱纹理区域易空洞;ToF 帧率高、适合动态,但精度与分辨率通常较低。深度图 D(u,v) 结合内参即可反投影为点云:

X = (u - cx) * Z / fx
Y = (v - cy) * Z / fy
Z = D(u, v) / scale

生成的点云还需滤波:体素下采样降密度、统计滤波去离群点、平面分割去桌面。灵巧手抓取通常只关心目标物体表面点,因此常配合分割网络或抓取检测网络,把点云裁剪到候选区域再送入位姿估计。

视觉感知链路:从三维世界到抓取点云 三维世界 物体 / 桌面 / 手爪 P(X,Y,Z) 相机模型 内参 K:fx fy cx cy 畸变 k1 k2 p1 p2 投影 → 像素 (u,v) 标定 内参 / 外参 手眼 T_cam_tool 重投影误差 < 0.5px 深度感知 结构光 / 双目 / ToF 深度图 D(u,v) 精度 · 帧率 · 抗光性 点云生成与处理 反投影 X=(u-cx)Z/fx Y=(v-cy)Z/fy 体素下采样 · 统计滤波 · 平面分割 目标裁剪 → 抓取位姿估计 视觉系统选型要点 工作距离 · 视野 · 精度 帧率 · 接口 · 抗环境光 眼在手上 / 眼在手外 输出:抓取点 / 抓取位姿 / 夹爪开合策略

四、视觉系统选型要点

选型不是“越贵越好”,而是让精度、视野、帧率、环境适应性与机械手任务匹配。下表给出常见维度的判断依据:

维度 关键问题 典型建议
工作距离 相机到目标多远? 结构光 0.3–1m;ToF 0.5–3m;双目 0.3–2m
精度 需要分辨多小的抓取特征? 精细抓取要求深度误差 < 1mm
帧率 目标是否运动? 动态抓取 ≥ 30fps,静态可 10fps
环境光 是否有强光/反光? 结构光怕强光,ToF 抗光较好
安装方式 眼在手上还是手外? 遮挡多选眼在手上,稳定场景选眼在手外
接口与算力 USB/GigE?是否需边缘计算? 高分辨率点云建议 GigE + GPU 边缘盒

五、案例与常见误区

某灵巧手抓取透明塑料杯时,结构光深度图出现大面积空洞,导致点云缺失、抓取点漂移。复盘发现:透明材质使红外光透射而非反射。解决方式是改用双目+纹理投影,或在杯体表面贴临时标记,并降低对深度完整性的依赖,改用边缘与轮廓估计抓取宽度。

常见误区:只标定一次就长期使用;忽略温度漂移与机械振动;把深度图直接当点云用而不做去畸变与对齐;在强反光场景盲目追求高精度结构光。

建议把标定与验证纳入日常维护:每周用标准球或棋盘格复测重投影误差,记录外参漂移量;抓取失败时优先检查深度图质量与手眼矩阵,而不是直接调抓取网络参数。只有把“相机模型—标定—深度—点云—选型”这条链路打通,灵巧手的视觉抓取才具备可重复、可维护的工程基础。