Skip to content
CuiFrost's Blog
工创赛省一复盘:从零组建跨学科团队到 6 个月交付一套智能分类装置Blur image

项目概述#

项目属性内容
竞赛名称江苏省大学生工程实践与创新能力大赛
赛项生活垃圾智能分类赛项
项目时间2024.10 – 2025.04
获奖情况省级一等奖
我的角色队长、系统架构师
技术栈STM32、Arduino、SolidWorks、机械结构设计、通信协议
核心指标分类准确率 92%、总耗时 2 分 45 秒(赛项要求 3 分钟)

为什么做这个项目#

大二上学期,我开始琢磨要不要参加更有含金量的比赛。之前写垃圾分类的实用新型专利时,我对这个方向做过大量调研——国内外的垃圾分类方案、传感器选型、机械结构设计,积累了不少认知。正好工创赛有个生活垃圾智能分类赛项,赛道和我的积累高度重合。

但这次不是一个人干。垃圾分类装置涉及机械结构、视觉识别、电控系统和系统集成,一个人做不了。我需要组一个跨学科团队。

我在 Robot Master 实验室里找了视觉和机械方向的同学,又拉上了跟着我做校级本创的同伴,凑成了一个四人队伍。指导老师周元凯老师为我们提供了约 4000 元的初期经费。


主体:从方案选型到系统交付#

第一步:建知识库,不让信息成为瓶颈#

团队组建后的第一件事不是画图写代码,而是建了一个线上语雀知识库。

上一届干过的经验告诉我:四个人四个脑子,信息不同步是最大的隐形杀手。你调研了一个方案,他不知道;他改了结构参数,你没看到——到最后东西对不上,谁都不知道问题出在哪。

我用这个知识库把大家的讨论、调研资料、方案想法全部归拢在一起,确保每个人看到的都是同一份信息。这个习惯后来在挑战杯项目里也延续了下来——只是工具从语雀换成了 Obsidian。

第二步:方案选型——一周时间,用数据说服团队#

接下来是方案选型。当时团队内部有两种声音:有人倾向机械臂方案(看起来更高级、更有技术含量),有人倾向传送带方案(简单可靠、不容易出错),谁也说服不了谁。

我没有急着站队。我花了一整周时间,把 B 站、CSDN、知乎、技术论坛上能找到的往届参赛方案全部翻了一遍,从三个维度横向比较:

  • 技术可行性:机械臂方案在多垃圾同时投放的场景下,分拣路径规划复杂,调试周期长
  • 物料成本:机械臂关节电机和驱动器的成本远高于传送带
  • 调试复杂度:传送带方案结构简单,参数少,出问题的点可控

最终形成了一份综合判断,提出了”以传送带为原型、在此基础上迭代优化”的整体思路。这份判断有据可查、有理可依,最终说服了团队。

第三步:传感器选型——200 元替代 750 元#

进入实物制作阶段,我发现一个隐患:常规方案中常用的核心传感器——定制光栅传感器——价格高达 750 元,而且在国赛中很可能会和其他队伍撞车。撞车意味着评委看到千篇一律的方案,你的作品再稳定也难出彩。

我决定自己找替代方案。我研究了光栅传感器的工作原理,发现它的核心功能就是检测垃圾是否掉落。那只要能做到这件事,用什么传感器不重要。

在淘宝、技术论坛和开源社区翻了好几天,最终锁定了一种光纤传感器。价格只要 200 元,精度更高,而且完全不存在撞车风险。买回来自己写适配代码、调试软硬件联调,最终成功嵌入了整个系统的中断逻辑。

这件事让我明白一个道理:资料是死的,工程是活的。不唯书、不唯上、只唯实——这个习惯后来在电赛里也救过我。

第四步:核心结构——“L”形双传送带#

赛项要求之一:同时投放两件垃圾时,装置必须能有效分散。

单条传送带上扔两件垃圾,它们会挤在一起滚下去,视觉模块无法逐一识别。针对这个问题,我设计了一种”L”形双传送带结构:

  • 上层传送带:高速运行,负责把垃圾拉开间距
  • 下层传送带:低速运行,利用差速进一步分散,确保视觉模块捕获的是独立个体

两组传送带差速运行,分散成功率从 72% 提升到 97%。

flowchart LR
    IN[双垃圾同时投放] --> UB[上层传送带
高速运行] UB -->|"拉开初步间距"| LB[下层传送带
低速运行] LB -->|"差速进一步分散"| VS[视觉识别模块] VS -->|"逐一识别类别"| FL[翻斗分类机构] FL --> B1[可回收] FL --> B2[厨余] FL --> B3[有害] FL --> B4[其他] UB -.->|"PTFE 涂层减少粘附"| UB VS -.->|"内置补光模块
适配暗光环境"| VS

翻斗表面采用 PTFE(聚四氟乙烯)涂层,减少垃圾粘附和反光,提升视觉识别的稳定性。

第五步:电控系统#

