出访成员:旷皓飞,徐晴雯,侯佳维,龙肖灵,陈宏宇,何振鹏
在RoboCup德国公开赛两个月后,我们迎来了RoboCup国际赛。本次RoboCup机器人世界杯在悉尼举办,共吸引了来自全球40多个国家和地区的2000多名选手参加。比赛共设15个大项,分为机器人足球、服务机器人、救援机器人、工业机器人和青少年5个系列,同时还举行了机器人产品与技术展览和机器人教育科研体验等多项活动。其中,国内参赛的高校有国防科技大学、清华大学、浙江大学、中国科学技术大学、中南大学、同济大学、合肥工业大学、北京信息科技大学和上海科技大学等。这也是上海科技大学MARS团队首次参加RoboCup国际赛,之前的我们团队在德国公开赛积累了不少经验,对这次国际赛有很大的帮助,在救援组的比赛中,我们获得了总分第八名、自主单项第二名的成绩。
吸取在德国公开赛的经验教训,我们为本次比赛变更了任务分配方式,并预留了更多的系统调试时间。RoboCup救援比赛共分为四个大类:Maneuvering、Mobility、Dexterity和Exploration,每个大类里又有5至6个子任务。在德国公开赛的时候,我们的任务分配方式为每人负责一个子任务;由于子任务之间存在着不同程度的交叉,在共同子任务的完成上每个人都花费了不少时间,因此造成了效率低下、无法做好充分的比赛准备等现象。在本次比赛中我们先梳理出了所有任务中的技术难点,然后每人负责攻克其中一个,最后进行系统整合与测试。新的分配方式既减轻了大家的任务量,又提高了工作效率。在出发前一周,我们开始进行系统集成,并在各个子任务场景上进行了测试,确保机器人在现有调试环境下能够成功完成各项任务。
由于运输要求,我们需要将机器人拆解为几个小部分。到达悉尼之后,我们稍作休息便开始了机器人的recovery工作。在确认机器人的基础功能无误后,我们又出门踩点,方便第二天能够早点到达赛场进行调试。
在第二天到达赛场之后,场地已经大致搭建完毕。由于尚未允许进入场地测试,我们只能先观察一下各个场地。不幸地是,我们发现大多数场地都和我们测试的有出入。根据场地的变化,我们迅速对之前准备的代码调整了逻辑,并在晚上的时候进行了第一轮测试,可惜测试的结果并不是很理想。在场馆保安的催促下,大家揣着各种尚未测试的策略离开了场馆。
到达悉尼的第三天,也就是赛程的第二天,仍然是个测试日。但是与前一天不同的是,我们需要进行机器人的功能全面性测试,以及选择正式比赛第一天的比赛项目。因为在德国公开赛的时候,我们已经走过这些流程,所以没有特别担心。但是在机器人功能测试的时候,我们还是遇到了一个小小的插曲:没有明确半自主的要求。我们原以为只要机器人能够部分脱离认为操控地运行,就是半自主;但是在裁判的解释下,我们才意识到纯粹地开环控制并不是自主,只有与环境交互才是真正的自主。
在紧张的调试中,时间如指尖的沙般悄悄溜走,很快便迎来了激动人心的正式比赛。和大多数队伍一样,在第一天的比赛中我们主要求稳,采用遥控的方式尽量多得分。和其他大型机器人相比,我们的小机器人仍然受到了严峻的考验。那些对大机器人毫不费力的障碍,对于我们小机器人来说,仍然是个庞然大物。尤其是不连续的障碍,更是对机器人的mobility提出了很大的挑战。从测试结果来看,我们的机器人可以越过部分矮的不连续障碍,但是对于比机器人自身还高的障碍,我们目前的机器人设计还不能顺利通过。
在正式比赛的后两天,我们团队将重心放到了自主与建图上。对环境已知且相对固定的Maneuvering场景,我们就根据场景的特性,分别采用了巡线、避障等简单策略。对于未知环境的探索,我们着重进行了建图功能的测试。现场非常出乎我们意料的一点是,Exploration的场景被蒙上了幕布,导致机器人的探索环境一片灰暗。对我们团队来说,这个场景难度非常大,因为我们采用的纯视觉方法定位,无法感知环境对我们来说无疑是蒙上了机器人的眼睛。好在受其他队的启发,我们机智地给机器人加上了一个小灯,尽管灯的照射范围有限,但至少能获得少量的环境信息,从而使视觉定位方法能够工作。不过,这样的方法也只是权益之计,极大降低了视觉定位的准确度。因此,在我们后续的工作中,我们将用传感器融合的方法来提高机器人定位的鲁棒性。
通过这次RoboCup国际赛,我们的小机器人吸引不少同行的目光,同时我们充分认识到了小机器人还有许多的不足,我们将在后续的工作中,和我们的科研工作结合起来,进一步提高小机器人的性能。