浅谈关于机器人比赛的一些“琐事”

  • 2015中国机器人大赛暨RoboCup公开赛标准竞速组全国季军
吴夏鹏·山东大学
2015-12-12
阅读数774

自 2015年中国机器人大赛暨RoboCup贵阳总决赛结束后,我们的“机器人之旅”也算是暂时告一段落了。这一届的比赛对于我们来说已经落下了帷幕,其中有困惑、有艰辛、有收获、有快乐。无论结果如何,我们经历的这个过程也许是我们最大的收获。从一年前在工程训练中心第一次接触机器人并参加这个比赛到现在全国总决赛画上圆满句号,我们取得标准竞速组全国季军的成绩。下面我具体说说关于机器人制作和比赛的一些“琐事”吧。仅仅是个人观点,欢迎指正。

大概一年前,我们刚刚接触机器人那会儿,心里更多是好奇,好奇这样一些静态的舵机和铝片,再加上电路和控制器,是怎样联系在一起去给机器人注入生命力的。一开始,我们上网看关于机器人比赛的各类视频,了解机器人运作的一些基本原理和知识,我们不了解机器人的整个系统工作流程,不懂单片机的使用方法,不知道舵机的工作原理......于是,我们要做的只有去学习,去了解,去探索。实验室成了我们的家,网络资源就是我们的百科全书,不懂就问,不会就查成为我们解决问题最佳的途径。经过半个月的摸索,发现自己渐渐地入门了,回想起当初提出的一些问题真是有点白痴。随着学习的不断深入,我们逐步的认识到团队合作的必要性,对于一个不大不小的工程来说“单打独斗”是不行的,只有依靠团队的力量,成员之间紧密配合但又要各有侧重,发挥自己的优势,这样才能在有限的时间内,使工作更快,更优地进行下去。

     第一是关于机器人机械结构方面的总结。我们的第一个机器人基本都是自己纯手工制作的。硬件方面,前前后后有过多次的改良。从舵机各类支架的打孔固定,焊接电路板,到传感器的安装,脚底板的制作等等,几乎这个机器人身上的每一处细节我们都有过大大小小的改良,因为在后期的调试过程中会发现,硬件问题将是阻碍机器人提高一个水平的最大拦路虎。比如,因为脚底板材料的摩擦力问题,我们先后试过3种材料,一开始是用的鼠标垫,再后来用过乒乓球拍上的材料,最后上网买了一种专门用来做鞋底的皮革。因为对于机器人的提速来说,这一细节非常重要,脚底材料不仅要摩擦力好,而且还不能太硬,要有一定的缓冲作用。另外是机器人的重心以及对称性问题。这也是在后来调试的过程中,我们发现的一个很关键的问题。首先对于竞速机器人,重心太高是不利于提速的,很容易倒地,这就要求我们把它的腿部结构做得尽可能不去抬高重心位置,最后我们模仿的是人的腿部结构。再者由于机器人行进过程中有很重要的一个环节就是要完成左右重心的转移,因为我们的机器人的脚踝关节是依靠左右的自由度来实现重心转移。重心的转移在保持平稳的前提下要尽可能地用时短是利于提速的。调试过程中发现当机器人两脚踝间的距离太大时,很难实现重心转移,也就是出现调试过程中尽管脚踝左右倾斜得很厉害了,但实际上机器人并没有离地,也就很难迈出这第一步。反之,当机器人两脚踝间的距离太小时,在调试转弯动作时会出现,两脚落地互相绊脚或踩脚的情况。因此我们最后根据经验得出结论,机器人两脚踝间的距离在12cm之间是比较合适的。还有对称性问题也是很重要的一环,对于机器人来说,左右对称问题将直接影响它行进的步态。比如要考虑的有:迈步(一个步子的距离)的左右对称,左右转弯幅度(腰部旋转角度)的对称,左右倾斜角度的对称等等。总之,一个好的机械架构是做好机器人的首要前提。

第二是电路板的制作方面。同样也有许多需要考虑的问题。小到电路板该怎么固定到机器人身上,大到控制器的选择。首先是电源模块,要求稳定,干扰小。稳压模块一开始我们用的是LM1117,后来调试的过程中发现,当机器人速度快起来时,时常出现复位的情况。经过分析,我们觉得是电源模块的问题。于是我们上网查和询问老师后发现问题,对于LM1117这种稳压芯片,它驱动电流的能力不强,比如比7805要弱,一个舵机在分流时平均差不多有几百毫安,机器人身上一共大大小小13个舵机,尽管我们用了6LM1117芯片,但实践证明还是不足以带动这个铁家伙的。综合考虑后,我们改用2596稳压模块来当“动力源”,并采用隔离模拟地和数字地,控制器独立供电等措施,很好地解决了复位这个问题。控制器方面,我们从一开始用的51单片机换成了k60。考虑到51单片机使用的是模拟的PWM波来控制舵机,而k60自带PWM模块,而且处理数据的频率和稳定性远远优于51单片机。另外,值得一提的还有电路板上,我们还加上不同颜色的指示灯,拨码,蜂鸣器,串口等外设给我们后期的调试过程带来很大的便利,提高了效率。

