132gs 模组双目深度问题

:bullseye: 问题已明确定位!两个核心错误

从日志看到明确的报错:

错误 1:render_type 参数类型不匹配

parameter 'render_type' has invalid type: 
Wrong parameter type, parameter {render_type} is of type {string}, 
setting it to {integer} is not allowed.

错误 2:MIPI 相机节点崩溃

[ERROR] [mipi_cam]: There are no available host.

(这通常是因为相机资源被占用或配置冲突)


:white_check_mark: 完整解决方案

步骤 1:修改 render_type 为字符串格式

# 编辑 run_stereo.sh
vim run_stereo.sh

# 找到 render_type 配置行(大约在第 20-50 行之间)
# 将数字格式改为字符串格式:

#  错误写法(当前):
render_type=0
# 或
render_type=1

# ✅ 正确写法:
render_type="distance"
# 或
render_type="raw"

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

这个错误通常是因为相机资源被之前的进程占用。执行以下命令清理:

# 1. 杀掉所有可能占用相机的进程
killall mipi_cam
killall stereonet_model_node
killall hobot_codec_republish

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

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

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

步骤 3:检查标定文件

日志显示标定文件路径:

camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

确认文件存在:

ls -la /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

如果文件不存在,需要从官方套件获取或重新标定。


:clipboard: 完整修复命令(一键执行)

# 1. 备份原脚本
cp run_stereo.sh run_stereo.sh.bak

# 2. 修改 render_type 为字符串格式
sed -i 's/render_type=0/render_type="distance"/g' run_stereo.sh
sed -i 's/render_type=1/render_type="distance"/g' run_stereo.sh
sed -i 's/render_type=2/render_type="distance"/g' run_stereo.sh

# 3. 确认修改成功
grep "render_type" run_stereo.sh

# 4. 清理残留进程
killall mipi_cam 2>/dev/null
killall stereonet_model_node 2>/dev/null
killall hobot_codec_republish 2>/dev/null

# 5. 等待 3 秒后重新运行
sleep 3
bash run_stereo.sh --stereonet_version v2.4

如果问题依旧

请补充以下信息到帖子:

# 1. 确认 render_type 修改后的内容
grep -A2 -B2 "render_type" run_stereo.sh

# 2. 标定文件状态
ls -la /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

# 3. StereoNet 版本
apt list --installed | grep hobot_stereonet

# 4. 系统版本
cat /etc/issue

:books: 相关参考

优先执行步骤 1 + 步骤 2render_type 类型错误是 StereoNet 节点崩溃的直接原因,MIPI host 问题通常是进程残留导致的。