阅读量 次   文章字数 4,535字    阅读时长 15分钟

本篇文章介绍中国服务机器人大赛的相关内容。

前言

在经过短时间的调试之后,我们新一届晓萌机器人团队终于迎来了检验自己成果的时候。因为晓萌机器人的新机械臂是在比赛出发之前才安装到位,所以本次五月份的比赛我们并没有使用。除此之外,学长在出发之前告诉我们:要放下包袱,尽力去完成比赛,注重与其他队伍的交流,把这次比赛作为自己开阔视野的好机会。赛后确实就像学长所说的那样,我们从本次比赛中学到了很多东西,这对于晓萌团队未来的发展起到了非常积极的作用。

本次中国服务机器人大赛在河南洛阳举办,基本上国内研究服务机器人的高校都悉数到场,比如北理、北信科、二炮、上应技、上大、西北师范等,其中比赛项目主要有RoboCup@Home、Follow、GPSR、WhoIsWho、Shopping等。

经历

由于之前本人电脑中存储的照片全部丢失,因此该博客中所显示的照片数量比较有限,希望读者可以理解。

美食

  • 锅贴

    经过五个多小时的路程,我们终于来到了牡丹之城——洛阳。在处理完宾馆的入住手续之后,我们就跟随着志愿者来到了当地非常有名的小街锅贴店进行用餐。话说这家店做的锅贴味道还真不错,虽然我在北京吃过几次褡裢火烧,但都不如这家店做得外皮香脆、肉馅多汁(直到后来才知道小街锅贴是河南的老字号和非物质文化遗产,怪不得做的那么好吃)。

    fired_dumpling

    在饱餐一顿之后,我们回到宾馆开始了对机器人底盘的调试工作。尽管后来熬夜到了很晚,但是一想到明天就可以在比赛会场看到其他参赛队伍的服务机器人,所有的劳累就都被抛到了脑后。

  • 牛肉汤

    第二天一早,根据志愿者的热心介绍,我们来到了学校附近的龙鳞路第一家牛肉汤店铺喝汤。在洛阳,喝汤是人们挥之不去的习惯,所以我们也入乡随俗,跟随着志愿者一起买饼,然后边喝牛肉汤边吃自己手撕的饼丝,味道确实相当不错。

    beef_broth

注册

registration

在完成比赛的注册之后,我们终于来到了比赛场馆——河南科技大学西苑校区体育馆。在这里,我们遇到了几个国内技术水平较高的参赛队伍,接下来对他们进行简单的介绍。

队伍

  • 晓萌队

    team_xm

    简介:
    晓萌队来自西北工业大学舞蹈机器人基地,由学长们于2010年所创建。经过五年时间的发展,我们的晓萌机器人已经发展到了第三代半(因为相比于第三代,只在原有的基础上添加了新机械臂,所以按照汪学长的意思,目前的晓萌机器人只能算是第三代半,而不是第四代),其中涉及的很多开发技术技术都已逐渐走向成熟。接下来我按照机械、电子和软件这三个层面来对当前晓萌机器人进行简要的介绍。

    机械:
    从图中可以看到,晓萌机器人的前面安装有一个新机械臂。它的机械结构主要由同步轮和同步带这两部分组成。只要发送命令让电机发生转动,在同步轮和同步带的联合作用下,相应的机械臂关节便会发生转动。当然,电机和关节旋转角度之间互相转换的数学关系是非常重要的,特别是对于像我们这样的机械臂,大臂、小臂和手腕关节彼此连接的连杆并不是刚体,所以在对关节数据进行转换的时候,需要通过计算对关节运动进行补偿。

    晓萌机器人的底盘部分还是沿用之前的结构——由三个麦克纳姆轮所构成的全向移动平台。虽然整个底盘的移动精度还可以,不过由于新机械臂的升降部分相当重,使得其对底盘部分的压力比较大,所以在赛前调试中底盘移动会出现比较明显的偏差(不过好在可以通过算法来进行一定程度的补偿)。

    电子:
    电子部分基本上还是沿用了上一代学长所留下的成果。从图中可以看到,因为我们这次比赛之前的准备比较仓促,所以还是有很多电线暴露在外面,电机驱动盒和控制板也没有被固定在隔板上。不过,电子部分的运行效果还是相当鲁棒的,至少不像软件那样说跪就跪。

    软件:
    我们本次参赛的晓萌机器人软件部分也依旧继承了之前的架构。在Windows上,我们主要使用微软自带的Speech库来做语音合成和识别;在Ubuntu上,我们则使用ROS来做各模块的开发和集成工作,其中涉及有基于人脸检测的图像模块、基于运动规划和自主控制的底盘模块、以及基于机器人行为的策略模块等。

  • 东风队

    team_dongfeng

    简介:
    东风队来自第二炮兵工程大学(现火箭军工程大学)。

  • 侏罗纪队

    team_zhuluoji

    简介:
    侏罗纪队来自西北师范大学。

  • Sun@Home

    team_sun@home

    简介:
    Sun@Home队来自于北京信息科技大学。

  • BIT@Home

    team_bit@home

    简介:
    BIT@Home队来自北京理工大学。

  • 自强队

    team_ziqiang

    简介:
    自强队来自上海大学。

  • 创之风队

    team_chuangzhifeng

    简介:
    创之风队来自上海应用技术学院。