第三是软件设计方面。程序是控制器活的灵魂。我们前后尝试了多种控制策略。这一部分,传感器和控制器的“密切配合”是很重要的环节。举个简单的例子,传感器好比人的眼睛,控制器像是人的大脑。传感器获取信息,传递信息给控制器,控制器控制舵机做出相应的应答,这是也一个系统最基本的一个环节。传感器获取信息的准确性直接决定,下一步舵机的应答。我们对于传感器的选择,还源于我们第一次比赛的失利。从一开始红外循迹传感器到后来灰度传感器,我们不断改善机器人对场地环境(光线亮暗)的适应性。我们采用巡跑道中线行走的策略,在优化机器人的行走路径的基础上,设置脚下8个传感器的不同“优先级,比如当最靠外的传感器检测到黑线时,我们采用大转弯(或连续转弯的)的控制办法,因为此时机器人的实际位置和预期的中线位置偏差较大,要大转弯使它尽快的“纠正”到预计的路径上来,避免机器人出界。还有传感器离地的高度和灵敏度的调节也是十分重要的。再有对于启动环节,我们采用先舵机慢速反应到快速反应的过渡过程,因为实践证明,一启动时就让舵机处于高速打角的状态,机器人会晃得很厉害,没几下就倒地了。就像百米赛跑,总得有个加速过程之后才能稳定下来。还有就是之前提到的便于调试的模块,在软件设计方面,我们可以用拨码实现不同模式(调试和运行)的切换,不同速度的切换。使用指示灯和蜂鸣器直观反映传感器和程序执行的实际情况,用串口传输和保存数据等。

第四就是比赛。赛前的那几天基本不要对机器人做太大的改动了,“以不变应万变”,维护好硬件方面,比如检查各种线是否插紧,螺丝是否有松动,电池是否充满电了等等。另外一定要熟悉比赛规则,不要违规等。再者就是上场比赛,我们的总结是“细节决定成败”。比赛时可能会遇到平时在实验室没遇到的问题,需要随机应变。比如我们第一次比赛时的那个场地的光线情况是多变的,场地太阳光线的反射对传感器的影响是“致命”的,而我们当时没有察觉到这一点,因为平时在实验室调试时机器人是没有在太阳光下测试。这一细节的忽略给我们一个很大的打击。也让我们“吃一堑长一智”吧。在我们第二个机器人的制作过程中,我们尤其重视这一方面问题的发现和解决。说到这次比赛,我们真是开阔了眼界,看到了和那些强队的差距,无论硬件还是软件,感觉他们都下了很大的功夫。细看一下他们的机械结构都是动了“大手术”的,把非常“矫情”的舵机改装得“五花八门”,也许其中有些不是最佳效果,但敢于尝试,说明他们弄懂了其中的结构原理。有不少用的传感器是摄像头,也许对于用摄像头最大的挑战是软件部分,大量的数据如何适当的处理,寻迹算法怎样实现,等等问题都需要一一解决。 

回过头来,看看我们自己的机器人,真是感慨不已,有些感到捉襟见肘的同时,也带着那么一点自豪。跟别的学校同学交流时,他们不住地为我们的“纯手工打造”而惊讶,为我们的成本低廉而赞叹。当真正的走到赛场,我们的机器人也并不比他们的跑得慢。但我们仍要清楚地看到我们的不足之处,改动空间很大,对于传感器的选用是个历史问题,我想只要敢于开拓创新并付诸实践,早晚会解决的。

现在比赛刚刚结束,我们要做的就是总结自己和别人的先进经验以及我们有待解决的问题,为我们下一届的比赛做些必要的沉淀和积累。 

衷心的祝福我们下一届队员们走的更远、取得更优异的成绩。


本文由 吴夏鹏 授权 赛氪网 发表,并经赛氪网编辑。转载此文章须经作者同意,并请附上出处(赛氪网)及本页链接。原文链接https://www.saikr.com/a/2559
收藏
分享
别默默的看了,快来和大家聊聊吧,登录后发表评论~ 登录 立即注册
打赏
吴夏鹏
打赏金额(金额:¥0)
给Ta留言
赏金已入袋,多谢!(*^__^*)
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题