你可能不喜欢在家工作,但机器人不会介意。事实上,机器人几乎可以在任何地方工作。自动驾驶汽车、整个仓库、吸尘、扫地,甚至在国际空间站上也可以工作。机器人,你看,机器人并不挑剔。好吧,除了一件事:机器人真的更喜欢运行ROS 2。
什么是ROS 2?"ROS "是机器人操作系统的缩写,虽然它并不是真正的操作系统,相反,它是一套帮助开发者构建机器人应用的软件库和工具。虽然ROS(1.0)一开始更多的是作为一个学术、业余爱好者的工具,但2017年发布的新版本(2.0)更有企业级的味道,支持实时、多机器人协同工作、生产环境等。虽然听起来像是在一个古老的操作系统上进行了很酷的升级,但ROS 2打破了许多ROS开发者所依赖的API。
根据ABI Research的数据,到2024年,55%的机器人将运行ROS包。数以万计的开发者已经依赖ROS,尽管正在构建的应用的性质已经发生了变化。虽然ROS 1针对的是学术和业余爱好者市场,但随着时间的推移,公司已经用它来构建工业和其他面向企业的机器人应用。
尽管ROS 1一直以来都很不错,但由于缺乏关键的企业级功能,使得它并不适合那些需要多平台支持、实时通信、多机器人通信、小设备嵌入能力等应用。正如Gerkey当时在一篇博文中写道:"随着ROS的所有这些新用途的出现,这个平台正在以意想不到的方式被拉伸。虽然它保持得很好,但我们相信,通过正面解决他们的新用例,我们可以更好地满足现在更广泛的ROS社区的需求。"
Open Robotics和ROS社区选择了一条新的道路,而不是对ROS 1进行渐进式的改变。Gerkey在博客中说:"考虑到要实现我们所追求的利益所需要的改变具有侵入性,改变目前的ROS系统会有太多的风险,而这个系统是很多人所依赖的," Gerkey在博客中说。或者,正如他在最近的采访中所说," ROS 2让我们在保留所有好的东西的同时,修复了那些需要大的结构性改变的东西。所有那些人们在ROS 1中渴望得到的东西,如Windows支持、RTOS支持、生命周期管理、安全等,都在ROS 2中得到了满足。"
这种方法的弊端。破损的API。弊端?可以建立一个全新的应用类的应用。虽然这种弊端听起来可能是不祥之兆,但Gerkey和Open Robotics的开发者倡导者Katherine Scott在接受IEEE采访时解释说,他们已经创建了一些工具,使之变得简单明了,包括允许渐进式的增量升级,而不是批量升级的机制。当然,对于那些堆积了很久的技术债务的人来说,转型不会很简单,因为 "复利不是你的朋友," Gerkey说。但不管开发者是否升级到ROS 2,这句话都是真的。
而这样的付出,同样也是值得的。"我对ROS 2的兴奋程度远远超过了对ROS 1的怀旧。" Gerkey在接受采访时说。ROS 1经历了一个伟大的十年,但随着机器人走向企业化,想用ROS打造的企业真的需要拥抱ROS 2。
当然,ROS 2实现了企业级的应用,Gerkey在采访中继续说道,仿真软件的兴起让今天的业余爱好者们能够打造出未来的工业机器人。
那些孩子们可以用ROS 1打造出酷炫但又有些局限的机器人,而有了ROS 2,他们就可以真正打造出一个喷气式未来的自驾车汽车、机器人动力工厂等等。
