# Xyxx **Repository Path**: kcagame/xyxx ## Basic Information - **Project Name**: Xyxx - **Description**: 更新完毕 - **Primary Language**: Unknown - **License**: Zlib - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2024-10-13 - **Last Updated**: 2024-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工创赛物流小车 ## 基于 ROCK-5B RK3588 平台 STM32F407ZGT6下位机控制 # __文档还在慢慢整理中,readme也会持续更新,工程也存在少许bug和可以改进等着大家一起发现讨论。__ ### 整车硬件方案 > 主控: 瑞芯微RK3588 rock-5b嵌入式开发板 ,完成任务主体逻辑控制和视觉处理任务,使用串口与下位机通信。 >> 选型原因:相较于传统视觉方案,树莓派等常用嵌入式开发板在神经网络上的硬件性能不足,故使用搭载rknpu的rock-5b板端推理yolov5目标检测模型,可以很好的完成视觉检测任务。 > >下位机底板主控STM32F407ZGT6,完成车辆动作的底层控制,如直行,转向,机械臂装载等。同时连接陀螺仪等传感器。 >>选型原因:方案起初选择使用F103RCT6,但受限于IO口数量和串口数量,最后选择资源足够多的F407ZG以防止出先资源不够的问题。 > >麦克纳姆轮:天府之土 >陀螺仪:HWT101 >步进电机:张大头闭环42步进电机 >舵机:电赛剩余的普通大扭矩舵机,在赛场上也遇见使用了御龙者50KG舵机的方案,效果非常不错。 >屏幕显示:陶晶驰串口屏 ### 视觉方案 > 使用RKNPU,将YOLOv5转换为RKNN部署模型到ROCK-5B进行视觉推理 >> 模型部署步骤:PC端使用官方git上yolov5仓库进行训练并转化为onnx模型->在Linux端(虚拟机)Ubuntu 20.04 部署RKNNToolkit2 进行onnx模型转为rknn模型->rock5b板端部署rknn模型,进行推理。(可以采用多线程推理方案,将多核NPU性能释放完全,由于时间关系我们的项目只开发了rknpu实际性能的六分之一。) > 使用多线程实时更新视频流,降低视频帧读取的延迟 > > 定义Camera python类,实现start,stop,read方法 > > ~~更改了原始基础视觉方案~~ 弃用了Opencv传统视觉方案,减少对光线的要求,避免在赛场临时更改阈值同时提升了视觉处理性能,视觉处理速度能达到30FPS,完全能满足赛题对视觉处理的要求。 最后的最后,感谢这两个月来,和我共同奋战备赛的队友电控wsl,建模dxy,还有在背后一直提供支持的cyf同学,还有给我们两个月天天开实验室门禁的韩老师。此次比赛我们从0开始,没有任何的前人方案,没有任何机械方面专业的知识,经过不断的试错,改错,熬了无数的夜,克服了各种各样的困难,顶住了来自四面八方的压力,最后能做出这套还算能拿的出手的作品。虽然结局没有那么尽善尽美,但过程一定是苦涩但美好的。大家都在说结果没有那么重要,重要的是我们在过程中学到了什么,学会了什么。我们问心无愧,这样就够了 我相信,这一路的颠沛流离,最后,我们一定会有一个值得的结局。 — the end