3D相机选型与原理:双目结构光、ToF、激光三角测量

做3D视觉无序抓取,第一步就是选相机。这一步选错了,后面算法调得再好也白搭。我见过不少项目,前期图便宜选了不合适的相机,结果现场折腾几个月,最后还是得换。

今天咱们就把主流的三种3D相机技术掰开揉碎讲清楚。你理解透了,选型自然有底气。

三种主流技术原理对比

1. 双目结构光

说白了,就是给双目视觉加了个「打光师」。左右两个相机拍同一个物体,但光靠自然纹理不够稳——物体表面太平滑、没特征点,双目就匹配不上。这时候投影仪打出一组编码好的光斑图案,相当于给物体表面「画」上了特征点。

我习惯这么理解:
左眼看到光斑在A位置,右眼看到在B位置。
两个位置一算,深度就出来了。

核心优势: 精度高,尤其适合中小视野场景。
典型参数: 精度0.02-0.5mm,视野0.1-2m,帧率1-30fps。
我的经验: 做精密装配、小零件抓取时,我首选双目结构光。但要注意——环境光干扰大,强光下光斑会被淹没。我在一个汽车零部件项目里吃过这个亏,后来加了遮光罩才解决。

2. ToF(飞行时间法)

原理更直接:发射光脉冲,等它反射回来,算时间差。光速是固定的,时间差直接换算成距离。

你想想看,这方法不需要复杂的图像匹配,所以帧率可以做得非常高。适合抓取运动中的物体。

核心优势: 帧率高(30-100fps),实时性好,抗环境光能力强。
典型参数: 精度1-10mm,视野0.5-10m,帧率30-100fps。
注意: ToF的精度受限于时间测量分辨率。近距离(<1m)精度不如结构光,远距离(>5m)优势明显。我做过一个仓储项目,料箱间距3米以上,ToF是唯一能稳定工作的方案。

3. 激光三角测量

这个原理最「老派」,但也最可靠。激光器打出一条线,相机从侧面拍。激光线照到物体表面会弯曲——凸起的地方线往上弯,凹陷的地方往下弯。弯曲量跟深度成比例。

说白了就是:
激光线位置偏移 → 三角关系算深度。

核心优势: 精度极高(微米级),不受环境光影响。
典型参数: 精度0.005-0.1mm,视野0.01-1m,帧率1-10fps。
避坑指南: 我曾经在一个精密打磨项目里用激光三角测量,精度确实好,但扫描速度太慢——一个工件要扫30秒。后来发现是选型时忽略了「线扫描」和「面扫描」的区别。线扫描只能逐行扫,面扫描才能一次成像。

选型关键参数

参数这东西,不能孤立看。精度、视野、帧率、工作距离,四个参数互相制约。我一般按这个顺序权衡:

参数 说明 选型建议
精度 深度测量的重复性误差 抓取精度要求 = 工件公差 × 0.3。比如工件公差±1mm,相机精度至少0.3mm
视野 相机能看到的范围(长×宽×深) 视野要覆盖料箱或工作台,留20%余量
帧率 每秒输出3D点云帧数 静态抓取≥1fps,动态抓取≥10fps
工作距离 相机到物体的距离范围 考虑机械臂运动空间,避免干涉
我的选型口诀:
精度不够,抓不准。
视野不够,抓不到。
帧率不够,抓不快。
距离不够,装不上。

三种技术选型对比表

技术 精度 视野 帧率 工作距离 典型场景
双目结构光 0.02-0.5mm 0.1-2m 1-30fps 0.3-3m 精密装配、小零件抓取
ToF 1-10mm 0.5-10m 30-100fps 0.5-10m 仓储物流、大视野抓取
激光三角测量 0.005-0.1mm 0.01-1m 1-10fps 0.1-2m 精密测量、打磨检测

知识结构图:3D相机选型决策流程

下面这张图是我自己总结的选型流程。每次做新项目,我都会走一遍这个决策树:

3D相机选型决策流程 3D相机选型决策流程 开始选型 精度要求 < 0.5mm? 是 否 双目结构光 / 激光三角 ToF 视野 > 0.5m? 帧率 > 30fps? 选双目结构光 选ToF 提示:精度 < 0.1mm 时,激光三角测量是唯一选择 但帧率会降到 1-10fps,需权衡

选型实战建议

光看参数表还不够。我总结了几条实战经验:

  1. 先定精度,再定技术——精度要求<0.5mm,基本只能选结构光或激光三角。>1mm,ToF性价比最高。
  2. 视野和距离要一起看——同样视野,工作距离越远,精度越低。这是物理规律,绕不开。
  3. 帧率不是越高越好——帧率高了,点云质量会下降。我一般设一个「够用就行」的帧率,省下的带宽留给精度。
  4. 别忘了环境光——强光下结构光会失效,ToF反而更稳。室内项目我偏爱结构光,室外或半室外我必选ToF。
重要提醒: 选型时一定要看「实测精度」,别信「标称精度」。标称精度通常是在实验室理想环境下测的,现场一装,精度可能掉一半。我习惯让供应商提供「现场实测报告」,或者自己带工件去试。