1. 图漾FM851-E2/FM855-E2-7深度相机全面解析
作为一名在工业视觉领域工作多年的工程师,我使用过各种品牌的3D相机,今天想和大家详细分享一下图漾FM851-E2/FM855-E2-7系列相机的使用经验和技巧。这两款相机在工业自动化领域应用广泛,特别是在物流分拣、拆码垛等场景中表现出色。
1.1 相机基本特性与选型建议
FM851-E2和FM855-E2-7都是基于双目立体视觉原理的深度相机,采用主动红外散斑投射技术。两者的主要区别在于:
- FM851-E2:工作波段830nm,适合室内常规环境,对蓝色托盘、木托盘等材质表现良好
- FM855-E2-7:工作波段850nm,抗环境光干扰能力更强,适合有环境光干扰的场景
在实际项目中,我建议根据现场环境选择:
- 无强光干扰的室内环境 → FM851-E2
- 有窗户或顶部采光的场景 → FM855-E2-7
- 黑色托盘等低反射率材质 → 必须使用FM855-E2-7
重要提示:FM851-E2在黑色托盘上的表现较差,如果项目涉及黑色材质,建议直接选用FM855-E2-7。
2. 硬件安装与连接指南
2.1 相机接口定义与连接
FM851-E2相机提供两种供电方式:
- DC供电:通过专用电源接口,电压范围12-24V
- PoE供电:支持802.3af标准,建议使用超五类及以上网线
接口定义如下:
- 电源/触发接口:6针航空插头
- 数据接口:RJ45千兆网口
- 状态指示灯:电源、网络、工作状态三色LED

2.2 安装注意事项
根据我的项目经验,安装时需特别注意:
- 安装方向:相机正面从左到右依次是右IR镜头、散斑投射器、RGB相机、左IR镜头
- 安装孔位:
- 上下各有一组M4螺纹孔(深度7mm)
- 侧面有一组M4螺纹孔(深度6mm)
- 工作距离:建议0.7-4米(具体取决于托盘材质)
- 安装角度:与托盘平面夹角建议小于30度
实际案例:在某汽车零部件仓库项目中,我们将相机安装在离地1.5米高度,倾斜15度,获得了最佳成像效果。
3. 软件配置与参数调优
3.1 基础软件配置
推荐使用图漾官方PercipioViewer软件,下载地址:
PercipioViewer下载链接
首次使用时需要配置相机IP,建议设置为静态IP以便后续开发:
- 打开PercipioViewer
- 选择"Device"→"IP Configuration"
- 设置合适的IP地址(与主机同网段)
3.2 深度图参数调优
深度图质量直接影响后续处理效果,以下是我的调参经验:
-
IR参数设置:
- 关闭Light Source模块的auto ctrl属性
- 曝光时间(Exposure Time):建议200-400μs
- 模拟增益(Analog Gain):建议1-2(过高会产生噪点)
- 数字增益(Gain):建议20-50
-
Depth参数设置:
- 开启时域滤波(Temporal Filter)减少噪声
- 中值滤波(Median Filter)大小建议3×3
- 填充等级(Fill Hole Level)根据实际需求调整