电控采用双 Arduino 分布式架构——一个负责主逻辑和步进电机控制,另一个负责翻斗舵机和压缩控制的辅助执行。控制逻辑全部使用非阻塞状态机,确保电机控制、传感器读取和通信传输并行执行,响应速度控制在 45 秒/组以内。

整机供电方案和电路板由我独立设计、绘制和焊接。


转折:深夜长文——“我是队长,我必须说那些话”#

项目进入冲刺阶段,机械部分进度反复推迟,负责视觉的同学配合度也不高。连续几次开会,问题摆在那里,但没有人真正推动解决。

有一天深夜,我在宿舍坐了三个小时,写了一篇很长的消息发在群里。

我没有客气。我明确说了我对这个项目的定位——不是凑个热闹、拿个参与奖,而是要真正做出东西、拿省赛、冲国赛。我说如果你们只是想混个经历,那不如现在就退出。但如果你们留下来,那就得全力以赴,我作为队长会尽力保证我们的付出能有回报。

发完之后我很忐忑。但第二天,群里氛围明显不一样了。机械组的同学主动把模型改了一版发出来让我审,视觉组也开始积极和我沟通。

后来反思这次冲突,我发现自己其实害怕过会不会把团队搞崩。但作为队长,有些话再难听也得有人说。而且正是因为我说了,团队才得以在关键时刻被拉回正轨。

省赛答辩完后,机械组的同学主动跟我说:那篇长文,当时看了很难受,但现在觉得,如果不是你说那些话,我们可能早就放弃冲省赛了。


省赛现场:“诸事不顺”与调度优先级#

无锡。江南大学。省赛日。

我们是第一批到的。但一进场地就发现问题:调试区供电紧张,多个队伍抢位置;提前安排好的调试计划被打乱;更离谱的是,不知道谁的手里,几个人的餐券全丢了。

队伍里气氛开始有点慌。机械组的同学一脸茫然,不知道该先做什么;视觉组的同学问我”没电怎么调试”。

我快速在心里排了优先级:吃饱不是最重要的事,调试才是。我把大家分成两组:一个人负责找餐券,剩下的人跟着我去找新的供电位置。在赛场楼上楼下跑了一圈,终于在一个角落找到空位,插上电源,开始联调。

之后的一上午,卡着每一分钟的调试窗口反复跑流程。最终顺利通过初赛,进入社区赛环节。

后来队员开玩笑说:队长在现场就像一个调度 CPU,哪件事先做、哪件事后做、谁去做什么,全凭你一个人判断。我想了想,可能这就是当队长真正要有的本事——不是在顺利的时候指挥,是在乱的时候还能让大家知道自己要干什么。


复盘:做对了什么,做错了什么#

做对了的:

  1. 方案选型时的系统调研。花一整周时间把往届方案全翻了一遍,用数据说话而非凭感觉站队。这个决策的质量决定了后续半年的技术路线是否走在正确的方向上。
  2. 传感器选型的独立判断。750 元 → 200 元,不只是省钱,更是对”撞车风险”的主动规避。不盲目跟从已有方案,而是理解原理后做自己的判断。
  3. 深夜长文的勇气。那个消息发出去之前我确实很害怕团队会散。但不说的话,团队可能会以一种更慢的方式”温水煮青蛙”式地散掉。有时候,直面矛盾才是保住团队的方式。

做错了的:

  1. 早期进度管理太软。一开始我只是说”进度要加快”,这种模糊的指令没人知道该怎么执行。后来才学会把任务拆成”今晚完成一版模型发我审核”这种具体动作。这个转变来得太晚——如果更早做,可以少拖好几周。
  2. 视觉和电控的接口定义太晚。我应该在一开始就把通信协议格式和接口文档定下来,而不是等到联调时才发现双方的协议对不上。这也直接影响了后续我在电赛中第一时间就把 UART 协议的帧格式、校验机制全部定好的做法。
  3. 没有给团队设置中期里程碑。我们只有一个最终 deadline——省赛日期。但没有在中间设置可以验证的里程碑(比如”第 4 周:传送带单模块跑通”),导致很多问题堆到最后一个月才集中爆发。

可迁移收获#

第一,从”自己做事”到”带团队做事”的跃迁。 收纳管家里我学会了自己一个人把项目从零做出来。工创赛教会我的是,当项目大到一个人做不了的时候,怎么让一群不同背景的人高效协作。这比任何一项具体的技术能力都更难,也更有价值。

第二,信息搜集和独立判断的方法论。 方案选型和传感器替换这两个决策,让我建立了一套自己的技术选型流程:广泛搜集 → 多维对比 → 形成判断 → 用数据说服。这套方法后来在电赛、AGV 项目中反复使用。

第三,闭环意识。 省赛结束后,其他人觉得完事了。但我知道钱还没算清——发票、垫付、设备处置。我建了一个在线文档把每笔账算清楚,能卖的二手卖掉,不能卖的上报入库。一个项目不是拿奖就算完了,从开始的第一个方案,到最后一张报销发票——全程闭环,才叫完成。


初稿写于 2025 年 4 月,2026 年 4 月根据项目复盘更新。