段邓+彬沛
自从加入学校机器人竞赛队后,我就被乐高机器人吸引,深深地喜歡上了它。在平时的训练课中,我发现机器人在多种情况下走直线时都会走偏,继而导致其运动轨迹不确定,难以完成相应的任务。
机器人的配置一般都很精良,为何走直线时频出问题?如何解决?大多数情况下,影响机器人走直线时走偏的最主要因素是硬件结构不够合理、编程不完善,所以我从这两个方面入手,尝试解决问题。
一、硬件对机器人走直线的影响
1.问题分析
设计机器人时,我重点考虑了重心、左右对称以及结构组成。搭建完成后,在测试时发现机器人走直线时还是会往左偏。
2.解决方法
(1)对驱动电机重新配对。
(2)重新搭建,多次组装机器人。
(3)对机器人进行配重。
我对以上三种方法分别进行了测试。使用前两种方法测试时,机器人仍出现走直线向左偏的现象,使用第三种方法对机器人的右边进行配重后,测试效果也不理想。既然从硬件上入手效果不佳,从编程上是否能改善机器人走直线时走偏的问题?
二、编程对机器人走直线的影响
我仔细观察了出现左偏状况时的机器人的整体状态,发现右边的B马达转得快一些。能否从程序上对它进行修正?
1.让C马达转的角度减少5度,起动延时0.3秒
编好程序后再进行测试,虽然情况有所好转,但机器人还是出现了整体左偏的现象,没有达到走直线的要求。
2.运用陀螺仪传感器进行修正
以下是我写的程序。
修改程序后测试,机器人走直线时走偏的问题得到了解决。多次测试后又发现,因陀螺仪的漂移出现了左偏得更多的现象,但拔一下陀螺仪的线又好了。看来利用陀螺仪传感器修正也不是最佳解决办法。
3.运用加速来修正左偏
我反复观察了机器人运行的实况,发现机器人启动时,马达启动有快有慢。为什么会这样?我请教了老师,老师说马达虽然是同一批次的,但它所有的参数不可能一模一样。有什么办法改善呢?
我又测试了机器人在低速运行时的状态,发现情况有所改善,这为我提供了一个很好的思路:能否让机器人由低速慢慢加到功率的50%?于是,我写了如下加速程序,运行后机器人偏离直线的状况有了好转。
通过对机器人走直线时走偏现象的思考,我从机器人的硬件与编程两个方面想了很多策略,但仍然没能完全解决问题。这大概也是机器人的魅力所在吧。如果能彻底解决此类问题,就不会那么多思考的过程和乐趣。
在解决问题的过程中找到平衡点,引起更多的思考,这才是机器人教育的最终目的。(指导老师:谌跃飞)endprint