132gs 模组双目深度问题

:bullseye: 问题根因已定位!两个核心错误

从日志中看到明确的报错信息:

错误 1:calib_method 参数值无效 ️

[ERROR] [StereoNetNode]: => calib_method parameter invalid, 
should be one of [none, custom]

关键发现:RDK S100 的 StereoNet v2.4 只支持 nonecustom,不支持 fileros

错误 2:MIPI 相机节点崩溃

[ERROR] [mipi_cam]: There are no available host.
[ERROR] [mipi_cam-2]: process has died [exit code -11]

:white_check_mark: 完整解决方案

步骤 1:修改 calib_methodcustom

# 编辑 run_stereo.sh
vim run_stereo.sh

# 找到标定配置部分,修改为:
# ❌ 错误配置
calib_method="file"

# ✅ 正确配置(S100 v2.4 专用)
calib_method="custom"
stereo_calib_file_path="/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml"

步骤 2:解决 MIPI Host 不可用问题

# 1. 清理所有残留进程
killall mipi_cam stereonet_model_node hobot_codec_republish websocket 2>/dev/null

# 2. 检查是否有进程残留
ps aux | grep -E "mipi|stereo|codec"

# 3. 如果有残留,强制杀掉
sudo kill -9 <PID>

# 4. 最彻底的方法:重启板子
sudo reboot

步骤 3:重新运行并验证

# 重启后等待 1 分钟,然后运行
cd /userdata/data/test/
bash run_stereo.sh --stereonet_version v2.4 2>&1 | tee stereo_final.log

# 等待 30 秒,观察是否还有 ERROR

:clipboard: 验证深度输出

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

# 如果有数据输出,说明成功!

:magnifying_glass_tilted_left: 如果 MIPI Host 问题依旧

这可能是 S100 相机驱动配置问题,尝试以下命令:

# 1. 检查 IIO 设备
ls /sys/bus/iio/devices/

# 2. 单独测试相机节点
bash run_cam.sh --rotation 90.0 --log_level INFO

# 3. 查看相机话题是否正常
ros2 topic list | grep image
ros2 topic hz /image_combine_raw

如果 run_cam.sh 也报 There are no available host,说明是相机驱动层问题,可能需要:

  • 检查 MIPI 物理连接
  • 更新系统到最新版本(V4.0.2+ 修复了 SC132GS 问题)

:books: 配置总结

参数 正确值 说明
calib_method custom S100 v2.4 仅支持 none/custom
stereo_calib_file_path 绝对路径 标定文件完整路径
render_type "distance" 字符串格式

:open_book: 相关参考


优先执行步骤 1(修改 calib_method="custom")+ 步骤 2(重启板子),这两个是核心问题。执行后把新的日志输出补充到帖子,特别是 StereoNetNode 初始化部分!