比赛

  • Follow

    简介:
    Follow项目测试机器人在陌生环境中多模式交互和安全导航。比赛在外部环境中进行,当比赛开始时,引导者走向机器人并向它发送跟随指令,机器人需要宣布校准完成并开始跟随引导着从起点走向终点。机器人在跟随的途中要经过四个预先指定的路径点。

    • 路径点1(绕过干扰):
      引导者发指令让机器人停止前进,当随机指定的陌生人从机器人和引导者之间缓缓穿过后,机器人能继续跟随引导着前进。

    • 路径点2(进入狭小空间):
      引导者和机器人一起进入一个狭小的空间,由于没有足够的运动空间,所以机器人和引导者需要与进入的顺序相反的方式离开该空间。

    • 路径点3(绕过障碍物):
      引导者走到障碍物跟前,并绕过障碍物后继续前进,要求机器人也要绕过障碍物继续跟随。

    • 路径点4(终点线):
      机器人必须完全超过终点线。

    总结:
    该项测试各个队伍完成的都不是非常好,我记得只有西北师范的机器人能勉强的到达终点线,其他的(当然也包括我们晓萌队)都在半途中出现了各种问题,其中大部分是由于图像识别错误导致机器人不移动或跟丢引导者。这个项目主要考察了机器人的图像识别(具体来说是人脸识别)和自主移动避障能力,测试的难点主要是在规则中的第二个路径点,即机器人和引导者需要共同进入狭小空间。因为机器人需要顺时针旋转90度才能进入,在这个过程中人就很容易被跟丢,而且最重要的是机器人进入的空间(以上侏罗纪队比赛图中的白色U型空间)宽度比较小,这对机器人的自主移动避障能力是一个巨大的考验。

  • GPSR

    简介:
    GPSR(General Purpose Service Robot),即服务机器人通用测试。该项目测试机器人的综合能力,包括跟随、定位、导航、抓取、人物检测和识别、物体检测和识别、自然语言理解和对话等。在这个测试中,没有预先定义的场景和可以由确定的基本动作序列完成的任务。

    • 重点考察能力:

      • 没有特定顺序的动作集,因此不能由预先定义好的状态机编程来实现。

      • 增强的语音识别、处理能力。由于任务是不确定的,因此语音也是不确定的,命令不再是单纯的动作或物体,可能包含多个物体和动作,例如:“将杯子放在厨房的桌子上(put the mug on the kitchen table)”。

    • 比赛要求:

      • 所有机器人的能力形成行动集合A(例如寻找特定人、跟随、抓取和运动物体等),这项能力对所有的机器人都是必须要有的,不随着各自机器人能够实现的能力而变化。例如如果机器人只能完成自主行走,而不能进行寻找人、抓取等,则其行动集不会减少。

      • 物体集合B,该集合由比赛过程中各个队伍选择的10个物体构成,在整个比赛中统一使用。

      • 位置集合L,该集合由比赛前确定,如果涉及到抓取任务,则抓取的位置可以由机器人的可达高度来进行一定的取舍。

    • 自主进场:
      机器人需要自主到达场内的指定位置。到达指定地点之后,机器人被给予一个英文句子或一个中文句子,该句子包含三个任务。每个任务包含一个动作a∈A和相应的依赖动作的物体b∈B或位置l∈L。动作集合和物体以及位置不同,动作集合不是事先给定的,而需要队伍自己去考虑或实现(包括对应动作的同义词)。即对于一个动作,在任务描述中可能有许多不同的说法,例如对于导航类的任务,等价的说法包括go to, move to, drive to或navigate to等。

    • 获取任务:
      任务由标准的软件生成器生成,并且需要由裁判将任务要求一字不漏的传达给机器人。

    • 过程:
      如果重负下达任务3次之后,机器人依然没有正确的理解,可以允许重启,重启之后会生成一个新的任务交给机器人去完成。机器人识别整个句子之后,应该完整的将其复述出来才能被认为是理解了命令。

    • 任务示例:
      “Move to the living room, get the cup and put it on the kitchen table.”,所有的动作都和位置或物体相联系。

    总结:
    我记得这个测试由于难度太大(当然,这里得排除中科大WrightEagle队的可佳),技术委员会在征求各队意见并开会讨论之后,最后将规则进行了简化,只保留了命令理解和简单任务执行部分,不过依然没有一个机器人能够正确地执行完一个完整任务的。从该项测试中不难看出,目前国内高校在服务机器人综合能力的研究方面还存在很多的不足之处。

    我个人认为GPSR不仅是整个服务机器人比赛中最具挑战性的项目,它更代表了服务机器人技术领域里的终极目标——能够像人一样理解命令并正确地执行任务。虽然现在让机器人连续完成语义理解、自主移动、识别物体、抓取物体等一系列动作很难,但只要每个模块(如底盘、图像等)都能被封装得足够鲁棒,假以时日,上述的问题都将会得到解决。

  • WhoIsWho

    简介:
    机器人需要在陌生环境中自主地识别人。该项测试主要考察机器人的语音识别、人脸检测、人脸识别、自主导航、人机互动等功能。

    • 场地准备:
      五个客人先进入场地,等比赛开始之后,机器人才能进入房间。

    • 介绍自己:
      机器人识别客人,并依次走向每个客人,在此过程中,客人需要面向机器人介绍自己,并向机器人提出自己希望其帮自己拿的物品。在学习阶段,客人绝对不能触碰机器人。在客人告诉机器人自己的名字和所需物品之后,机器人必须说出它所理解到的名字和物品。

    • 获取物品:
      机器人导航到指定位置获得客人所需物品,机器人得到所需的一个或几个物品后回到客人所在房间。

    • 识别人:
      机器人回到房间后找到相应的客人,给予他所需的物品,并询问是否满足要求。

    • 离开场地:
      当机器人已经为所有客人拿好物品后,或者决定停止寻找时,它需从另一扇门离开。

    总结:
    WhoIsWho测试的结果跟上面的GPSR差不多,基本所有队伍在介绍自己阶段就跪了,究其原因主要是自主机器人所需的技术比较复杂,而且由于比赛现场环境比较嘈杂和混乱,导致了某些算法在识别精度上大打折扣,从而影响了机器人系统的整体发挥。

  • Shopping

    简介:
    该项测试关注机器人在真实环境中的移动操作。由于环境初始是未知的,所以该测试不仅考察机器人的自主抓取,还需要机器人拥有SLAM的能力。

    • 引导阶段:
      比赛起点为一些固定的地点,引导者向机器人介绍四个地点。在每个地点,引导者需要引导机器人移动到一个特定的货架,并告诉它需要获取货架上的那一个物品。该物品取自机器人可操作的物品栏。在每个货架上只放有物品清单上的一种类型的物品,而且必须至少有一个物品是放在机器人能够操纵的地方。引导者需要使用某种姿势来指向可操作的物品,等所有四个地点都到达后,引导者引导机器人到预先指定的收银台。

    • 操作和导航阶段:
      在收银台,引导者命令机器人去货架拿取物品。机器人需要从相应的货架处取回四个物品中的三个,并且将它交给在收银台等候的引导者。三个物品都被取回后,机器人被命令回到开始位置。

    总结:
    对于各个参赛队伍来说,Shopping测试依然很难完成。主要问题在于目前配备有机械臂的机器人很少,只有三个(包括我们那个还无法使用的机械臂),而且机械臂的控制均未达到理想中的水平。不过随着技术的不断成熟和需求的不断增长,机械臂肯定会得到应有的重视。

