nao机器人比赛心得与建议

Nao机器人比赛心得与建议

在机器人队参加了两次Robocup比赛,下面是两次比赛的心得记录。

7月份在安徽参加了国际赛,这是一个很高级的赛事,而我们准备的很不充分。在机器人编程方面,使用的Nao原生的API,没有做优化处理,在机器人性能上就比对手差了很多。同时,由于事先对比赛规则不够了解,一直认为球门是黄色的,然而实际比赛中,采用的是黄色球门,因此只能比赛前极限编程,通宵来完成对白色球门的识别。

在国际赛上,无论是人员分配还是编码选择都存在一定问题,尤其实际技术负责的人员过少,导致编程压力大。

10月份的国内赛则相对成熟了很多,在比赛之前充分了解了规则,针对规则,机器人的编码相对较为完备。同时采用的是Bhuman的代码框架,整体机器人的性能利用起来了,在与华科和同济对战的时候,机器人的行走能力和稳定性并没有处于下风。但是,存在的问题也还是有很多的。列举如下:

  • 首先就是在开发环境的配置上。在开发过程中,由于大家是分开完成各自的任务,然而真正完成了环境配置的又只有一台电脑,所以在将自己编码烧入机器人时,往往需要将改动代码拷到配好环境的电脑上,然后进行烧录;如果此时有多人要对自己的代码进行测试,就只能是排队依次调试(机器人数目过少同样也是导致这个问题的原因)。如果大家都统一配好了开发环境,那么在开发过程中,就可以直接通过有线或无线来对机器人进行自己代码的调试,而不用拷到同一台电脑上。同时,在实际比赛过程中,也不会出现当两台机器人要重新烧录代码时只能依次烧录的尴尬局面。
  • 其次是对于代码的管理。由于各组分工实现比赛的不同功能模块,所以在调试时往往会因为A组改动了此处代码,而B组改动了另一处代码,造成冲突,产生难以解决的Bug,且某一组若改动源代码产生问题,会导致其他组都不能正常测试。所以,建议大家学习使用Git,对代码进行统一的管理并做好注释工作,这样对于合作开发以及之后学弟学妹们学习使用bhuman会有很大帮助,并提高了工作效率,增强了代码规范,有利于机器人队的传承。
  • 然后是在人员的分工上。在比赛过程中,我们比赛调试时,都是每个功能模块出一个人轮流对模块进行测试,在刚开始的开发时,这样可以很明确的确定各人工作方向,提高工作效率,但是在赛场上时,这样的轮流调试往往很耽误时间,面对一个小问题可能需要三四个人去排查。所以,这里可以考虑,在完成了代码的开发后,安排一个专门的测试组,通过各功能组的讲解,了解各个模块的基本调试方法,至少能初步判定错误产生的位置,在比赛的时候统一进行调试,每个测试组人员负责一台机器人。这样可以很好的提高应对比赛紧急情况的能力。
  • 最后就是赛前准备方面。这里我要自己检讨一下,因为家中一些事情,国庆没有呆在学校,所以最后做球门那块赶得挺急的。希望下次比赛的时候可以在准备期间将所有编码工作完成,在比赛现场只根据比赛场地的一些情况来针对某些阈值参数进行微调。
  • 以上是2015年两次参赛的一点心得和建议。

    你可能感兴趣的:(B-Human学习笔)