赞
踩
硬件技术的飞速发展,在促进机器人领域快速发展和复杂化的同时,也对机器人系统的软件开发提出了巨大挑战。机器人平台与硬件设备越来越丰富,致使软件代码的复用性和模块化需求越加强烈,而已有的机器人系统又不能很好地适应需求。为迎接机器人软件开发面临的巨大挑战,产生了多种优秀的机器人软件框架,为软件开发工作提供了极大的便利,其中最为优秀的软件框架之一就是机器人操作系统ROS(Robot Operating System)。ROS与Android、Ubuntu并称为机器人三大操作系统。
ROS是一个用于编写机器人软件的灵活框架,其前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目,到2008年以后,主要由威楼加拉吉继续该项目的研发。ROS集成了大量的工具、库、协议,提供类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。
2007年诞生的ROS1.0,存在如下问题:
1、对多机器人系统支持较弱
多机器人系统是机器人领域研究的一个重点问题,可以解决单机器人性能不足、无法应用等问题,但是ROS 1中并没有构建多机器人系统的标准方法。
2、不支持跨平台
ROS 1基于Linux系统,在Windows、MacOS、RTOS等系统上无法应用或者功能有限,这对机器人开发者和开发工具提出了较高要求,也有很大的局限性。
3、实时性差
很多应用场景下的机器人对实时性有较高要求,尤其是工业领域,系统需要做到硬实时的性能指标,但ROS 1缺少实时性方面的设计,所以在很多应用中捉襟见肘。
4、网络设计欠佳
ROS 1的分布式机制需要良好的网络环境保证数据的完整性,而且网络没有数据加密、安全防护等功能,网络中的任意主机都可获得节点发布或接收的消息数据。
5、稳定性差
ROS 1的稳定性较差,ROS Master、节点等重要环节在很多情况下会莫名宕机,这就导致很多机器人从研究开发到消费产品的过渡非常艰难。
虽然不少开发者和研究机构针对以上部分问题进行了改良,但这些局部功能的改善往往很难带来整体性能的提升,机器人开发者对新一代ROS的呼声越来越大,ROS 2.0的消息也不绝于耳。
终于,在ROSCon 2014上,新一代基于DDS的ROS的设计架构(Next-generation ROS: Building on DDS)正式公布。
相比ROS 1,ROS 2的设计目标更加丰富:
(1)支持多机器人系统
ROS 2增加了对多机器人系统的支持,提高了多机器人之间通信的网络性能,更多多机器人系统及应用将出现在ROS社区中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。