我在网上搜索以机器人技术为特色的开源项目时,偶然发现了机器人操作系统。我饶有兴趣地阅读了他们的网站,因为这是我第一次看到一个专门为机器人编写代码的开源项目。更好的是,他们正在为 Ubuntu 开发这段代码。作为 Ubuntu 的长期用户,我看到了将其安装在我自己的系统上并进行修补的可能性。
机器人操作系统 (ROS) 从一开始就旨在鼓励协作机器人软件开发。例如,一个实验室可能拥有室内环境制图方面的专家,并且可以贡献一个世界级的系统来生成地图。另一个小组可能拥有使用地图进行导航的专家,而另一个小组可能发现了一种计算机视觉方法,该方法非常适合识别杂乱中的小物体。ROS 专门为像这样的团队设计,以便他们可以协作并相互借鉴工作成果。——摘自网站
当我联系要求采访时,我与Tully Foote取得了联系,他是开源机器人基金会的机器人操作系统平台经理。
请介绍一下你自己。
我是开源机器人基金会的 ROS 平台经理。我在 OSRF 的工作是我在 Willow Garage 开始的工作的延续,我在那里专注于 ROS 开发,构建核心工具和库,以及支持和帮助发展 ROS 社区。我也是TurtleBot机器人的联合创始人。
请介绍一下机器人操作系统,以及您是如何开始的。
机器人操作系统 (ROS) 是一个用于编写机器人软件的灵活框架。它是一系列工具、库和约定的集合,旨在简化在各种机器人平台上创建复杂而精密的机器人行为的任务。ROS 最初于 2007 年在斯坦福大学作为斯坦福人工智能机器人 (STAIR) 项目的一部分开发。它于 2008 年被引入 Willow Garage,并在那里继续发展和成熟。2013 年,OSRF 从 Willow Garage 分拆出来,接管了 ROS 的管理工作。
观看此视频,了解更多关于 Tully 谈论 ROS、DARPA 挑战赛和 Turtlebot 的信息。
为什么需要一个专门为机器人设计的操作系统?
全球机器人社区以前从未拥有过如此复杂的开源平台。在 ROS 出现之前,机器人专家可以说是没有使用相同的语言。想象一下没有 LAMP 堆栈的技术世界,你就能感受到机器人世界当时所处的境地。
机器人需要自己的操作系统 (OS),因为机器人的技术非常复杂。以世界上最复杂的硬件系统为例,然后赋予它眼睛、耳朵、感官、运动、操作等等——这些功能中的每一个都增加了更多的传感器、更多的数据和更多的复杂性。
为什么机器人操作系统决定使用 Ubuntu 而不是 Debian 或 Fedora?
选择 Ubuntu 是因为它的普及性和对易用性的关注。我们目前支持从源代码构建 Debian 和 Fedora,社区成员已经构建了 Debian 的 debs 和 Fedora 的 rpms 的原型,我们希望在未来推广它们。
您认为机器人操作系统在近期会向哪个方向发展?
在过去一年中,我看到了越来越多的 ROS 商业部署。对于一个在学术界启动的项目来说,看到 ROS 在世界各地得到应用真是令人兴奋。ROS 正在商业、工业、服务和消费机器人中使用。ROS 甚至安装在目前在国际空间站上的 Robonaut2 上。
您能谈谈您的核心组件和工具,以及它们为机器人开发者带来了什么吗?
在谈论 ROS 时,我们喜欢将其分为四个主要部分:管道、工具、功能和生态系统。核心是进程间通信中间件,它是使一切协同工作的管道。在此之上是使开发人员的生活更轻松的工具。
对我们的社区非常有价值的工具示例包括我们的 3D 可视化工具以及日志记录和回放应用程序。这些工具使开发人员能够专注于理解他们正在构建的系统,而不是构建用于内省系统的基础设施。
在此之上,我们拥有特定于机器人的功能,这些功能是可以集成到开发人员系统中的组件。这些组件的范围从高自由度运动规划库到提供基本 2D 导航的导航堆栈。其中一些功能来自社区,例如计算机视觉库和点云处理库。
OSRF 维护的功能之一是 Gazebo 模拟器,它提供了一个或多个具有逼真物理效果和渲染效果的机器人的 3D 模拟。它可以用于回归测试以及开发工具,因为机器人的开发时间通常是有限的资源。最后一部分是由我们全球用户社区构建的生态系统。在庞大的社区中,有人在做类似的事情,而 ROS 提供了一种与附近以及世界另一端的人们进行协作的方式。
你们的大部分支持来自哪里?
我们的主要支持来自赠款、捐赠和合同的组合。我们获得了 NASA、NSF 和陆军等组织的几项赠款,以支持我们的核心基础设施。我们还与政府组织和商业公司(如 DARPA、高通和谷歌)签订合同,为我们的平台开发新功能。
社区对于机器人操作系统的开发有多重要?你们采取了哪些措施来促进其发展?
ROS 背后的社区是其最重要的特征之一。社区提供协作机会,互相帮助和模块。OSRF 这里有一个非常小的团队维护核心,但更重要的是我们维护社区的基础设施。我们托管了诸如answers.ros.org之类的网站,社区成员在上面提出了并回答了数千个问题。来自世界各地的社区成员正在发布软件包供所有人使用。有些人是机器人公司的全职员工,而另一些人则将其作为爱好或学生来做。ROS 社区是他们都可以参与的地方。
有关社区的更多信息,请参见指标报告。
你们的代码是如何许可的?
New BSD 一直是我们的默认许可。新项目采用 Apache 2.0 许可。
2015 年是否计划举办 ROSCon?
这仍然是一个悬而未决的问题。可能会在 2015 年秋季或推迟到 2016 年春季。
您对机器人操作系统有任何长期目标吗?
我们对 ROS 的长期目标是为任何构建机器人或机器人系统的人提供核心功能。下一个大型项目是 ROS 2.0 的开发,它将升级中间件以满足现有中间件无法满足的用例。我们专注于最终用户产品部署以及任务关键型系统和高度分布式环境所必需的用例。
随着人们对 STEM 教育和职业的兴趣日益浓厚,您是否看到 K12 和高等教育领域的更多参与?
ROS 已经在高等教育领域拥有久经考验的业绩记录和广泛的应用。ROS 正在稳步地向下渗透到较低的年级。TurtleBot 是一个用于 ROS 开发的低成本机器人平台,通常在高中中使用。我们管理的机器人仿真软件 Gazebo 即将交付给 FIRST 机器人竞赛和 RoboCup 参赛者。
2 条评论