提交演示视频
本系统面向“基于 XiUOS 开发板的 AI 视觉目标检测与状态判别”场景,构建了一套从视觉数据采集、图像数据上报、边缘 AI 推理、结果展示到系统行为联动的完整流程。系统以 CH32V208RBT6 开发板运行 XiUOS 作为图像采集与数据上报节点,以 RK3588 开发板 作为边缘 AI 推理节点,以 ROSMASTER-X3 运动小车 作为摄像头来源和行为执行机构。
系统整体目标是:通过网络摄像头获取场景图像,由 CH32V208RBT6 开发板完成图像获取与网络上报,RK3588 开发板部署轻量化 YOLOv8n 视觉模型进行人体目标识别;当识别到人体目标后,系统在外接显示器上展示处理后的识别结果图像,同时向 ROSMASTER-X3 小车下发前进指令,触发小车执行运动响应。
如需查看各模块的更详细实现说明,可分别参考以下目录中的 README.md:
README.md
ROSMASTER_X3_CAR/README.md
CH32V208RBT6/README.md
RK3588/README.md
系统整体采用“感知端 + XiUOS 采集上报端 + 边缘推理端 + 结果反馈与行为联动端”的分层架构:
系统按照功能职责划分为三个核心硬件节点:
这种划分能够让不同硬件各自承担适合自身资源条件的任务:CH32V208RBT6 负责体现 XiUOS 设备端接入能力和网络数据上报能力;RK3588 负责计算量较大的 AI 推理任务;ROSMASTER-X3 则负责真实场景感知和运动执行。
系统的数据流主要围绕图像数据传输展开:
系统的控制流主要围绕识别结果触发小车动作展开:
person
/cmd_vel
ROSMASTER-X3 小车在系统中同时承担 网络摄像头来源 和 系统行为执行端 两类角色。
摄像头方面,小车使用本体摄像头采集场景图像,并通过 HTTP 接口向外提供单帧 JPEG 图像、分块图像和视频流预览能力。CH32V208RBT6 开发板通过网络访问小车摄像头接口,从而获得视觉数据。
运动控制方面,小车运行 ROS2 控制节点,对外提供 HTTP 运动控制接口。RK3588 在识别到人体目标后调用小车的 /forward 接口,小车服务再将该请求转换为 ROS2 /cmd_vel 速度控制消息,最终驱动小车向前运动。
/forward
雷达方面,小车可订阅 /scan 雷达数据,并计算正前方扇区内的最近障碍物距离。当前系统主要使用摄像头识别结果触发小车前进,雷达数据可作为后续扩展的安全避障依据,例如在触发前进前判断前方距离是否满足安全阈值。
/scan
CH32V208RBT6 开发板是本系统中体现 XiUOS 设备端能力的核心模块。该模块基于 XiUOS 代码仓库进行修改,主要涉及 main.c、wchnet_ethernet.c 和 ModuleConfig.c 三个文件。
main.c
wchnet_ethernet.c
ModuleConfig.c
该模块主要完成以下任务:
需要特别说明的是,受 CH32V208RBT6 硬件资源限制,本项目没有采用开发板物理接口直接连接摄像头,而是通过网络方式接入摄像头。实际测试中,CH32V208RBT6 的片内 SRAM 最大约为 64KB,而运行 XiUOS 后可用空余内存约为 8KB。由于图像数据本身占用空间较大,且图像裁剪、缩放、灰度化等预处理操作需要额外缓存和计算资源,经过多次尝试后,难以在 CH32V208RBT6 上稳定完成完整图像预处理。
因此,当前系统采取了硬件条件下的折中方案:图像尺寸缩减、JPEG 质量降低等预处理工作前移到 ROSMASTER-X3 小车摄像头服务侧完成;CH32V208RBT6 主要负责网络采集、数据搬运和上报。这样既保留了 XiUOS 开发板参与视觉数据采集链路的作用,也避免了因片内 SRAM 不足导致系统运行不稳定。
RK3588 开发板在系统中作为边缘 AI 推理节点,负责接收 CH32V208RBT6 上传的图像数据,并使用 RKNN 运行 YOLOv8n 轻量级视觉目标检测模型。
该模块主要包括以下功能:
RK3588 具备更强的 AI 计算能力,适合承担模型部署和推理任务。当前系统使用的是 YOLOv8n 轻量级模型,并通过 RKNN 格式在 RK3588 平台上运行,从而在嵌入式边缘环境中实现目标检测。
显示模块运行在 RK3588 开发板上,主要用于展示 AI 推理后的结果图像。当 RK3588 完成 YOLOv8n 推理后,会生成带检测框的图像,并在外接显示器上自动刷新显示。
显示内容包括:
该模块用于直观展示系统运行效果,也便于现场演示和答辩说明。
系统行为联动由 RK3588 和 ROSMASTER-X3 小车共同完成。RK3588 负责根据识别结果做出决策,小车负责执行动作。
当前系统设定的联动逻辑为:
该设计实现了从“视觉识别结果”到“系统行为响应”的闭环流程,符合赛题中结果输出与系统联动的要求。
从理想设计角度看,视觉采集链路应当是:
摄像头通过物理接口连接 CH32V208RBT6 开发板 → CH32V208RBT6 基于 XiUOS 驱动框架完成摄像头接入 → 开发板进行图像预处理 → 将预处理后的图像上报给边缘服务器或 AI 推理节点。
但是在实际实现过程中,系统受到以下条件限制:
摄像头物理接入受限CH32V208RBT6 开发板难以通过现有物理接口稳定接入本项目所需摄像头,因此无法按照理想方案直接从开发板物理接口读取摄像头数据。
片内 SRAM 资源有限CH32V208RBT6 片内 SRAM 最大约为 64KB,实际运行 XiUOS 后空余内存约为 8KB。图像数据缓存和图像预处理操作对内存要求较高,当前硬件条件难以支撑完整图像预处理流程。
图像预处理难以放在 CH32V208RBT6 端完成经过多次尝试,裁剪、缩放、灰度化等预处理操作在 CH32V208RBT6 上容易受到内存不足、缓存不足和稳定性问题影响。
基于以上原因,当前系统采用了工程折中方案:
该方案虽然与理想方案相比有所妥协,但仍然保留了完整的“视觉感知—XiUOS 采集上报—边缘 AI 推理—结果反馈—行为联动”流程,能够满足当前硬件条件下的系统演示和赛题验证需求。
面向智慧车间的工业物联网操作系统
基于 XiUOS 开发板的 AI 视觉目标检测与状态判别系统整体设计文档
1. 项目概述
本系统面向“基于 XiUOS 开发板的 AI 视觉目标检测与状态判别”场景,构建了一套从视觉数据采集、图像数据上报、边缘 AI 推理、结果展示到系统行为联动的完整流程。系统以 CH32V208RBT6 开发板运行 XiUOS 作为图像采集与数据上报节点,以 RK3588 开发板 作为边缘 AI 推理节点,以 ROSMASTER-X3 运动小车 作为摄像头来源和行为执行机构。
系统整体目标是:通过网络摄像头获取场景图像,由 CH32V208RBT6 开发板完成图像获取与网络上报,RK3588 开发板部署轻量化 YOLOv8n 视觉模型进行人体目标识别;当识别到人体目标后,系统在外接显示器上展示处理后的识别结果图像,同时向 ROSMASTER-X3 小车下发前进指令,触发小车执行运动响应。
如需查看各模块的更详细实现说明,可分别参考以下目录中的
README.md:ROSMASTER_X3_CAR/README.mdCH32V208RBT6/README.mdRK3588/README.md2. 系统架构图
系统整体采用“感知端 + XiUOS 采集上报端 + 边缘推理端 + 结果反馈与行为联动端”的分层架构:
3. 系统整体架构设计
3.1 总体设计思路
系统按照功能职责划分为三个核心硬件节点:
这种划分能够让不同硬件各自承担适合自身资源条件的任务:CH32V208RBT6 负责体现 XiUOS 设备端接入能力和网络数据上报能力;RK3588 负责计算量较大的 AI 推理任务;ROSMASTER-X3 则负责真实场景感知和运动执行。
3.2 数据流设计
系统的数据流主要围绕图像数据传输展开:
3.3 控制流设计
系统的控制流主要围绕识别结果触发小车动作展开:
person类目标,则认为系统识别到人体目标;/cmd_vel话题发布运动速度;4. 各部分功能模块说明
4.1 ROSMASTER-X3 小车模块
ROSMASTER-X3 小车在系统中同时承担 网络摄像头来源 和 系统行为执行端 两类角色。
摄像头方面,小车使用本体摄像头采集场景图像,并通过 HTTP 接口向外提供单帧 JPEG 图像、分块图像和视频流预览能力。CH32V208RBT6 开发板通过网络访问小车摄像头接口,从而获得视觉数据。
运动控制方面,小车运行 ROS2 控制节点,对外提供 HTTP 运动控制接口。RK3588 在识别到人体目标后调用小车的
/forward接口,小车服务再将该请求转换为 ROS2/cmd_vel速度控制消息,最终驱动小车向前运动。雷达方面,小车可订阅
/scan雷达数据,并计算正前方扇区内的最近障碍物距离。当前系统主要使用摄像头识别结果触发小车前进,雷达数据可作为后续扩展的安全避障依据,例如在触发前进前判断前方距离是否满足安全阈值。4.2 CH32V208RBT6 XiUOS 图像采集与上报模块
CH32V208RBT6 开发板是本系统中体现 XiUOS 设备端能力的核心模块。该模块基于 XiUOS 代码仓库进行修改,主要涉及
main.c、wchnet_ethernet.c和ModuleConfig.c三个文件。该模块主要完成以下任务:
需要特别说明的是,受 CH32V208RBT6 硬件资源限制,本项目没有采用开发板物理接口直接连接摄像头,而是通过网络方式接入摄像头。实际测试中,CH32V208RBT6 的片内 SRAM 最大约为 64KB,而运行 XiUOS 后可用空余内存约为 8KB。由于图像数据本身占用空间较大,且图像裁剪、缩放、灰度化等预处理操作需要额外缓存和计算资源,经过多次尝试后,难以在 CH32V208RBT6 上稳定完成完整图像预处理。
因此,当前系统采取了硬件条件下的折中方案:图像尺寸缩减、JPEG 质量降低等预处理工作前移到 ROSMASTER-X3 小车摄像头服务侧完成;CH32V208RBT6 主要负责网络采集、数据搬运和上报。这样既保留了 XiUOS 开发板参与视觉数据采集链路的作用,也避免了因片内 SRAM 不足导致系统运行不稳定。
4.3 RK3588 边缘 AI 推理与结果反馈模块
RK3588 开发板在系统中作为边缘 AI 推理节点,负责接收 CH32V208RBT6 上传的图像数据,并使用 RKNN 运行 YOLOv8n 轻量级视觉目标检测模型。
该模块主要包括以下功能:
person;RK3588 具备更强的 AI 计算能力,适合承担模型部署和推理任务。当前系统使用的是 YOLOv8n 轻量级模型,并通过 RKNN 格式在 RK3588 平台上运行,从而在嵌入式边缘环境中实现目标检测。
4.4 显示与结果反馈模块
显示模块运行在 RK3588 开发板上,主要用于展示 AI 推理后的结果图像。当 RK3588 完成 YOLOv8n 推理后,会生成带检测框的图像,并在外接显示器上自动刷新显示。
显示内容包括:
person;该模块用于直观展示系统运行效果,也便于现场演示和答辩说明。
4.5 系统行为联动模块
系统行为联动由 RK3588 和 ROSMASTER-X3 小车共同完成。RK3588 负责根据识别结果做出决策,小车负责执行动作。
当前系统设定的联动逻辑为:
该设计实现了从“视觉识别结果”到“系统行为响应”的闭环流程,符合赛题中结果输出与系统联动的要求。
5. 硬件限制与设计妥协说明
从理想设计角度看,视觉采集链路应当是:
但是在实际实现过程中,系统受到以下条件限制:
摄像头物理接入受限
CH32V208RBT6 开发板难以通过现有物理接口稳定接入本项目所需摄像头,因此无法按照理想方案直接从开发板物理接口读取摄像头数据。
片内 SRAM 资源有限
CH32V208RBT6 片内 SRAM 最大约为 64KB,实际运行 XiUOS 后空余内存约为 8KB。图像数据缓存和图像预处理操作对内存要求较高,当前硬件条件难以支撑完整图像预处理流程。
图像预处理难以放在 CH32V208RBT6 端完成
经过多次尝试,裁剪、缩放、灰度化等预处理操作在 CH32V208RBT6 上容易受到内存不足、缓存不足和稳定性问题影响。
基于以上原因,当前系统采用了工程折中方案:
该方案虽然与理想方案相比有所妥协,但仍然保留了完整的“视觉感知—XiUOS 采集上报—边缘 AI 推理—结果反馈—行为联动”流程,能够满足当前硬件条件下的系统演示和赛题验证需求。
6. 关键接口关系
/cmd_vel/scan7. 系统运行流程
8. 与赛题要求的对应关系
person,并据此判断触发条件