ROS2 MIPI Camera 节点 API
1. 概览
- 节点组件:
camera_node(采集)、venc_node(硬编)、vdec_node(硬解)、vo_node(显示)、infer_node(推理) - 核心消息:
jdk_interfaces/msg/JdkFrameMsg在各节点之间传递帧(含 DMA/FD 方式)
1.1 节点与话题总览
| 节点 | 订阅话题 | 发布话题 | 说明 |
|---|---|---|---|
camera_node | — | /camera_frames | 采集 NV12 帧并发布,支持 FD/DMA 共享;可提供 FD 套接字服务。 |
venc_node | /camera_frames | /encoded_frames | 将原始帧硬件编码为 H.264/H.265。 |
vdec_node | /encoded_frames | /decoded_frames | 将编码帧解码为 NV12。 |
vo_node | /camera_frames | — | 硬件直出显示画面(JdkVo)。 |
infer_node | /camera_frames | —(打印/自处理) | 对相机帧进行 YOLOv8 目标检测(示例模型)。 |
注:所有消息字段(如
width/height/stride/pix_format/is_dma/dma_fd/data等)随JdkFrameMsg传递。
2. camera_node(相机采集)
2.1 功能说明
打开 V4L2 设备采集 NV12 帧,发布到 /camera_frames;同时启动 UNIX Socket(socket_path)用于 FD 传输(零拷贝)。