何辉 2019-06-24
【新智元导读】Facebook AI近期对机器人技术非常热衷,刚刚又开源了机器人框架PyRobot,该框架是与卡内基梅隆大学合作创建,可运行由Facebook的机器学习框架PyTorch训练的深度学习模型。Facebook希望PyRobot能加快机器人开发,通过共享代码,数据集和模型的通用API来发展机器人研究生态系统。
Facebook的AI团队最近对机器人技术非常着迷。过去一年Facebook没少在机器人上下苦功,从六足机器人,到Replica真实感训练数据集,到Habitat模拟引擎,最近又推出了PyRobot。从名称就可以看出,这是一个基于PyTorch的机器人框架。
PyTorch加快了AI子领域研究的进展,提供了一定程度的抽象,让构建最先进的系统、使用共享库和工具、以及优化性能的操作变得更加容易。
如今,Facebook团队也将其应用于机器人领域,与Carnegie Mellon大学研究人员合作推出了PyRobot框架,可以运行PyTorch训练的深度学习模型,Facebook还希望将其打造成一个生态系统。
PyRobot能够为人工智能研究人员降低入门门槛,使其在短时间内(几个小时)轻松设置并运行机器人,而无需浪费时间去考虑设备硬件、驱动程序、控制系统等。
PyRobot目前支持Sawyer机器人和LoCoBot,这是一个用于Carnegie Mellon机器人自治课程的机器人。支持Universal Robots和Franka等UR5等其他机器即将推出,与MuJoCo和Habitat等模拟器的集成也在进行中。
通常设置一个机器人,仅仅让它挥动手臂的简单动作,也需要几天甚至一周时间来调试机器人的本地软件。
机器人社区流传着一个笑话:如果你博士论文研究的是机器人,多一个机器人,你的论文完结时间就往后延长一年。由此可见调试机器人有多浪费时间。
PyRobot通过在多个机器人和模拟器之间使用通用API来解决上述问题。下面这段代码很好的展示了用PyRobot将会多么轻松:
PyRobot具有适用于所有机器人的通用功能,例如关节位置控制、关节速度控制、关节扭矩控制、笛卡尔路径规划、正向运动学和反向运动学(基于机器人URDF文件)、路径规划和视觉SLAM等。
虽然它将底层软件堆栈的复杂性抽象掉了,不过用户仍然可以灵活地使用不同级别的组件,例如绕过规划器以执行低级别的速度和扭矩命令。
PyRobot可用于实现各种高级AI应用程序、点目标导航、推动和抓取等操作任务,以及使用机器人进行数据收集的远程操作。
PyRobot提供了一种在机器人技术中使用AI和机器学习算法的简便方法,可以使用与物理机器人的接口来收集任务的数据,比如抓取任务;可以训练深度学习模型,然后在机器人上执行算法。
一些正在进行的项目中,PyRobot确实简化了用于末端执行器控制和点目标导航的sim2real策略转换测试。
为什么机器人研究一直做不大?原因有两个,首先是硬件成本过高,其次是专业软件太复杂。PyRobot怎么解决这两个问题呢?
它使用通用的API,降低软件的复杂度,配合像LoCoBot一类相对比较便宜的机器人使用。这样降低了入门门槛后,人工智能研究人员就可以部署多个机器人来收集数据、并行学习。
通过在不同硬件上提供通用框架,PyRobot将引领机器人技术基准的开发(类似于AI中的其他领域)并量化进度。Facebook计划与机器人研究社区一起努力建立这些基准。
PyRobot还可以帮助扩展人工智能教育计划,从而更容易为具有不同背景的学生提供实操体验。
Facebook计划在不久的将来,通过与模拟器(如AI Habitat,Gibson和MuJoCo)的接口为PyRobot添加功能;并与社区合作,为例如Universal Robots等更多硬件提供支持。
除了开源PyRobot,Facebook AI还计划分享其他最先进的机器人算法的开源实现并发布机器人数据集。
机器人技术对于推进人工智能整体非常重要,因为它使研究人员能够探索教学机器等挑战,以学习预测模型,并在现实世界中开发“常识”知识。
解决这些问题将使AI更加强大,有朝一日可用于智能助理等应用程序。Facebook希望凭借PyRobot灵活、开放的设计,帮助Facebook AI研究人员和该领域的其他人加快实现这些目标的进程。
参考链接
Facebook AI:
https://ai.facebook.com/blog/open-sourcing-pyrobot-to-accelerate-ai-robotics-research/
论文:
https://arxiv.org/abs/1906.08236?fbclid=IwAR0E1aLthcXnTnh0_OZb6VcKDTo7IZwI-F7xkjPh-uIihE7t_Cyit-e6A0s