3.3 RGB图像调优技巧
FM851-E2的RGB相机没有硬件ISP,需要特别注意:
-
白平衡设置:
- R/G/B增益建议比例3:2:3(如32:20:32)
- 曝光时间建议200-300μs
-
使用AutoISP功能改善图像质量:
cpp复制TY_ISP_HANDLE hColorIspHandle = NULL;
ASSERT_OK(TYISPCreate(&hColorIspHandle));
ASSERT_OK(ColorIspInitSetting(hColorIspHandle, hDevice));
4. SDK开发实战指南
4.1 SDK版本选择建议
根据项目需求选择合适的SDK版本:
| 使用场景 | 推荐版本 | 备注 |
|---|---|---|
| 仅FM851-E2 | 3.6.66 | 稳定性最佳 |
| 混合使用新旧相机 | 4.1.14+ | 兼容性好 |
| ROS开发 | ROS1/ROS2 4.x | 功能最全 |
4.2 C++开发示例
获取深度图像的基本流程:
cpp复制// 初始化
TYInitLib();
TY_DEV_HANDLE hDevice;
TYOpenDevice("192.168.1.100", &hDevice);
// 启用组件
TYEnableComponents(hDevice, TY_COMPONENT_DEPTH_CAM);
// 开始采集
TYStartCapture(hDevice);
// 获取帧数据
TY_FRAME_DATA frame;
TYFetchFrame(hDevice, &frame, 1000);
// 处理深度数据
if(frame.image[0].valid){
uint16_t* depth = (uint16_t*)frame.image[0].buffer;
// 处理深度数据...
}
// 释放资源
TYStopCapture(hDevice);
TYCloseDevice(hDevice);
TYDeinitLib();
4.3 ROS集成方案
对于ROS开发者,推荐使用官方ROS驱动包:
- 安装依赖:
bash复制sudo apt install ros-$ROS_DISTRO-pcl-ros ros-$ROS_DISTRO-image-transport
- 启动相机节点:
bash复制roslaunch ty_camera ty_camera.launch ip:=192.168.1.100
- 订阅的话题:
- /ty_camera/depth/image_raw:深度图像
- /ty_camera/color/image_raw:彩色图像
- /ty_camera/points:点云数据
5. 常见问题排查手册
5.1 成像质量差问题排查
根据我的项目经验,成像问题可按以下流程排查:
-
检查环境光:
- 是否有阳光直射?
- 是否需要遮光措施?
-
检查材质特性:
- 高反材质:降低激光功率
- 低反材质:增加激光功率或更换相机型号
-
检查相机参数:
- IR曝光和增益是否合理?
- 滤波参数是否适当?
-
检查硬件状态:
- 激光器是否正常工作?
- 镜头是否有污染?
5.2 网络连接问题
常见网络问题及解决方案:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 相机无法发现 | IP设置错误 | 使用PercipioViewer重置IP |
| 频繁掉线 | 网线质量差 | 更换为高柔工业级网线 |
| 图像卡顿 | 网络带宽不足 | 降低分辨率或启用压缩 |
6. 性能测试数据参考
6.1 帧率测试结果
在不同分辨率下的实测帧率:
| 分辨率 | 深度帧率 | RGB帧率 |
|---|---|---|
| 1280×960 | 15fps | 15fps |
| 640×480 | 30fps | 30fps |
| 320×240 | 60fps | 60fps |
6.2 延迟测试数据
从触发到图像输出的端到端延迟:
| 模式 | 平均延迟 |
|---|---|
| 自由运行 | 33.2ms |
| 硬件触发 | 35.7ms |
7. 进阶应用技巧
7.1 多相机同步方案
对于需要多相机协同的场景,可以通过以下方式实现同步:
-
硬件同步:
- 使用CMOS_SYNC接口连接多台相机
- 设置一台为主(Master),其余为从(Slave)
-
软件同步:
- 使用NTP网络对时
- 通过SDK设置统一的时间戳
7.2 点云后处理优化
提升点云质量的几种方法:
- 离群点去除:
cpp复制pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
sor.setMeanK(50);
sor.setStddevMulThresh(1.0);
sor.filter(*cloud_filtered);
- 体素格滤波降采样:
cpp复制pcl::VoxelGrid<pcl::PointXYZ> vg;
vg.setLeafSize(0.01f, 0.01f, 0.01f);
vg.filter(*cloud_downsampled);
8. 项目实战经验分享
在某大型物流中心项目中,我们使用12台FM855-E2-7相机构建了全自动拆码垛系统,总结出以下经验:
-
安装高度:根据叉臂长度调整
- 叉臂<1.2m:安装高度0.35-0.45m
- 叉臂≥1.2m:安装高度0.45-0.8m
-
参数优化:
- 黑色托盘:激光功率80%,曝光时间300μs
- 木托盘:激光功率50%,曝光时间200μs
-
故障排查:
- 定期检查镜头清洁度
- 监控相机工作温度(建议0-45℃)
经过三个月的运行测试,系统识别准确率达到99.7%,平均处理速度达800件/小时,大幅提升了物流效率。