好消息:相机节点工作正常!
从 ros2 topic list 输出看,MIPI 相机已经成功启动,三个图像话题都存在:
/image_combine_raw- 双目合成图像/image_left_raw- 左目图像/image_right_raw- 右目图像
这说明问题不在相机驱动层,而是 StereoNet 深度估计算法节点的问题。
下一步排查
检查标定文件(最关键)
双目深度算法必须有标定文件才能工作:
# 检查标定文件位置
ls -la /data/camera_calib/
# 或
ls -la /userdata/data/camera_calib/
# 或
find / -name "*.yaml" | grep -i calib
预期结果:应该能看到类似 calib.yaml 或 stereo_calib.yaml 的文件
2️ 运行 stereonet 并捕获完整报错
# 运行并保存完整日志
bash run_stereo.sh --stereonet_version v2.4 2>&1 | tee stereo_full_log.txt
# 等待 30 秒后按 Ctrl+C,然后查看日志
cat stereo_full_log.txt | grep -E "ERROR|WARN|Failed"
检查 stereonet 版本
# 查看已安装的 stereonet 版本
apt list --installed | grep hobot_stereonet
# 或
pip show hobot-stereonet
常见解决方案
根据社区案例 [话题 34286],v2.4 版本的常见问题:
| 问题 | 解决方案 |
|---|---|
| 标定文件缺失 | 官方套件应自带标定文件,联系供应商获取 |
| render_type 不兼容 | 编辑 run_stereo.sh,将 render_type=1 改为 render_type=0 |
| 模型文件路径错误 | 检查 /opt/tros/humble/share/hobot_stereonet/config/ 下是否有 .bin 模型文件 |
快速修复尝试
# 编辑 run_stereo.sh
vim run_stereo.sh
# 找到 render_type 配置行(约 20-30 行)
# 修改为:
render_type=0
# 保存后重新运行
bash run_stereo.sh --stereonet_version v2.4
请补充以下信息
- 标定文件检查结果:
ls -la /data/camera_calib/的输出 - 完整报错日志:
stereo_full_log.txt中的 ERROR 部分 - stereonet 版本:
apt list --installed | grep hobot_stereonet的输出
把这些信息补充到帖子中,可以更快定位问题!
相关参考
- 基于官方 132GS MIPI 双目相机运行双目 Demo 报错 - 同类问题完整解决方案
- RDK-X5 双目深度算法 hobot_stereonet 精度差 - 标定参数配置详解