Facebook最新开源框架PyRobot,开辟AI机器人研究新纪元

过去一段时间里,PyTorch等框架的开源大大加快了AI子领域研究的进展,如计算机视觉和自然语言处理等。这些框架为研究人员提供了一定程度的抽象,并使得构建最先进的系统、使用共享库和工具、以及优化性能的操作变得更加容易。因此,为了在人工智能机器人研究中提供类似的实用性,Facebook与卡内基梅隆大学的研究人员合作创建并开源了机器人框架──PyRobot。

什么是PyRobot

PyRobot是一个机器人框架,作为构建在机器人操作系统(ROS)上的轻量级、高级连接端口,它提供了一组独立于硬件的、一致的中级应用程序连接端口(API),用以控制不同的机器人。正是由于PyRobot抽象出了关于低级控制器和进程间通信的详细信息,所以机器学习(ML)专家和其他研究者可以更专注于构建高级AI机器人的应用。

同时,它降低了人工智能研究者的入门门槛。在无需专门了解硬件设备、驱动程序以及控制系统等细节的情况下,仅花费几个小时,研究者就能轻松设置并运行机器人。而如果将PyRobot与LoCoBot等低成本机器人平台配合使用,PyRobot则可以大大减少机器人的研究成本,这更有助于机器人研究的传播与推广。

另一方面,Facebook也希望将PyRobot打造成一个机器人研究的生态系统统。PyRobot不仅可以让社群研究者们更易于使用机器人数据集、算法实现和模型,还能够帮助他们设置基准、共享数据。

PyRobot目前支持机器人Sawyer和LoCoBot,而更多其他支持机型即将推出,与MuJoCo和Habitat等仿真器的集成也在进行中。

PyRobot系统架构概述。(Source:Facebook)

机器学习和机器人研究的简单共享接口

通常设置一个机器人并使其挥动手臂,需要几天甚至一周时间来调试。因此,在机器人社群有着这样一个玩笑:如果一个博士在研究过程中添加了一个机器人,那么他完成该博士论文的时间就会增加一年(由此可见,调试机器人将花费大量时间)。

而PyRobot则可以通过在多个机器人和仿真器之间,提供通用API来改变这个现状。仅用一行代码(如下图所示),就能轻松操作机器人;相同的高级代码,也适用于PyRobot所支持的其他机器人。

仅用几行Python代码来定位LoCoBot的手臂。(Source:Facebook)

除此之外,PyRobot还具有适用于所有机器人的通用功能,例如关节位置控制、关节速度控制、关节扭矩控制、笛卡尔路径规划、正向运动学和反向运动学(基于机器人URDF文件)、路径规划和基于视觉的SLAM等。虽然它抽象了底层软件堆栈的复杂性,但用户仍然可以灵活地使用不同等级的组件,例如跳过规划器执行低等级的速度和扭矩命令。

PyRobot也可用于实现各种高级AI应用程序。目前,Facebook已经尝试了点目标导航、操作任务(比如推动和抓取),以及使用机器人进行数据采集的远程操作。

PyRobot还为机器人技术中使用人工智能和机器学习算法提供了一种简便方法,它可以使用与物理机器人之间的连接端口来进行任务数据收集,例如抓取任务;也可以使用PyTorch训练深度学习模型,然后控制机器人来执行相应算法。

而在一些正在进行的计划中,通过使用PyRobot确实能够简化用于末端执行器控制和点目标导航的sim2real策略转换测试。

用于研究和教育的可扩展工具

硬件的成本和专业软件的复杂性限制了机器人研究的规模。而通过PyRobot的高级API与LoCoBot等相对低成本的机器人一起使用时,则可以有效解决这个问题。

通过降低入门门槛,研究人员可以部署多个机器人来收集数据与并行学习;而通过在不同硬件上提供通用框架,PyRobot将有利于机器人技术基准的发展(类似于AI中的其他领域)并量化进度。这也是Facebook所希望的:与机器人研究界的其他人一起努力创建这些基准。PyRobot还可以帮助扩展人工智能教育计划,因为它更易于为不同背景的学生提供实用的机器人体验。

目前,Facebook提供了几种现有导航、抓取和推送算法的预训练模型的实现。

与Facebook创建其他开源人工智能研究工具(包括PyTorch、AI Habitat、TorchVision和ELF)的工作一样,他们认为开放式协作是推动AI领域发展、并将其更多益处广泛传达给用户的重要部分;同时,他们也将继续寻找通过PyRobot框架共享机器人研究代码和数据集的机会。

扩展PyRobot平台并推进AI研究

在不久的将来,Facebook计划通过与仿真器(如AI Habitat、Gibson和MuJoCo)的连接端口为PyRobot添加新功能。他们也计划与研究界合作,为更多硬件例如Universal Robots等提供支持。除了开源Facebook的研究外,Facebook AI还计划分享其他最先进的机器人算法的开源实现并发布机器人数据集。

Facebook表示,机器人技术对于推进人工智能整体非常重要,因为它使研究人员能够探索教学机器等挑战,以学习预测模型,并在现实世界中发展常识性知识。而解决这些问题将会创造出更强大的AI,使其有朝一日可用于智能助理等应用程序。他们希望凭借PyRobot灵活、开放的设计,来帮助Facebook AI研究人员和该领域的其他人加快实现这些目标的进程。