# 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