“你们买的轮子尺寸不对,算出来的转速和实际差远了!”
顾念军被拉去评理,他查看了采购清单、代码和实物,发现三方都有问题:硬件选型时没考虑电机启动电流;代码逻辑有瑕疵;轮子尺寸确实与计算模型不符。但更深层的问题是,他们从一开始就没有一个明确的需求文档和分工计划,更没有定期的设计评审。“你们先别吵,从头来。第一,明确小车要达成什么目标(比如在1米x1米范围内自主避障);第二,根据目标列出需要的硬件清单,一起审核;第三,画出系统框图,明确各模块接口;第四,再开始分头做。每周开个短会同步进度,遇到问题一起讨论。”顾念军给出建议,但这套相对正规的流程,对这群刚入门的新手来说,理解起来都有些费力。
李婉那边的“外观设计组”则遇到了另一种困惑。她们的任务是为一个简单的“智能花盆”(监测土壤湿度和光照的入门项目)设计外壳。新队员们天马行空,设计出了各种充满想象力的造型:飞船型、动物型、甚至抽象艺术型。但当李婉要求她们考虑如何安装电路板、如何留出传感器探头和充电接口、如何保证散热和维修便利性时,大多数设计都经不起推敲。
“这个想法很酷,但是主板放不进去这个弧形空间。”
“这个传感器窗口开在这里,浇水的时候水会流进去。”
“这个外壳分成三部分,用卡扣连接?我们目前的3D打印机精度,卡扣可能扣不紧或者容易断。”
理想与现实的碰撞,让几个满怀艺术热情的新队员有些沮丧。“怎么有这么多限制啊?不就是做个壳子吗?”一个女生嘟囔。
李婉耐心解释:“工业设计,尤其是为电子产品做设计,就是在无数限制条件(功能、结构、工艺、成本、人机交互)中寻找最优解,甚至是最‘不坏’的解。好看很重要,但让里面的东西能正常工作、让人方便使用,是更重要的前提。”她拿出“隐形守护者”那个其貌不扬的防水盒和“蜗牛壳”:“你看,我们当初为了这个‘蜗牛壳’的形状和角度,打了多少次样,测试了多少次。设计是为功能服务的。”
更让顾念军感到压力的是,他自己也在摸索如何“带人”。作为社长和“技术核心”,新队员们遇到难题第一个想到的就是他。他发现自己很多时候是在重复解释一些基础知识,或者充当“人肉调试器”,帮他们找代码里的bug、检查电路里的虚焊。这占用了大量时间,他自己的学习进度也受到了影响。而且,他发现直接给出答案,远不如引导他们自己找到答案有效,但这需要更多的技巧和耐心。
小主,
“社长,这个地方数组越界了,怎么改?”一个编程新手问。