ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。未来技术人员希望形成一种机制,令机器人的开发代码、数据、算法和硬件设计能够在web上很方便的共享。在此背景,以ROS为代表的开源系统应运而生。 耳目一新的系统 ROS(全称:Robot Operating System,机器人操作系统)目前主要依附于Ubantu平台,现在由于Google的强势介入,它也可依附于Android平台上,甚至是在iOS系统上也能够运行。现是对其支持较好的还是Ubantu系统。 ROS是开源的、以提高代码复用率和开发效率的机器人操作系统,在全世界范围内,特别是在一些研发机构和研究型的企业里,它已渐逐普及开来。它提供类似操作系统所提供的功能。包括硬件的抽象描述、底层的驱动程序管理、共用功能的执行、程度间的信息传递、程序发行包的管理、也提供一些工具程序和库,用于获取、建立、编写和运行多机整合的程序。 ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计令独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。 突出的特点 ROS具有以下4个典型要素。 首先,它是多节点、模块化、分布式的设计。这个特点与现在的Linux、Android等系统是很类似的。一个使用ROS的系统包括一系列进程,这些进程存在于多个不同的主机并且在运行过程中通过端对端的拓扑结构进行联系。虽然基于中心服务器的那些软件框架也可以实现多进程和多主机的优势,但是在这些框架中,当各电脑通过不同的网络进行连接时,中心数据服务器就会发生问题。ROS的点对点设计以及服务和节点管理器等机制可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。 其次,它有丰富的工具包、仿真环境。为了管理复杂的ROS软件框架,我们利用了大量的小工具去编译和运行多种多样的ROS组建,从而设计成了内核,而不是构建一个庞大的开发和运行环境。 这些工具担任了各种各样的任务,例如,组织源代码的结构,获取和设置配置参数,形象化端对端的拓扑连接,测量频带使用宽度,生动的描绘信息数据,自动生成文档等等。尽管我们已经测试通过像全局时钟和控制器模块的记录器的核心服务,但是我们还是希望能把所有的代码模块化。我们相信在效率上的损失远远是稳定性和管理的复杂性上无法弥补的。 再次,它涉及机器人领域的方方面面,可以实现各项功能。ROS利用了很多现在已经存在的开源项目的代码,比如说从Player项目中借鉴了驱动、运动控制和仿真方面的代码,从OpenCV中借鉴了视觉算法方面的代码,从OpenRAVE借鉴了规划算法的内容,还有很多其他的项目。在每一个实例中,ROS都用来显示多种多样的配置选项以及和各软件之间进行数据通信,也同时对它们进行微小的包装和改动。ROS可以不断的从社区维护中进行升级,包括从其他的软件库、应用补丁中升级ROS的源代码。 最后,它有强大的软件仓库支持平台,有一个名为Ecosystem的ROS社区,可以为它提供各种各样的开源、免费的资源,同时,研究机构的新成果也可以上传至那里,广泛地普及开来。 云机器人平台上的新应用 下面以南开大学最新研制的NK云机器人平台为例,简要说明ROS在云机器人中的应用情况。 NK云机器人平台其中之一是家庭服务机器人模块化、网络化技术及测试规范,虽然简称为“家庭服务机器人”,但是它真正的目标应用是在先进制造技术领域。 这种云机器人将使机器人大幅度区服务中心的瘦身,机器人本体成为智能执行端。NK云机器人体现了机器人技术集成创新的本质属性。它的优势包括:利用大数据和大数据带来的变革;将复杂计算上传到云端执行;机器人间、机器人与所处环境间信息和资源共享;促成开发者共享开源代码与使用者共享应用级代码。 基于上述优势,NK云机器人各功能具有以下几个特点:云端社区——获取更大云端资源支持,共享经验、知识;传感网络——温度、湿度、烟雾及云台相机等非机载传感器组成ZigBee网络;信息中心——资源管理与调度、存储功能、计算功能;机器人本体——响应用户请求,执行家庭服务任务。 在NK云机器人——家庭服务机器人系统中,ROS体系的结构是这样的,分为:Linux—家庭信息中心;服务器端有ROS体系与外部网络接口;而分布式系统(即机器人系统)上,有操作臂控制单元、导航单元、机载传感器单元——这些都分装在ROS的各个节点之中;最底端是ROS节点管理器。 通过这一套机制,就把ROS技术很好地应用在家庭服务机器人系统设计中。 有一点需要指及,国内目前尚未有ROS资源站点,现在只能从美国、欧洲资源站下载。北京航天航空大学、南开大学等单位都在从事这方面的工作,希望不久将来我国也有ROS资源站点,贡献于这个大平台上。 |
|
中国锻压网官方微信:扫一扫,立即关注!
关注"中国锻压网",获取独家行业新闻资讯。 添加方法1: 在“添加好友”中直接添加微信账号:chinaforge 添加方法2: 微信中扫描左侧的二维码 |