0%

关于Robomaster比赛的随想与反思

比赛的意义?

首先所有竞技性比赛的最直接目标肯定是要赢,没有这一点失去了比赛的竞技性了。而赢的意义在于展现团队的技术实力,借助比赛的契机让其他人认可团队成员备赛所付出的努力。对于团队中个人发展,这个比赛最重要的意义是能够在这里学到东西并且得到认可,这些东西包括了技术,包括了对问题的分析解决能力,更包括了对于技术极致的追求。当然更现实的意义是这个比赛获奖可以评优保研加分,不过我认为这些好处对于在这个比赛里学到的东西和遇到的人来说只是最低级的那部分罢了。如果格局再放大一些,RoboMaster本身就要为社会尤其是DJI提供所认可的人才,填补大学教育在这方面的空白。
简而言之,RoboMaster对于个人发展的意义就在于锻炼学习的机会,在此基础上寻求来自其他人与社会的认可。

关于开源

在技术类的比赛中非常容易出现技术垄断的现象,在RoboMaster里面体现为一个团队掌握的技术不公开并借此在比赛中占据优势的现象,除此之外也不利于比赛本身以及各个参赛队之间技术水平的发展,以及新队伍加入到竞赛的过程。这就是比赛官方希望通过鼓励开源解决的问题,各个队伍公开技术资料交流参考,对于弱势队伍的研发的困难程度也有所降低,而反过来也可以倒逼强势队伍做出更多新技术。
但是许多开源很多时候仅仅是公开代码或图纸,在这个比赛里开源的参考意义是在于核心的设计的思想和过程,只看结果的话不一定有实际的指导意义。这也是区分所谓的“抄”与“不抄”的区别。对于开源正确的态度从来都是思考如何把它完整融入到我的设计之中,或者说我的设计最后和开源的设计有什么区别或者改进,而不是不加思考地使用一些即抄即用地开源。

队伍传承

一个老生常谈的话题是如何传承。我一开始的看法也是非常简单的,那就是留下技术文档。因此只要我写了文档记录,也算是完成了传承的任务,但是在面对下一届的新人的时候依旧出现了许多问题,导致传承看起来是做了,实际上效果甚微。分析总结起来大概有几点:

首先,文档本身就不够全面,哪怕代码一行一个注释,总是会出现你认为不是问题,但是不会的人总会提出的问题。当然这也可能是分析与解决问题能力的差异。其次,即使能够有这样全面的文档,也不一定能够有真正完全理解这些内容的人,本身阅读文档(视频的情况可能会稍微好一些)就是一个主动获取知识的过程,但是新人读文档的动机不能高估,绝大多数时候遇到了问题新人也不一定会在我们自己的知识库里面找解决方案,更多时候利用搜索引擎。最后,新人的技术能力和意志力总是有限,最终传承内容只靠靠让新人执行,行动力存在不足。

针对这几点也可以给出一些我的解决方案。最传统有效的办法当然是言传身教,希望新人通过观察老人解决问题的过程逐步培养他们的能力。另外传统技术文档的特性本身不利于阅读,一般技术文档的格式都是具体问题+解决方案的描述,这种文档无效的原因就在于讨论的问题过于具体了。在新人角度看来更希望有一些能有直接结果的通用的操作流程(也就是企业中常说的SOP)。例如比起写STM32CubeMX配置过程的问题,不如告诉新人后面必须要用的工具是STM32CubeMX,然后完整地从下载工具到解释常见配置参数,最后生成代码编译运行的整个过程。或者对于电控来说,从拿到一个新云台后需要处理的问题,分拆出一支,例如解释IMU解算的各个参数并如何调节,最后再拓展一下,理清楚整个解算算法原理。实际操作中流程类看起来都相当容易起效,在上面的例子中新人只要在这套这些文档的指导下,经过一套完整流程下来最低限度到能够学会如何调节参数,能力比较强的可能会学习到原理并且应用在其他地方。
当然上面提到的人的意志因素就跟团队精神建设有关系了。这个方面我不是运营也不是很擅长,但是最重要的是让大家相信比赛是值得每个人去努力的。最直接的激励当然来源于比赛获奖本身,当然在赛场上能与强队交流学习也能对行动力有激励。另外团队文化建设可能也有用,比如普及一下队史,或者一些文创产品也能增强大家的归属感。

总之,队伍传承技术上应该向着编写SOP那样系统化规范化的文档方向努力,同时要有团队建设激励成员。还有一点是,还要传承如何传承的知识,将传承本身也要视作一门技术去探索,否则可能即使偶然出现一代能力较强的成员,能够较好将技术传承给下一代却没有告诉他们如何再传承给他们的后一代,于是出现后一代的水平能够正常但是再后一代水平断崖式下跌的情况。