1. 立项背景与目标
在硬件闭环控制、工业视觉检测及操作流程评估场景中,需要通过上位机与底层硬件实时通信,并结合摄像头进行图像处理与动作评估。传统人工评估效率低、标准不一,本项目旨在通过软件实现硬件精准控制、多源数据融合与流程自动化打分,提升训练与测试的标准化水平。
2. 软件功能与核心模块
本作品包含三个核心模块:
硬件控制与通信模块:基于Qt + 串口通讯协议,实时接收姿态检测数据,判断环境与动作安全性,并下发指令控制底层硬件执行相应动作。
视觉姿态检测模块:驱动摄像头进行姿态识别,通过共享内存与主控程序进行高速通信,实时传输检测数据。
流程评估与录像模块:基于Qt + OpenCV,记录操作人员处置步骤,根据标准步骤及处理时间进行智能打分,并同步录制全流程视频,便于复盘讲评。
3. 业务流程与功能路径
上位机启动后,首先与硬件建立串口连接,同步开启摄像头姿态检测。系统实时接收硬件反馈数据和视觉检测数据,通过共享内存进行多进程数据融合。当检测到操作人员开始执行操作时,系统自动记录步骤并同步开启视频录制;操作完成后,根据步骤正确率和耗时自动评分,并将评分结果与录像文件归档,供后续复盘。
1. 整体架构和设计思路
采用 C++ / Qt 开发整体框架,结合多线程与多进程架构。界面层负责实时状态展示与交互;通信层封装串口协议与共享内存,负责与底层硬件及视觉检测进程进行数据交互;视觉层基于 OpenCV 进行视频采集、姿态检测与录制。
2. 我负责的模块和结果
独立负责硬件控制上位机、姿态检测通信模块及视觉评估程序的设计与编码。实现了硬件指令的毫秒级下发与状态回传;通过共享内存实现了主控程序与视觉检测程序的零卡顿数据同步;实现了自动化的流程打分与全流程录像,大幅提升了测试与训练的评估效率。
3. 我遇到的难点、坑和解决方案
串口通信稳定性:底层硬件在长时间运行中容易出现粘包和断线。解决方案是自定义了完整的协议头尾校验机制,并加入断线重连与心跳包保活逻辑,保障通信稳定。
多进程数据同步:共享内存读写存在数据竞争和内存泄漏风险。解决方案是设计了基于信号量与互斥锁的环形缓冲区,保证多进程间数据的安全、高效流转。
OpenCV集成与界面流畅度:视频录制和姿态检测极其消耗CPU,导致Qt界面卡顿。解决方案是将视觉处理与视频录制放在独立的子线程,通过异步信号槽与主界面通信,确保主界面操作流畅。