好消息:StereoNet 已成功运行!
从最新日志看,核心问题已解决!
已正常工作的部分
- StereoNet 节点成功启动并运行
- 能接收双目图像:
receive stereo image, format: nv12 - 图像话题正常发布:
/image_combine_raw/image_left_raw/image_right_raw/image_jpeg/StereoNetNode/stereonet_visual
剩余警告(不影响深度计算)
Hobot_Codec has not received image for more than 5 seconds
Websocket did not receive image data
这是可视化编码节点的问题,不影响深度算法本身,通常是:
- 浏览器未访问
http://<IP>:8000查看画面 - 或 codec 节点配置问题
验证深度结果是否正常
# 1. 检查深度话题是否有数据
ros2 topic list | grep depth
# 2. 查看深度图像发布频率
ros2 topic hz /StereoNetNode/stereonet_depth
# 3. 查看点云话题(如果启用)
ros2 topic list | grep pointcloud
# 4. 测试深度数据
ros2 topic echo /StereoNetNode/stereonet_depth --once
️ 如果要看可视化画面
# 1. 确保 codec 节点正常工作
ros2 topic info /image_jpeg
# 2. 浏览器访问
http://<你的板子IP>:8000
# 3. 如果画面不显示,检查 codec 配置
grep -E "codec|websocket|jpeg" run_stereo.sh
后续优化建议
| 问题 | 解决方案 |
|---|---|
| 深度精度不够 | 使用专用标定文件重新标定 |
| 帧率低 | 降低分辨率或关闭可视化 (publish_visual_enabled=0) |
| 点云噪点多 | 启用后处理滤波 (pcl_filter_enable=1) |
问题总结
| 阶段 | 问题 | 状态 |
|---|---|---|
| 相机驱动 | Chip ID 读取警告 | |
| render_type | 参数类型错误 | |
| 标定配置 | calib_method=none | |
| 深度计算 | 缺少 camera_info | |
| 可视化 | codec 警告 |
相关参考
- 132GS MIPI 双目相机如何自行标定 - 精度优化
- 基于官方 132GS MIPI 双目相机运行双目 Demo 报错 - 完整案例
问题已基本解决! 建议执行上面的验证命令确认深度数据正常,然后把标定文件位置记录下来方便后续使用。如果深度精度有问题,可以考虑重新标定相机~