在9周年之际,ROS管理者分享了它的一些成果

再强悍的硬件也需要操作系统的支持。移动设备有 Android 和 iOS 操作系统,桌面 PC 有 macOS 和 Windows 操作系统,那么即将进入日常生活的机器人,是否也有自己的操作系统?答案是肯定的,ROS(机器人操作系统)在 2007 年发布之后迅速掀起了学习和使用热潮,那么现在它的发展状况如何?

在9周年之际,ROS管理者分享了它的一些成果

图片中的「Kinetic Kame」是 ROS 系统的第十个发行版本。

经过长达九年的迅猛发展,ROS 已经发展成为全球性的热门社区。在社区内充斥着大量学术研究者、机器人产品开发人员以及热爱机器人的普通用户。此外自第一篇 ROS 论文——《ROS:开源机器人操作系统》发布至今,学术方面研究和探讨从未停歇,目前相关的论文数量已经激升至 2871 篇。

想要更直观更深入的了解 ROS 社区当前的发展状况,如果你有这样的机会,那么最佳的方式就是参加 ROSCon 2016 大会(今年在韩国首尔召开)。ROSCon 的目标就是在整个社区中共享信息,我们会将这些访谈录制下来并放到网上供点击观看。过去两年我们已经成功举办,而现在我们非常期待明年秋季举办的 ROSCon 大会。

在9周年之际,ROS管理者分享了它的一些成果

ROSCon 2016 是非常伟大的线下活动,让 ROS 社区的成员聚集在一起分享他们是如何使用 ROS 来发起各种挑战。

在9周年之际,ROS管理者分享了它的一些成果

了解当前 ROS 社区发展现状的方式之一就是用各项数据说话。最近 6 年,我们一直在生成各种量化报告。这些报告主要对过去一段时间内 ROS 社区发生的情况做出总结。我们最近发布报告的时间为 2016 年 7 月份。David Lu 将其同过去六年的数据指标进行了横向对比,为我们提供了丰富的现状信息。

今年,我们希望进一步挖掘源数据,因此我们下载了罗列在 Indigo Igloo rosdistro 上所有元数据,以及一些分析报告。其中包括:

    共计超过 1400 万行的代码

    2477 名作者

    提交作品有 181,509 个

    平均每个作者提交 73.3 个作品

在下图中你能够看到按照月份排列的作品提交数量分布:

在9周年之际,ROS管理者分享了它的一些成果

图中可以看到在全球范围内,我们的提交产品非常的活跃,几乎一天所有时间段都能看到有用户提交作品。

在9周年之际,ROS管理者分享了它的一些成果

此外 git 作品记录涵盖 24 个时区(实际可能超过39 个)

使用 SLOCCount 分析重要代码中存储库显示

    共计 4,077,199 行重要代码

    这代表了每年预估 1236 人的发展

    从成果规模上来看,过去 9 年相当于 137 名全职开发人员的不懈努力。

如果你想知道这些代码中都使用了那些编程语言,那么结果如下:

    cpp: 2,608,592 (63.98%)

    python: 553,332 (13.57%)

    ansic: 297,629 (7.30%)

    xml: 280,615 (6.88%)

    lisp: 149,439 (3.67%)

    java: 135,343 (3.32%)

    ruby: 26,484 (0.65%)

    sh: 21,120 (0.52%)

这仅仅只是在 Indigo rosdistro 索引中公开发布的软件包。

值得注意的是,这些工具只能在 Git repos 中工作,因此排除了代码来自其他源控制系统的可能。

在九周年之后我们期望 ROS 系统能够进一步发展。而且随着即将推出的 ROS 2.0 的 Beta 1,带来新的发展空间。我们正在筹划准备我们的下个版本——Lunar Loggerhead,以配合 Ubuntu 的下个版本 Zesty Zapus。在此基础上,ROS 社区将会继续依赖深受用户欢迎和青睐的诸多库、工具和功能,我们已经在 ROS 2.0 中测试各项新功能。

另外值得关注的项目是即将到来的 TurtleBot 3。TurtleBot 和 TurtleBot 2 已经成为学习和原型设计的理想平台。然而,我们希望将相同的能力打包到更小的平台中,未来有望成为驱动 ROS 社区发展的又一动力。