更重要的是,ROS具备开源优势。一个开源的项目能够吸引更多的人或团体的加入,每个人都可以便捷地向开源项目贡献自己的成就,也可以便利地从开源项目上获得支持与帮助。其次,ROS的架构设计是为机器人系统量身打造的。ROS架构的核心概念是分布式、模块化,不管是ROS的核心部分,还是特定功能的应用,都是独立的模块设计。再加上清晰简洁的接口定义与实现,使得在物联网(IoT)领域的很多轻量级SoC,都能被轻易地在ROS系统里应用起来;也或许是ROS优胜的一个重要原因,ROS虽然是开源的,但是一直由OSRF(开源机器人基金会)统一管控的。自2007年以来10多年的时间里,虽然ROS经历过几次变革与起落,但是一直被比较好地管理着,这对于ROS系统的整体走向的把控、整合一些团体与个人、高效决策等等都具备相当重要的作用。
完善的生态系统是操作系统向前发展的强大动力
就像Windows和Linux操作系统,需要建立一个完善的生态系统才能推动其更快更好地发展。ROS是一款糅合了众多知识体系的操作系统,越多的人参与,越会获得更好的完备性、迭代性。杨洪强调,“每一次的跨学科的创新,都需要从实验室到应用实践等不同层次地反复推敲与尝试。各种不同层次、不同学科、不同专业的人们一起工作能够大小专业之间的壁垒,才能让看似不能解决的问题获得创新性方案。”
ROS生态系统的布局分为几个层次。首先,ROS系统提供了足够的说明文档、网上论坛。初学者可以从相关网站上获得足够的学习资料,快速入门。目前这些网站的访问量已经相当惊人,而且包括中国在内,有许多团体或个人在致力于将这些网站的相关资料本地化,以期降低进入门槛,更好地服务本国或者本地的学习者们。
其次,ROS社区每年都会在全球召开ROS开发者大会,该大会的热度逐年上升,吸引了社会各界认识的关注,为ROS的生态系统的搭建起到了很好的推进作用。除了全球性的年度ROS大会,许多国家,如日本、中国等等,也已经或者正在筹备一些区域年度大会,这使ROS的生态进一步向更细分的市场、更小众的需求类别上渗透。针对ROS社区的发展壮大,围绕ROS有不少的联盟陆续创立,ROS也被应用到了不同的领域,譬如针对于工业机械臂的智能化发展的工业机器人操作系统(ROS-Industrial)、无人机、自动驾驶、智慧农业、服务业、医疗、安防等等。
另外,ROS系统到目前已经拥有了数以千记的软件包,一些重要软件包的维护者也合纵连横,会定期或不定期地以工作组或者论坛的形式共同商讨ROS的发布、趋势预估等。期待更多的国人能够在享受ROS带来的便利的同时,能够多贡献自己的代码,让更多的人以维护者的身份加入到ROS的建设中来。
英特尔在开源技术方面给予ROS/ROS2领域合作伙伴提供了支持,主要包括:创建具有产品价值的开源软件堆栈,填补关键技术空白以加速ROS2成熟度,通过英特尔AI和芯片技术为机器人带来智能,为物联网工业平台提供机器人软件解决方案,以及基于OpenVINO工具集的ROS/ROS2神经网络视觉加速方案。
操作系统的进步推动机器人向智能化迈进
ROS于2007年发布第一个版本,经过十年发展,很多前沿技术在快速发展,同时,业界对于机器人操作系统的需求也发生了很多变迁。结合目前的发展趋势,未来机器人操作系统发展会着重于如下的一些方向:
第一, 消息传递机制更关注于效率与安全。基于机器人产品的特性,分布式的模块化设计与信息传递将是设计的重点。而对于机器人产品化的过程中,消息的传递将首先以安全为重。
第二, 跨平台。机器人系统并不会独立存在,往往会依托于已有生产、服务系统,做智慧化或功能化的扩展。如此一来,就要求机器人系统尽可能多地支持既有系统。
第三, 支持物联网设备和小型系统。未来的机器人势必要和其他产品或设备协同工作,来达到更高级别的智能性。同时,在机器人普及的趋势下,机器人与机器人之前的协作、沟通也变得更迫切。因此未来的操作机器人操作系统需要具备更好的连接性、更小的模块设计,符合协同工作、万物互联的大趋势。
第四, 支持可扩展的智能化需求。不论是业界还是普通人的直觉理解,都会把智能化作为机器人发展的很重要的一个标识。因此未来的机器人操作系统,对于人工智能的兼容程度也相当重要,提供必要的运行时支持与相对标准的神经网络的接口抽象,并尽可能多地将给予人工智能的高速算法融入到机器人操作系统的核心领域。