伯克利团队提出一种更“聪明”的机器人导航系统

移动机器人导航通常被认为是一个几何问题,机器人的目标是感知环境中障碍物的几何形状,以规划出走向指定位置的无碰撞路径。

目前,从室内导航到自动驾驶,自主导航的主要方法是让机器人构建地图, 将自己定位在地图中,并使用地图来计划和执行使机器人到达目标的动作,这种同时定位、地图绘制(SLAM)和规划路径方法已取得了令人印象深刻的结果,并且是当前最先进的自主导航技术的基础。

但是,这种方法仍然存在局限性,例如在无纹理场景中的性能下降。要保证机器人在环境中的导航行为变得越来越好,需要依靠更多、更昂贵的传感器,且在开放环境中,移动机器人自主导航还会面临更多挑战,有时候很难用纯粹的几何分析来解决。

图|越野环境和城镇环境(来源:Berkeley)

比如,要步行到达一个目的地需要穿过一片茂盛的草丛, 对人类来讲直接走过去就好,而当人们推着一辆小车时,则更青睐选择在相对平坦的路面上走。这些看似无需思考就能做出的判断,对当今的自主导航移动机器人来说却十分困难,很可能决策失败:它们会认为高高的草丛是与混凝土墙相同的障碍,而且不了解选择平滑的路面和颠簸路面之间的区别。

因为大多数移动机器人纯粹是根据几何学来思考的,从语义理解的角度出发,使用人类提供的可穿越性或路面标签上训练出来的计算机视觉方法来实现,但是,可遍历性、颠簸性等和移动性相关的属性是自然环境的物理特征,机器人是否能直接从图像中推断出自主导航能力?并像人一样选择最合适的路径规划到达目标?

来自加州大学伯克利分校的 AI 研究人员开发了一种方案,这是一种完全自主,可自我改进的基于端到端学习的移动机器人导航系统,移动机器人可通过自身在现实世界中的经验来自主学习环境的物理属性,而无需任何模拟或人工监督,团队将这个机器人学习系统称为 BADGR:伯克利自动驾驶地面机器人。

图|Clearpath Jackal 移动机器人平台(来源:Berkeley)

先来看下硬件配置。研究人员使用了一台 Clearpath Jackal 移动机器人做测试平台,这个机器人的尺寸为 508 毫米×430 毫米 × 250 毫米,重 17 千克,非常适合在城市和越野环境中行驶,默认的传感器套件包括一个六自由度的 IMU(用于测量线性加速度和角速度),一个用于近似全局位置估计的 GPS 单元以及用于测量车轮速度的编码器。研究人员还在机器人的顶部添加了新的传感器:两个向前的 170 度视场 640 × 480 像素摄像机、一个 2D 激光雷达和一个指南针。

机器人内部配备了 NVIDIA Jetson TX2 计算机,这是一个运行深度学习应用程序的理想选择。数据被保存到一个外部 SSD,该 SSD 足够大也足够快,能存储每分钟 1.3GB 的传感器数据流。团队通过安装在机器人顶部的 4G 智能手机远程监控实验、视频流以及必要时的远程操作。

接下来的工作重点分为四个步骤:1、自主收集数据;2、通过自我监督自动标记数据;3、训练基于图像的神经网络预测模型;4、使用预测模型来进行规划,并执行能让机器人完成导航任务的动作。

图|BADGR 实时进行自主规划与导航(来源:Berkeley)

研究人员设计了数据收集方法,能够以最少的人工干预收集大量多样的数据进行训练。由于使用现实世界的机器人系统收集数据的成本很高,团队选择使用非策略学习算法,以便能够使用任何控制策略收集数据,并对所有数据进行训练。

此外,设计数据收集策略时的第二个考虑因素是确保充分探索环境,同时还要确保机器人执行在测试时实际希望执行的动作序列。单纯的统一随机控制策略是不够的,因为由于机器人的线性和角速度作用界面,机器人将主要驱动直线行驶,这将导致探索不足和不切实际的测试时间动作序列。 因此,团队使用时间相关的随机游走控制策略来收集数据 。

图|随机控制策略的命令角速度和线速度的示例图,该策略用于收集数据(来源:Berkeley)

然后,BADGR会处理原始的采样数据,并为特定的导航事件计算标签,在这项实验中,研究人员考虑了三个不同的影响事件:碰撞、 颠簸和位置。

