卡耐基梅隆大学的机器人专家Dhiraj Gandhi、Lerrel Pinto和Abhinav Gupta近期发表了一篇名为《通过事故来学会飞行》的论文。论文摘要很好地介绍了研究内容:
模拟环境和现实世界之间差异巨大,特别是在感知问题上。大部分研究避免大规模使用真实数据是因为担心发生事故!在这篇论文中,我们认为应当接受事故,并收集关于事故的数据!我们开发了一台无人机,其唯一目的就是与对象进行碰撞。我们利用负面的飞行数据,以及来自同样路线的正面数据去了解无人机的飞行策略。
场面,大概是这样:
对飞行、驾驶或行走等运动操作来说,不断地避免事故就是成功。
从这种角度来说,最有效的飞行学习方式是获得大量的事故经验,从而知道如何避免这些事故。如果可以可靠地避免事故,那么就意味着学会了飞行。这很简单,但我们通常并不是通过这种方式在学习,因为事故往往会给机器人和人类造成严重后果。
卡耐基梅隆大学的机器人专家希望看看,人为制造事故的策略是否能带来帮助。因此,他们让AR Drone 2.0无人机在20种不同的室内环境中去飞行,在40小时的飞行时间里发生了1.15万次事故。
研究人员指出:“由于这种无人机的外壳成本很低,易于更换,因此灾难性事故带来的成本可以忽略不计。”
每次碰撞都是随机的,无人机从空间中的随机位置起飞,随后缓慢前进,直到撞上障碍物。然后,无人机回到起点,选择另一个前进方向。
在训练过程中,无人机前方的摄像头以30Hz的频率拍摄照片。碰撞发生时,飞行轨迹照片被分成两部分:飞机正常飞行的部分,以及事故发生前的部分,然后分别输入到一个用ImageNet数据集预先训练过的深度卷积神经网络。神经网络将学习什么样的照片意味着继续前进的决策是否正确。
在1.15万次碰撞之后,他们最终得到的算法可以帮助无人机自动飞行,即使是在狭窄的空间里也能躲避移动的障碍物。这样的无人机甚至还能躲避没有任何特征的白墙和透明玻璃。
算法对无人机的控制逻辑很简单:将摄像头拍摄的照片分成两部分:左侧部分和右侧部分。如果其中一张照片看起来碰撞的可能性要小于继续直行,那么无人机就会转向。否则就继续前进。
目前这一算法仍然不如人工操作,尤其是在相对复杂的环境中,例如狭窄的走廊,或是摆满椅子的走廊。
不过与最基本的方法,即单纯感知景深相比,这一策略的效果更好,在不同环境下性能提升大约为2倍到10倍(以飞行时间和飞行距离来计算)。性能最明显的提升是在面对白墙和透明玻璃时。景深感知方法在这两种环境下的效果尤其不佳。
最关键的问题是,这种方法是否比另一种方法,即确保无人机在无碰撞情况下飞行,取得的效果更好,目前还无法做出判断。
但可以看到,如果允许无人机发生事故,那么将可以实现无监督学习:只要将无人机放在室内环境中,算法就能自动学习。除了需要人类来给无人机更换电池之外,所有的数据收集和学习都是自动的。
如果你希望无人机在飞行时不发生事故,那么就需要为无人机寻找合适的路线。你可以选择由人工介入,在环境中部署运动捕捉系统,或是绘制障碍物的三维地图。然而,这样做将带来更高的复杂度。如果允许无人机发生事故,那么一切都变得简单。(完)
论文地址:https://arxiv.org/pdf/1704.05588.pdf