132gs 模组双目深度问题

:bullseye: 进展分析:配置已正确,需验证运行状态

从你的信息看,配置已经正确

  • :white_check_mark: calib_method="file" - 使用文件标定模式
  • :white_check_mark: stereo_calib_file_path 指向 SC132gs 标定文件
  • :white_check_mark: render_type="distance" - 字符串格式正确
  • :white_check_mark: 标定文件内容有效(R 矩阵 + T 向量)

hobot_stereonet 输出为空说明是通过其他方式安装的(可能是镜像自带),不影响使用。


:white_check_mark: 验证步骤(请按顺序执行)

步骤 1:确认标定文件存在

# 检查标定文件是否真的存在
ls -la /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

# 查看文件大小(应该大于 0)
wc -l /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

步骤 2:重新运行并捕获完整日志

# 清理残留进程
killall mipi_cam stereonet_model_node hobot_codec_republish websocket 2>/dev/null
sleep 3

# 运行并保存日志
bash run_stereo.sh --stereonet_version v2.4 2>&1 | tee stereo_test.log

# 等待 30 秒后按 Ctrl+C

步骤 3:检查深度话题

# 新开终端检查
ros2 topic list | grep -E "depth|stereo"
ros2 topic hz /StereoNetNode/stereonet_depth

:magnifying_glass_tilted_left: 如果深度话题仍无输出

查看日志中的关键错误:

# 搜索 ERROR 和 WARN
grep -E "ERROR|WARN|Failed" stereo_test.log | tail -30

# 特别关注 StereoNetNode 的初始化信息
grep -A5 "init StereoNetNode" stereo_test.log

:clipboard: 常见原因排查

问题 检查命令 解决方案
标定文件路径错误 ls -la /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml 确认文件存在
标定文件格式错误 cat /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml 参考 SC230ai 格式
相机分辨率不匹配 `grep -E "image_width image_height" run_stereo.sh`
StereoNet 节点崩溃 grep "process has died" stereo_test.log 查看崩溃原因

:light_bulb: 临时测试:使用 SC230ai 标定文件

如果 SC132gs 标定文件有问题,临时用 SC230ai 测试:

# 修改配置
vim run_stereo.sh
# 改为:
stereo_calib_file_path="/opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml"

# 重新运行
bash run_stereo.sh --stereonet_version v2.4

:books: 请补充以下信息

# 1. 标定文件是否存在
ls -la /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

# 2. 运行日志中的关键错误
grep -E "ERROR|stereonet_depth" stereo_test.log | tail -20

# 3. 当前话题列表
ros2 topic list | grep -E "depth|stereo|camera_info"

把这些输出补充到帖子,可以帮你精准定位最后的问题!


相关参考

配置已经正确,现在需要确认标定文件是否真的能被 StereoNet 读取。请执行上面的验证命令!