机器人操作系统 ROS | 工业百条
时间:2023-01-05 11:10 来源:网络整理 作者:采集插件 点击:次
如果没有ROS,就没有最近流行的无人服务、物流机器人、飞行器及自动驾驶,正是机器人操作平台ROS 为这些技术带来了飞速的进步。ROS 并非其字面意义上的操作系统,而更多的是一个中间件,它能够让你根据现有的代码知识构建你的想法,并共享各种模块来解决一些常见问题,从而使机器人更快、更经济、更高效地工作。本文讲述了ROS 自其诞生以来的故事,主要探讨了现有市场玩家对于开源的不同看法,展示了目前相关的实用案例及技术上存在的难点。文章的最后总结了关于这些矛盾如何解决的前景,以及ROS 未来的发展可能性。 【词条正解——工业百条】ROS 是一个开源的机器人操作系统,能够集成大规模的不同机器人的通信层,其主要目标是通过知识共享加速机器人的研究和工业应用。它允许个人修改高级外设,如运动控制、感知和路径规划工具等。在ROS 的帮助下,软件开发人员能够方便地模拟机器人的行为,省去了制造或购买实体机器人所需的高昂费用,并通过借助免费开源库中的现有代码来快速构建自己的应用程序场景。在未来,动态的和更具协作性的工业生产环境将使得具有适应性的机器人拥有巨大的市场。 别重新发明车轮 ROS 起源于斯坦福人工智能机器人(STAIR),这是一个由Andrew Ng 领头并组织相关研究人员而推出的项目,旨在将多种AI 功能(如视觉、操纵、导航等)整合到单个机器人中。由于大量的重复编程非常浪费时间,这些研究人员想建立一个基于现有资源的某种东西——停止重新发明车轮。STAIR 的与众不同之处在于,人们可以在保持系统整体不变的情况下使用不同的子系统。尽管系统这个概念对于不同的使用者来说是不同的——这是高效使用大批量机器人项目的一个先决条件。 这些斯坦福大学研究人员在募资时,遇到了谷歌出身的企业家斯科特·哈桑(Scott Hassan)。哈桑于2006 年创立了一家机器人技术公司Willow Garage,投入了大量资金。2009 年,这家公司发布了ROS 的第一个源代码开放Beta 版,在第二年发布了正式版。 随后,Willow Garage 加大了公关力度,在各个主流的国际机器人大会上也非常活跃。ROS 社区取得了快速发展,与此同时,ROS 软件包的数量也在快速增长(ROS软件包:具有各种应用项目的软件,如导航)。2011 年和2012 年,ROS 逐渐成为机器人领域的一个巨大炒作话题。Willow Garage 推出了更多基于ROS 的机器人(TurtleBot)。在这个阶段,每隔6 个月就会出现新版本且功能更强大的ROS 系统,代码的质量也在稳步提高。因为没有看到商业化的趋势,当时也有人质疑Willow Garage 关于ROS 的动机。2013 年,斯科特·哈桑并不看好服务机器人能带来的收益,随后从Willow Garage 撤资,并在当年晚些时候关闭了该公司。 开源机器人基金会(OSRF)正式负责接管了ROS 的后续开发。当时负责ROS的团队规模很小,也没有大的投资方参与。凭借着世界各地的开发人员对ROS 的开发和使用所形成的开发者社区,ROS 得以幸存并延续至今。 自2014 年起,ROS 社区发展迅猛 由于技术的持续改进,机器学习取得突破,以及对于灵活且小规模工业应用的需求愈发旺盛,机器人领域从2014 年开始再次得到了学术研究机构和风险投资的重视。 今天,ROS 社区比以往任何时候都更加活跃。它已拥有大约3000 名有积极贡献的活跃社区成员。这些成员来自各个国家,其中大部分来自美国、中国、德国和日本。他们贡献了总计超过450 万行重要的代码,据推测,这相当于169 名全职开发人员8.5 年的工作量。 截至2017 年7 月,根据维基关于ROS 的问答数量,ROS 社区的参与度在一年内大约提高15%。同时wiki.ros.org 网站的编辑和浏览量也上涨了30%。图1展示了可应用于不同场景的软件包逐年下载数量的变化。 图1 软件包下载数量的变化 学术著作《ROS:一个开源的机器人操作系统》的被引用量清晰地展现了社区和ROS 的合作进程,这篇论文由M·Quigley 和斯坦福大学计算机科学系、Willow Garage 和南加州大学计算机科学系在2009 年联合发表。发表至今已逾8 年,但其引用量自2016 年以来激增了40%。 实际中ROS 应用的增长也被相关数据所证实。图2中的数据曲线代表兼容ROS的机器人的数量,展现了ROS 应用的快速增长。 图2 ROS 应用的增长趋势 在中国,ROS 也开始逐渐流行开来。目前从数量上来看,中国用户是访问ROS网站的第二大团体,并且份额正逐渐增加,如图3所示。 图3 各国访问ROS 网站份额对比 ROS 架构中所蕴含的哲学目标 自创立之初,ROS 的架构便是基于由创始人定下的“哲学目标”: (1)点对点(Peer-to-peer)。 (2)基于工具(Tools-based)。 (3)多语言(Multi-lingual)。 (4)简洁(Thin)。 (5)免费且开源(Free and Open-Source)。 (责任编辑:admin) |