2. 深度相机基础
在机器人抓取任务中,普通 RGB 相机只能提供二维纹理信息,无法直接回答“物体离相机多远”“抓取点位于哪个空间位置”这两个关键问题。深度相机的价值,就是把场景中每个像素对应的距离测量出来,形成深度图或点云,为手眼标定、抓取位姿估计和避障提供三维几何基础。理解深度感知原理,是后续标定与抓取系统设计的前提。
一、深度感知的核心原理
深度相机获取距离的方式,本质上分为三大类:飞行时间法(ToF)、结构光法和双目立体视觉。它们分别利用光的时间、形变和视差来反推深度。
- ToF(Time of Flight):发射调制光,测量光往返的相位差或飞行时间,直接计算距离。分为连续波调制(iToF)和脉冲飞行时间(dToF)。
- 结构光(Structured Light):投射已知图案(如散斑、条纹),通过图案在物体表面的形变,利用三角测量原理计算深度。
- 双目立体视觉(Stereo Vision):两个相机从不同视角拍摄同一场景,通过匹配同名点计算视差,再根据基线距离和焦距求深度。
三者的共同点是都需要“标定”来建立像素与三维空间的映射关系;区别在于主动发光还是被动接收、测量精度受环境光影响的程度、以及有效距离范围。
二、RGB-D 相机对比与选型要点
RGB-D 相机同时输出彩色图和深度图,是机器人抓取中最常用的视觉传感器。不同原理的 RGB-D 相机在精度、量程、帧率、抗光性和成本上差异明显,选型时需要结合抓取场景综合判断。
| 对比维度 | ToF 相机 | 结构光相机 | 双目立体相机 |
|---|---|---|---|
| 测距原理 | 飞行时间/相位差 | 图案形变三角测量 | 视差三角测量 |
| 典型量程 | 0.3~5 m | 0.2~1.5 m | 0.5~10 m |
| 近距离精度 | 中 | 高 | 中 |
| 抗环境光 | 较强 | 弱 | 强(被动) |
| 纹理依赖 | 无 | 无 | 强 |
| 典型应用 | 避障、体积测量 | 人脸、精密抓取 | 室外、大场景 |
选型口诀:近距离高精度选结构光;中远距离抗光选 ToF;大场景低成本选双目;需要彩色纹理融合时,优先选择带 RGB 对齐的 RGB-D 型号。
三、方法流程:从深度图到抓取点
以结构光 RGB-D 相机为例,典型处理流程如下:
- 采集:同步获取彩色图与深度图,检查深度图无效区域比例。
- 对齐:将深度图配准到彩色相机坐标系,得到逐像素对齐的 RGB-D 数据。
- 滤波:去除飞点、空洞和噪声,常用双边滤波、中值滤波或时域多帧平均。
- 点云生成:利用相机内参将深度图反投影为三维点云。
- 分割与位姿估计:结合平面分割、聚类或深度学习模型,输出抓取点与抓取姿态。
- 手眼变换:通过标定矩阵将相机坐标系下的抓取点转换到机器人基坐标系。
# 深度图转点云核心公式(针孔模型)
Z = depth[v, u] / depth_scale
X = (u - cx) * Z / fx
Y = (v - cy) * Z / fy
# fx, fy, cx, cy 为相机内参,depth_scale 为深度单位换算系数
四、案例与场景
某协作机器人抓取散乱摆放的金属零件,零件表面反光且纹理弱。若使用双目立体相机,因缺乏纹理,视差匹配失败率高,深度图大面积空洞;改用结构光相机后,主动投射散斑图案,在 0.4~0.8 m 工作距离内深度完整率显著提升,抓取成功率从 62% 提升到 91%。但该方案在强日光直射的工位下效果下降,最终通过加装遮光罩解决。
另一个场景是移动机器人避障,要求 3~5 m 范围内实时感知,且室内外切换。此时 ToF 相机因抗环境光较好、帧率高,成为更合适的选择;虽然近距离精度不如结构光,但避障任务对绝对精度要求较低,更看重覆盖范围和响应速度。
五、常见误区与复盘
误区一:只看分辨率,不看深度精度。RGB 分辨率高不代表深度精度高,深度噪声、空洞率和重复精度才是抓取任务的关键指标。
- 误区二:忽略基线对盲区的影响。双目和结构光都存在最小工作距离,太近时视场重叠不足,深度失效。
- 误区三:不做深度与彩色的对齐验证。未对齐会导致抓取点偏移,尤其在边缘区域误差被放大。
- 误区四:忽视环境光与材质。透明、镜面、黑色吸光材料对主动光相机同样不友好,需要喷粉、贴标记或改用其他传感方式。
- 复盘建议:选型前先明确工作距离、精度要求、环境光照、物体材质和节拍,再对照参数表逐项打分,而不是直接照搬他人方案。
掌握深度感知原理与相机选型逻辑后,才能为后续的内参标定、手眼标定和抓取位姿计算打下可靠的数据基础。