江湖上,一直流传着一种叠叠乐的试炼。
规则很简单,从下方的积木中,抽一根往上搭。
你能往上搭几层?
对MIT团队研发的机器人来说,玩这个游戏基本上不费吹灰之力。
而且,它只需要训练大约300次就行了,一般的机器人少说也要训练上万次。
研究团队说,这个机器人并不醉心叠叠乐。
接下来要进军工业界,组装手机等消费产品等等。
从上面的动图中可以看出,叠叠乐是一个牵一发而动全身的游戏。
与国际象棋、围棋等纯粹的认知任务或者游戏不同,机器人需要掌握物理技能,比如探测、推、拉、放置、对齐积木等等。
这就要求它必须进行交互的感知和操作,这种情况,是很难在计算机上模拟出来的。
机器人必须要在接触积木塔的同时,来学习如何移动积木。
MIT的研究团队说,关键的挑战在于,如何利用实际上的尝试,从相对较少的实验中去学习。
他们给出的方法是——
简单来说,就是搜集视觉触觉数据,然后对数据聚类,建立相应的模型。
为了搜集数据,研究团队定制了一个行业标准的 ABB IRB 120机械臂。然后在机器人能够触及的范围内搭建了一个积木塔,开始第一段的训练期。
机械臂的配件有3个,一个是用来操作积木软齿夹钳,也可以反馈触感;一个是用来控制操作积木的力度的力感应腕带;还有一个外部摄像头,用来收集视觉图像。
想让机器人学会玩叠叠乐,传统的做法是收集积木、机器人、积木塔之间可能发生的一切。
这显然会带来大量的数据,在成千上万次的尝试中寻找可行的模式,耗费的计算资源可想而知。
MIT研究团队的做法是,模仿人类玩这个游戏的方式。
在训练期中,机器人会随机选择一个积木,以及推动的积木的位置。 然后用较小的力道,试图将积木推出塔外。
对于每一次尝试,计算设备都会记录相关的视觉、触觉、力度等指标,并标注是否成功。
按照这种方法,机器人只训练大约300次,就对这些测量结果进行聚类分组。
比如,一组数据可能代表机器人在难以移动的积木上的尝试,而另一组数据则代表一个比较容易移动的积木上的尝试。
对于每个数据集群,研究团队都给机器人开发了一个简单的模型,根据当前的视觉和触觉数据来预测移动一个积木的行为。
他们说,让机器人建立聚类,然后学习每个聚类的模型,而不是学习一个能完全捕捉可能发生的一切的模型,能够极大地提高了机器人学习游戏的效率。
结合这些模型,机器人还会实时地“学习”,当机器人小心地推动一个积木块时,计算机会通过它摄像头和钳子接收视觉和触觉反馈,并将这些反馈结果与机器人先前做出的动作进行比较。
然后考虑这个动作的后果,即是否能够在特定的结构下,用特定的力度,把特定的积木块抽出来,放到上面,并确保积木塔不倒。
最后,这项研究的论文,已于近日刊发在了Science Robotics上。
作者为:Nima Fazeli、Miquel Oller、Jiajun Wu、Zheng Wu和Joshua Tenenbaum。
如果你感兴趣,请收好传送门:
See, feel, act: Hierarchical learning for complex manipulation skills with multisensory fusion http://robotics.sciencemag.org/content/4/26/eaav3123
— 完 —