总结

虽然这次比赛我们在服务机器人的几个主要项目中都没能发挥出应有的水平,但是失败也让我们懂得了只有辛勤的付出才会有好的结果。我不得不承认我们团队在赛前的准备阶段做得并不是很好,由于受考试等压力的影响,我们每周用于在基地调试机器人的时间不是很多,而且由于在团队管理上缺乏经验,我们在赛前不仅损失了重要模块的负责人,而且在调试的过程中每个成员之间缺少沟通交流,这直接导致了后期晓萌机器人在运行时出现一些比较严重的问题。当然,经历过本次比赛,我们在吸取教训的同时也算是真正地明白了自己与其他强队之间的差距,我相信我们在之后的开发过程中一定能够解决之前出现过的问题,并且绝对不辜负队友和学长的信任,尽全力做出属于我们这一届晓萌团队的成果!

尽管比赛结果我们不是非常满意,但是此行还是有着令人难以置信的好消息:那就是我们非常幸运地被时任RoboCup中国委员会主任、中国科学技术大学的陈小平教授邀请参加在合肥举办的RoboCup国际赛,比赛项目为赛会新创立的BSR(Benchmark Service Robot),即服务机器人基准测试。届时我们会和来自其他中国高校的服务机器人团队进行比赛,并角逐出最终的名次。当然,对于我们来说,除了参加比赛之外,还能够免费亲眼目睹国内外顶尖高校的机器人以及世界最高水平的机器人比赛,这实在是我们团队的荣幸,我们一定会尽全力在国际赛上用优异的表现来证明自己的实力!

本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。获得许可后,要求转载时注明文章出处和网站链接,谢谢!

留言