关注细节,耐心坚持
——乐高EV3巡线小车调试感悟
2021-12-16北京市第三十五中学国际部高三陈若鑫陈怀宇
◆北京市第三十五中学国际部高三 陈若鑫 陈怀宇
高一下学期,我们惊喜地发现课表中多了一门科技课,于是选择了其中的人工智能机器人方向,并完成了课题《基于乐高EV3巡线小车设计及调试》。
受疫情影响,我们的课题曾一度中断,但最终还是坚持完成了。回想这一过程,有过艰辛,也充满喜悦,但更多的是收获。
图1 乐高EV3巡线小车模型
硬件搭建:基础工作不容小视
课题完成的前提是搭建一台乐高巡线小车。这台小车由底盘、控制器、传感器三部分组成。巡线小车底盘部分由1个万向轮、2个滚轮、2个大型电机和一些结构件组成。巡线小车控制器安装在底盘上方,可读取传感器信息,向大型电机输出相应的电信号,进而驱动滚轮。
在搭建小车之前,我们既想让小车看上去美观,又想让它能灵活应对各种地形。综合考虑后,我们将橡胶轮与万向轮组合,并构建了初始的结构示意图,再依图搭建。搭建的过程中我们遇到了一些困难,比如,双光电传感器之间的距离应如何设定才能更好地达成巡线目的?马达安放在何处才能让小车转弯时更灵活?……出现的一系列问题让我们意识到前期设计的不足之处,并对此进行了补充设计。
起初,我们以为搭建小车是计划中最简单的环节,本想在3天之内完成,但事与愿违。乐高零件丰富,而且很多零件的外观非常相似,稍不注意就会出错。我们就曾因为用错零件,导致搭建快要结束时才发现安装传感器少了安装孔,不得不重装。
这次重装的经历也让我们明白,不论什么环节都要认真对待。经此一事,我们更认真也更团结了。
编程测试:没有最好只有更好
小车搭建完成后便是程序编写。通过查阅资料,我们首先确定了程序的基本框架,选择了更精准的PID巡线算法。我们学习了流程绘制,更清晰地表达了算法逻辑和过程,并依据流程图完成了算法的编程。在这个过程中,我们不仅学习了与程序相关的知识,还学会了梳理解决问题的步骤和方法。
程序完成之后需要调节PID参数。我们希望通过调节参数获取较好的巡线状态。在调试过程中我们发现,针对不同的速度需要设置不同的PID参数,要想平衡小车速度与系数之间的关系,十分困难。起初,我们将小车速度调慢以便观察,之后再通过控制变量的方法,对Kp、Ki与Kd逐一调节。
比例系数Kp越小,控制作用越小,系统响应越慢;反之越大,控制作用也越强,系统响应越快。因此,Kp不能选取过大,应根据被控对象的特性选取,使系统的净差控制在允许的范围内,同时又要让小车具有较快的响应速度。
为保证数据准确、严谨,每组数据我们都会重复测试多次。经多次测试,我们终于确定了在当前马达功率下的三个系数。边做边记录不仅锻炼了我们的耐心,也为之后的总结工作提供了便利。
表1 参数调节记录表
图2 陈怀宇(左)、陈若鑫(右)测试巡线小车
在对乐高EV3巡线小车的研究学习过程中,我们的能力得到了提升,还深刻体会到了团队合作的重要性——分享自己的想法,遇到问题及时交流才能更快地达成目标。
此外,我们也懂得了及时总结的重要性——认真分析每一次的测试数据、小车每一次的运行情况,才能确定最适合的调整方案。
最后,我们也深刻感受到了科研路上的不易——研究过程充满困难与挫折,只有秉持不畏艰难、勇攀高峰的探索精神,才能真正实现突破与创新。