好的,既然你用的是官方 RDK X5 230AI MIPI 双目相机,那问题就更有针对性了。
根据社区案例 [34255],官方相机理论上应该开箱即用,标定参数已经预置在系统中。出现"近的远、远的近"这种深度反转问题,通常是以下几个原因:
针对官方相机的排查步骤
确认标定文件是否正确加载
官方相机的标定参数应该位于:
ls /opt/tros/humble/lib/mipi_cam/config/
cat /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml
检查重点:
- 文件是否存在
- 内参 (
intrinsics) 和外参 (T_cn_cnm1) 是否有合理数值 - 是否对应 SC230AI 模组
验证启动方式是否正确
使用官方推荐的双目启动命令:
source /opt/tros/humble/setup.bash
ros2 launch mipi_cam mipi_cam_dual_channel.launch.py
然后在另一个终端启动 StereoNet 模型:
# 尝试 V2.4 int8 版本
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int8_usb_cam.launch.py
# 或者尝试 int16 版本(社区反馈对某些场景效果更好)
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16_usb_cam.launch.py
检查极线对齐状态
运行以下命令查看 rectified 图像:
# 安装 rqt 工具(如果没有)
sudo apt install ros-humble-rqt-image-view
# 查看左右目校正后的图像
rqt_image_view
选择 /stereo0/rectified_left 和 /stereo0/rectified_right,检查:
- 同一水平线上的物体在左右图中是否严格对齐
- 如果不对齐,说明 GDC 校正未正确应用
确认 stereo.yaml 是否使用了正确的参数
StereoNet 使用的标定文件路径:
cat /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml
关键检查:
intrinsics是否与 MIPI 相机匹配(官方 SC230AI 应该是特定值)T_cn_cnm1外参矩阵是否正确- 如果这里是默认值而非官方相机参数,需要修改
系统版本确认
请提供你的系统版本:
cat /etc/horizon_version
社区反馈 3.1.1 版本 对官方 MIPI 相机支持较好。如果你的版本较旧,建议升级:
sudo apt update
sudo apt upgrade
最可能的原因
基于你是官方相机但仍出现深度反转,最大可能是:
- stereo.yaml 中的参数未正确配置 - StereoNet 可能使用了默认的 USB 相机参数而非 MIPI 相机参数
- GDC 校正未生效 - 极线未正确对齐导致立体匹配错误
- 模型版本问题 - 尝试切换到 V2.4 int16 版本
请补充以下信息
为了更精准定位,请在原帖中补充:
# 1. 系统版本
cat /etc/horizon_version
# 2. 标定文件内容
cat /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml
# 3. StereoNet 配置
cat /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml
# 4. 使用的 launch 文件
# (你运行的是哪个命令?)
快速尝试方案
如果急需验证,可以先:
- 切换到 V2.4 int16 模型试试效果
- 重启板卡后重新测试(排除临时状态问题)
- 检查排线是否插紧(官方套件有时运输中会松动)
建议:把上述命令的输出结果补充到你的原帖中,这样社区成员(包括官方技术支持)能更准确地帮你分析问题。官方相机理论上不应该出现这种问题,很可能是配置未正确加载。