问题根因:camera_info 话题未发布
从最新诊断看,StereoNet 节点无法发布深度数据的根本原因是:
WARNING: topic [/image_combine_raw/right/camera_info] does not appear to be published yet
WARNING: topic [/StereoNetNode/stereonet_depth] does not appear to be published yet
相机节点没有发布 camera_info,导致 StereoNet 无法获取标定参数,深度计算失败。
解决方案(按优先级尝试)
方案 1:检查 mipi_cam 是否发布 camera_info
# 1. 单独运行相机节点
bash run_cam.sh --rotation 90.0 --log_level INFO
# 2. 新开终端检查话题
ros2 topic list | grep camera_info
如果还是没有 camera_info,说明 mipi_cam 配置问题。
方案 2:使用文件标定模式(推荐)
既然 ROS 话题方式不发布 camera_info,改用文件标定:
# 1. 编辑 run_stereo.sh
vim run_stereo.sh
# 2. 修改标定配置(约 35-40 行)
calib_method="file"
stereo_calib_file_path="/opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml"
# 3. 保存后运行
bash run_stereo.sh --stereonet_version v2.4
方案 3:创建 SC132GS 专用标定文件
参考 SC230ai 格式,创建 SC132GS 标定文件:
# 1. 查看 SC230ai 标定文件格式
cat /opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml
# 2. 复制创建 SC132GS 标定文件
cp /opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml \
/opt/tros/humble/lib/mipi_cam/config/SC132GS_calibration.yaml
# 3. 修改 run_stereo.sh 使用新文件
vim run_stereo.sh
# 修改为:
calib_method="file"
stereo_calib_file_path="/opt/tros/humble/lib/mipi_cam/config/SC132GS_calibration.yaml"
方案 4:检查 mipi_cam 配置参数
# 查看 mipi_cam 节点参数
ros2 param dump /mipi_cam 2>/dev/null | grep -i calib
# 或查看启动参数
grep -E "camera_info|calibration" run_cam.sh
可能需要启用相机标定参数发布功能。
完整诊断命令
请执行以下命令,把输出补充到帖子:
# 1. 单独运行相机,检查 camera_info
bash run_cam.sh --rotation 90.0 --log_level INFO &
sleep 5
ros2 topic list | grep camera_info
# 2. 查看 SC230ai 标定文件格式
cat /opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml
# 3. 检查 run_stereo.sh 当前标定配置
grep -E "calib_method|stereo_calib_file_path|render_type" run_stereo.sh
# 4. 系统版本确认
cat /etc/issue
相关参考
- 132GS MIPI 双目相机如何自行标定 - 标定文件详细格式
- 基于官方 132GS MIPI 双目相机运行双目 Demo 报错 - 同类问题完整解决
- RDK-X5 双目深度算法 hobot_stereonet 精度差 - 标定参数配置详解
临时测试
如果急需验证流程,可以先用离线图片测试:
# 使用离线模式(不需要实时相机)
bash run_stereo.sh --stereonet_version v2.4 --calib_method file --stereo_calib_file_path /opt/tros/humble/lib/mipi_cam/config/SC230ai_dual_calibration.yaml
优先尝试方案 2,直接用文件标定模式绕过 camera_info 话题问题。把诊断结果补充到帖子,可以帮你更精准定位!