平台使用RDK X5,RDK GS130W(I)官方双目全局快门相机

根据官方文档,GS130W(sc132gs 传感器)在 RDK X5 上的使用有特定配置要求。

问题根因

错误 infmt err bgr8-nv12 表明:编码器内部实际期望 NV12 格式,但参数配置与实际数据流不匹配。

正确解决方案

:one: 确认系统版本

首先检查系统版本是否满足要求:

cat /etc/version
# 需要 3.3.3 及以上

如果版本过低,需要升级系统镜像。

:two: 使用官方推荐的启动方式

根据文档,GS130W 相机的正确启动流程是:

步骤 1:启动 MIPI 相机节点

# 对于 sc132gs 传感器(GS130W)
ros2 launch hobot_mipi_cam mipi_cam.launch.py \
  camera_type:=sc132gs \
  output_type:=rectify

步骤 2:启动双目深度算法 + Web 可视化

ros2 launch hobot_stereonet codec_web_visual.launch.py \
  codec_sub_topic:=/image_combine_raw \
  codec_in_format:=nv12 \
  input_framerate:=30

:three: 关键参数说明

参数 正确值 说明
camera_type sc132gs GS130W 的传感器型号
output_type rectify 输出校正后的双目图像
codec_in_format nv12 必须是 nv12,MIPI 相机默认输出格式

:four: 完整启动脚本

创建启动脚本 start_gs130w.sh

#!/bin/bash
source /opt/tros/humble/setup.bash

# 启动 MIPI 相机
ros2 launch hobot_mipi_cam mipi_cam.launch.py \
  camera_type:=sc132gs \
  output_type:=rectify &

sleep 2

# 启动 Web 可视化
ros2 launch hobot_stereonet codec_web_visual.launch.py \
  codec_sub_topic:=/image_combine_raw \
  codec_in_format:=nv12 \
  input_framerate:=30

:five: 验证步骤

# 1. 确认话题有数据
ros2 topic hz /image_combine_raw

# 2. 确认图像 encoding
ros2 topic echo /image_combine_raw --field encoding --once
# 应该输出:nv12

# 3. 访问 Web 界面
# 浏览器打开:http://<RDK_IP>:8080

常见问题排查

问题 排查方法
相机不识别 检查 MIPI 排线方向(CAM 端接相机,RDK 端接开发板)
图像花屏 确认 camera_type 参数正确
Web 无法访问 检查防火墙设置,确认 8080 端口开放
帧率过低 降低 input_framerate 或升级系统版本

参考文档

如果按上述步骤操作后仍有问题,请提供:

  1. cat /etc/version 输出
  2. ros2 topic echo /image_combine_raw --field encoding --once 输出
  3. 完整的启动日志