问题根因已定位!两个核心错误
从日志中看到明确的报错信息:
错误 1:calib_method 参数值无效 ️
[ERROR] [StereoNetNode]: => calib_method parameter invalid,
should be one of [none, custom]
关键发现:RDK S100 的 StereoNet v2.4 只支持 none 或 custom,不支持 file 或 ros!
错误 2:MIPI 相机节点崩溃
[ERROR] [mipi_cam]: There are no available host.
[ERROR] [mipi_cam-2]: process has died [exit code -11]
完整解决方案
步骤 1:修改 calib_method 为 custom
# 编辑 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
验证深度输出
# 新开终端检查
ros2 topic list | grep -E "depth|stereo"
ros2 topic hz /StereoNetNode/stereonet_depth
# 如果有数据输出,说明成功!
如果 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 问题)
配置总结
| 参数 | 正确值 | 说明 |
|---|---|---|
calib_method |
custom |
S100 v2.4 仅支持 none/custom |
stereo_calib_file_path |
绝对路径 | 标定文件完整路径 |
render_type |
"distance" |
字符串格式 |
相关参考
- 132GS MIPI 双目相机如何自行标定 - 标定配置详解
- 基于官方 132GS MIPI 双目相机运行双目 Demo 报错 - 同类问题案例
- RDK S100 V4.0.2 版本发布 - SC132GS 修复说明
优先执行步骤 1(修改 calib_method="custom")+ 步骤 2(重启板子),这两个是核心问题。执行后把新的日志输出补充到帖子,特别是 StereoNetNode 初始化部分!