过去一段时间里,PyTorch 等框架的开源大大加快了 AI 子领域研究的进展,如计算机视觉和自然语言处理等。这些框架为研究人员提供了一定程度的抽象,并使得构建最先进的系统、使用共享库和工具、以及优化性能的操作变得更加容易。因此,为了在人工智能机器人研究中提供类似的实用性,Facebook 与卡内基梅隆大学的研究人员合作建立并开源了机器人框架——PyRobot。
什么是 PyRobot
PyRobot 是一个机器人框架,作为构建在机器人操作系统(ROS)上的轻量级、高级接口,它提供了一组独立于硬件的、一致的中级应用程序接口(API),用以控制不同的机器人。正是由于 PyRobot 抽象出了关于低级控制器和进程间通信的详细信息,所以机器学习(ML)专家和其他研究者可以更专注于构建高级 AI 机器人的应用。
同时,它降低了人工智能研究者的入门门槛。在无需专门了解硬件设备、驱动程序以及控制系统等细节的情况下,仅花费几个小时,研究者就能轻松设置并运行机器人。而如果将 PyRobot 与 LoCoBot 等低成本机器人平台配合使用,PyRobot 则可以大大减少机器人的研究成本,这更有助于机器人研究的传播与推广。
另一方面,Facebook 也希望将 PyRobot 打造成为一个机器人研究的生态系统。PyRobot 不仅可以使得社区研究者们更易于使用机器人数据集、算法实现和模型;还能够帮助他们设置基准、共享数据,以及在彼此的工作基础上更好的实现构建。
PyRobot 目前支持机器人 Sawyer 和 LoCoBot,而更多其他支持机型即将推出,与 MuJoCo 和 Habitat 等模拟器的集成也在进行中。
PyRobot 系统架构概述
机器学习和机器人研究的简单共享界面
通常设置一个机器人并使其挥动手臂,需要几天甚至一周时间来调试。因此,在机器人社区有着这样一个玩笑:如果一个博士在研究过程中添加了一个机器人,那么他完成该博士论文的时间就会增加一年。(由此可见,调试机器人将花费大量时间)
而 PyRobot 则可以通过在多个机器人和模拟器之间,提供通用 API 来改变这一现状。仅用一行代码(如下图所示),就能轻松操作机器人;并且相同的高级代码,也适用于 PyRobot 所支持的其他机器人。
仅用几行 Python 代码来定位 LoCoBot 的臂
除此之外,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 研究人员和该领域的其他人加快实现这些目标的进程。
参考链接
原文地址
https://ai.facebook.com/blog/open-sourcing-pyrobot-to-accelerate-ai-robotics-research/
PyRobot论文地址
https://arxiv.org/abs/1906.08236?fbclid=IwAR0E1aLthcXnTnh0_OZb6VcKDTo7IZwI-F7xkjPh-uIihE7t_Cyit-e6A0s
来源 | 雷锋网
作者 | 杨鲤萍