⚡ 2026 电赛 H 题 · 车载平衡滚球 · 钢球视觉识别方案K230 通用版标注数据集 训练好的 YOLO 模型kmodel K230 端部署代码 图传代码 教程文档亚博智能 / 庐山派K230/K230D/ 01 科技 / 创乐博 / 正点原子 全系兼容H 题的本质是循迹小车 PPR 水管摆杆 钢球稳定 图传监视的多自由度运动控制题其中钢球位置视觉识别是整套 PID 控制系统的眼睛——识别精度与帧率直接决定摆球能否稳住。本方案帮你把最耗时的数据采集 → 标注 → 训练 → 转 kmodel → 板端部署全链路跑通到手即训、到手即跑。 方案交付清单序号 交付内容 说明✅ 1 标注好的钢球识别数据集 YOLO 格式 txt 标签直接可用于训练✅ 2 训练好的 YOLO 模型.kmodel K230 的 KPU 专用格式板子上电即跑✅ 3 K230 端部署代码 CanMV MicroPython 脚本参考嘉楠官方 YOLO 示例架构✅ 4 图传模块代码发送端 接收端 满足 H 题全程图传监视的赛题硬要求✅ 5 部署教程文档 从烧固件到上板运行图文步骤不懂 YOLO 也能上手️ 系统架构K230 作为视觉协处理器摄像头(OV5640/OV2640)↓ MIPI[K230 开发板]├─ 运行 YOLO 推理识别钢球位置 ├─ 像素坐标 → 实际刻度(cm)映射 ├─ UART(TTL3.3V)──→ STM32 主控位置环 PID 输入 └─ WiFi/图传模块 ──→ 场外 PAD/笔记本 实时显示录像 参考 2026 H 题方案K230 只做感知层不参与闭环控制通过串口以 ≥50Hz 帧率把钢球刻度值下发给 STM32STM32 再做三级串级 PID。推荐串口协议极简可靠比赛零 bug电平3.3V TTLTX↔RX 交叉对接波特率115200 8N1数据帧#数值\r\n示例#0.00\r\n // 钢球居中零点#-3.20\r\n // 向左偏移 3.2cm#2.75\r\n // 向右偏移 2.75cmSTM32 在串口中断中缓存数据主循环解析浮点值送入位置环 PID。✨ 方案核心优势 省时间 · 到手即用H 题赛程 4 天 3 夜视觉这块从零开始至少耗费 1.5 天。本方案数据、模型、代码、教程一步到位队伍可以把时间集中在 PID 调参和机械结构优化上——这才是拿高分的关键。 多板兼容 · 无需改代码已验证兼容主流 K230 开发板开发板 兼容性说明亚博智能 K230 已实测跑通 YOLOv8→ONNX→kmodel 全链路立创·庐山派 K230 / Lite-K230D CanMV 固件原生支持注意显示模式从 HDMI 改为 LCD01 科技 K230 标准 CanMV 架构直接部署创乐博 K230 标准 CanMV 架构直接部署正点原子 K230 标准 CanMV 架构直接部署⚠️ 庐山派用户注意嘉楠官方部分示例默认 HDMI 显示庐山派无 HDMI 输出运行前需把 display_mode 从 “hdmi” 改为 “lcd”否则报 RuntimeError: init panel failed。 识别稳定 · 为 H 题优化• 模型输入尺寸与训练时严格一致推荐 320×320 或 640×640K230 官方转换链路要求 imgsz 必须匹配• 钢球直径 1cm在画面中约 30~40 像素采用亚像素重心定位提升精度至 ±1mm• 推理帧率 ≥ 50Hz满足位置环 200Hz 控制的需求 kmodel 转换已帮你做完K230 部署最大的隐藏 Boss就是 ONNX→kmodel 转换nncase 版本匹配、校准集选择、量化参数……很多队伍模型训完却卡在转换这一步。本方案直接交付转换好的 kmodel跳过这个坑。官方转换链路参考PyTorch(.pt) → ONNX → nncase 编译 → K230 可加载的 .kmodel 适合人群• 备赛时间紧张的队伍不想从头搞视觉需要稳定方案确保拿分• 不熟悉 YOLO 训练流程环境配置、模型转换一头雾水• 冲一/二等奖的队伍把视觉这块标准化精力集中在 PID 与控制策略• 首次接触 K230 的队伍教程从烧固件讲起零基础可上手 H 题拿分路径与本方案的对应任务项 分值 本方案覆盖情况第 1 项图传 6 分 ✅ 图传代码部署教程硬件安装即拿分第 3 项静态摆球 13 分 ✅ 钢球识别串口下发调 PD 即可稳球第 4 项行至 B 点稳球 20 分 ✅ 视觉反馈循迹 PID 联动基础第 5 项整圈稳中心 20 分 ✅ 高帧率识别支撑高速动态场景第 6 项任意位稳球 20 分 ✅ 刻度映射精度 ±1mm支持任意目标位置据 H 题攻略“保底盘”主力区合计约 95 分可得视觉稳定识别是这一切的前提。 快速上手K230 端核心代码框架from libs.PipeLine import PipeLine, ScopedTimingfrom libs.YOLO import YOLOv5import os, sys, gcifname “main”:# 参考嘉楠官方 K230 YOLO 示例架构2,5rgb888p_size [320, 320]display_size [640, 480]kmodel_path “/data/ball_detection.kmodel”labels [“steel_ball”]confidence_threshold 0.5model_input_size [320, 320]pl PipeLine(rgb888p_sizergb888p_size, display_sizedisplay_size, display_modelcd) pl.create() display_size pl.get_display_size() yolo YOLOv5(task_typedetect, modevideo, kmodel_pathkmodel_path, labelslabels, rgb888p_sizergb888p_size, model_input_sizemodel_input_size, display_sizedisplay_size, conf_threshconfidence_threshold, nms_thresh0.45, max_boxes_num50) yolo.config_preprocess() while True: with ScopedTiming(total, 1): img pl.get_frame() res yolo.run(img) # 此处插入钢球像素坐标 → 实际刻度(cm) 映射 # 此处插入UART 串口发送 #数值\r\n 给 STM32 pl.show_image() gc.collect() yolo.de_init() pl.destroy() 完整代码、校准参数、串口协议实现、图传发送/接收端代码详见交付的教程文档。️ 关键词#2026电赛 #H题 #车载平衡滚球 #钢球识别 #K230 #庐山派 #YOLO #kmodel #目标检测 #图传 #STM32 #PID控制 #智慧小车⚠️ 本方案为 H 题备赛辅助资料赛题具体要求以全国大学生电子设计竞赛组委会发布的官方赛题为准。