来看稔熟人类双手动作的机器人
如果真要让机器人来帮助我们打扫房屋或是照顾伤者和老人,那么它们会想要拥有两只手……至少两只。尽管我们自己用起双手来显得轻而易举,但对机器人来说则不然——所以,今天介绍的这个机器人控制系统在试图使用双手前选择向人类学习。
这项研究由威斯康星大学麦迪逊分校(UW Madison)主持,其想法并非从头开始打造一个双手机器人,而是创建一套能够理解我们人类双手动作并加以模仿的系统。
例如,当我们需要打开一个罐子时,我们需要用一只手握住它并转动到恰当的位置,然后用那只手握住罐身,同时用另一只手拧开盖子。即使是如此基本的双手动作,其中也有很多玄妙,以至于在目前这个阶段要求机器人自动完成这些动作是毫无希望的。不过,机器人仍然可以大致了解为什么在这种情况下要做出这样的动作,并尽其所能进行模仿。
研究人员首先让人佩戴动作捕捉设备完成一系列日常生活中的动作,比如堆叠杯子、打开容器、倾倒容器中的内容物,以及拾取物品(尤其是它的上面还压着其它东西)。收集得来的所有数据——比如双手的运动方向,以及它们如何进行互动,等等——都被馈入一个机器学习系统供其学习。该系统发现,人类的双手动作可以被归纳为四类:
- 双手倒换: 把物品从一只手倒换到另一只手,以便将它放到要放的位置,或者是解放第一只手去做别的事情。
- 单手固定: 一只手紧紧抓住物品,使其保持稳定,同时用另一只对物品进行操作,比如取下盖子或是搅拌容器中的内容物。
- 双手固定: 双手协同工作,以拾取、旋转或移动物品。
- 单手探索: 这实际上不算一个双手动作,而是有意让一只手闲置,用另一只手寻找所需的物品或做出所需的动作。
机器人将这些知识付诸实践,不仅用于它做出的动作本身——再次强调,有些动作极其复杂,当前的 AI 无法做出来——而且还用于它对人类控制器所做动作的解读。
当一个人远程控制机器人时,你可能会认为机器人会精确地重现这个人的动作。在测试中,机器人这样做可以在不了解那些 “双手动作” 的情况对如何做有一个基本认知,但很多动作是无法通过这种方式进行重现的。
我们再来看一看开罐子的例子,我们知道,当我们开罐子时,我们必须用更大的力气抓住罐身的一侧,甚至可能需要朝着拧盖子那只手的反方向用力。如果你试图用机器人手臂远程做出这样的动作,那么上述信息就不再存在了,拧盖子的手可能让罐子脱离另一只手的控制,或者导致那只手无法进行正确的抓握,因为两只手之间没有进行配合。
研究人员创建的系统能够对上述四类行为进行识别,并采取措施确保成功做出动作。这意味着,举例来说,当机器人的两只手合作提起一个水桶时,机器人能够知道施加在各条手臂上的压力;或者是,当一只手拧盖子时,让握持罐子的另一只手多使些劲。即使是只使用一只手时(“单手探索”),该系统也知道它可以将闲置那只手的动作放在后面考虑,并将更多的资源(可能是机器人身体的运动或者是计算机的算力)分配给做事的那只手。
在演示视频中,我们可以清楚地看到,这些知识极大地提高了机器人模仿人类操作员准备早餐时的动作:敲开(假的)鸡蛋,搅拌和移动物品,拿起装有玻璃杯的托盘并使其保持水平。
当然,这些动作或多或少仍然是由人类完成的,但人类的动作正在被机器人进行增强以及重新解读,超出了简单机械复制的范畴。
要让机器人自主完成这些任务,我们还有很长的路要走,但这项研究是构成那个成就的基础。在机器人能够像人类一样做出各种动作之前,它需要了解的不仅是人如何做动作,而且还包括为什么人要在特定情况下做特定的事情,此外还有隐藏在明显现象之后的重要过程——比如规划手的运动路径,选择一个握持的位置,诸如此类。
麦迪逊分校的团队由丹尼尔·拉基塔(Daniel Rakita)领导,他们描述这套系统的论文发表在 《科学:机器人》 杂志上。
翻译:王灿均( @何无鱼 )
This robot learns its two-handed moves from human dexterity