发生碰撞事件的原因是当在城市环境中,激光雷达测量到接近障碍物时,或者在越野环境中,当IMU检测到线性加速度和角速度幅值突然下降时,就会发生这种情况;当由IMU测量的角速度幅度高于某个阈值时,将发生颠簸事件;位置由车载状态估计器确定,该估计器将车轮里程表和IMU融合在一起以形成局部位置估计。

BADGR 会遍历数据,在每个时间步长计算事件标签并将这些事件标签添加回数据集之中,BADGR 随后可以训练模型以预测哪些动作导致了哪些导航事件。

图|BADGR 深度神经网络预测模型的插图,这是其自主导航策略的核心(来源:Berkeley)

BADGR 深度神经网络预测模型将当前的摄像机图像和未来计划的动作序列作为输入,并输出对未来相关事件的预测(例如机器人是否会在颠簸地形上碰撞或行驶)。

此外,在部署 BADGR 时,研究人员定义了一个奖励函数,该函数对他们希望机器人完成的特定任务进行编码。例如,奖励函数可以鼓励在阻止碰撞或在颠簸不平的地形上行驶的同时朝目标前进。然后,BADGR 使用训练有素的预测模型、当前图像观察和奖励功能来计划使奖励最大化的一系列动作。

BADGR 在计划和执行之间交替,直到任务完成到达目标。

新的导航策略效果怎么样?拉出来比试一下。研究人员将 BADGR 与使用光学雷达的无冲突路径的 SLAM + P 导航策略进行了比较,而 BADGR 仅使用摄像头图像识别,对比结果体现出了两大优势。

测试一,在城市环境中避免碰撞和颠簸地形到达目标 GPS 位置的任务。尽管基于几何的策略最终也成功地完成了任务,但是它未能避免减少颠簸的情况。BADGR 成功地达到了目标,并通过在铺有路面的道路上行驶成功避免了颠簸的地形。值得注意的是,研究人员从未告诉机器人要在平面道路上行驶,BADGR 从车载摄像头图像中自动获悉,在混凝土路径上行驶比在草地上行驶更平稳。

测试二,在越野环境中达到指定GPS位置的任务。SLAM + P策略错误地将草丛标记为不可穿越的障碍,因此就地旋转以尝试找到可穿越的路径,但在旋转并未能检测到任何可穿越的路径后, 机器人被困难以前行。相比之下,BADGR方法从经验中学到了,有些高草确实是可以穿越的,因此能够成功地将机器人继续导向目标,没有错误地认定草丛是障碍,这是因为BADGR从经验中学到,大多数草丛实际上都是可遍历的。

除了能够了解环境的物理属性之外,BADGR 的一个关键方面是它能够不断自我监督并在收集越来越多的数据实时改进模型。为了证明这种能力,研究人员进行了一项对照研究,其中BADGR收集并训练来自一个区域的数据,然后移动到新的目标区域,在该区域初次导航失败,但随后在收集并训练了新区域的其他数据之后,最终成功完成任务。

图|随着收集更多数据,BADGR 的智能化不断提高(来源:Berkeley)

该实验不仅证明BADGR在收集更多数据后可以改善,而且当BADGR遇到新环境时,以前收集的经验实际上可以加速学习。随着BADGR在越来越多的环境中自动收集数据,成功学习每种新环境中的导航所需的时间将越来越少。

BADGR给出的关键见解是,通过直接从现实世界中的经验中自主学习,BADGR可以了解导航能力,随着收集更多数据而不断完善,并推广到其他新的环境。研究人员认为 BADGR 是朝着完全自动化、自我完善的导航系统迈出的有希望的一步,尽管仍然存在许多未解决的问题,比如:机器人如何在新环境中安全地收集数据?在线适应新的数据流?应对非静态环境,例如有人走动?

最后,研究人员表示,该实验只评估了静态环境中的BADGR,环境中并没有加入行人和汽车之类的移动媒介。由于来自数据收集策略与真实环境中的动态数据会存在偏差,因此使用来自非静态环境的数据进行收集和训练可能会带来更多挑战,解决这些挑战对于机器人学习平台能够在现实世界中学习和行动至关重要,BADGR正在向这个目标一步步迈进。