| 加入桌面 | 手机版 | 无图版

工业机器人操作系统ROS详细介绍

放大字体  缩小字体 发布日期:2015-03-23  浏览次数:1432
核心提示:ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储

  ROS(机器人操作系统,RobotOperatingSystem),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。

  ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。

  发展目标

  ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。

  为了实现“共享与协作”这一首要目标,人们制订了ROS架构中的其他支援性目标:

  “轻便”:ROS是设计得尽可能方便简易。您不必替换主框架与系统,因为ROS编写的代码可以用于其他机器人软件框架中。毫无疑问的,ROS更易于集成与其他机器人软件框架。事实上ROS已完成与OpenRAVE、Orocos和Player的整合。

  ROS-agnostic库:【agnostic:不可知论】建议的开发模型是使用clear的函数接口书写ROS-agnostic库。

  语言独立性:ROS框架很容易在任何编程语言中执行。我们已经能在Python和C++中顺利运行,同时添加有Lisp、Octave和Java语言库。

  测试简单:ROS有一个内建的单元/组合集测试框架,称为“rostest”。这使得集成调试和分解调试很容易。

  扩展性:ROS适合于大型实时系统与大型的系统开发项目。

  ROS的概念

  ROS有三个层次的概念:分别为Filesystemlevel,Computationgraphlevel,以及Communicationlevel。以下内容具体的总结了这些层次及概念。除了这三个层次的概念,ROS也定义了两种名称--Package资源名称和Graph资源名称。同样会在以下内容中提及。

  ROS的FilesystemLevel文件系统层概念就是你在碟片里面遇到的资源,例如:

  Packages:ROS的基本组织,可以包含任意格式文件。一个Package可以包含ROS执行时处理的文件(nodes),一个ROS的依赖库,一个数据集合,配置文件或一些有用的文件在一起。

  Manifests:Manifests(manifest.xml)提供关于Package元数据,包括它的许可信息和Package之间依赖关系,以及语言特性信息像编译旗帜(编译优化参数)。

« 1 2 3 »
 
 
[技术搜索] [] [告诉好友] [打印本文] [关闭窗口]
分享到:

免责声明:凡资讯来源注明为其他媒体来源的信息,均为转载自其他媒体,并不代表本网站赞同其观点,也不代表本网站对其真实性负责,当您对该文章的内容有任何疑问或质疑,请立即与我们联系(info@Chinarobotic.com.cn),本网站将迅速给您回应并做出恰当处理。

相关资讯
0条 [查看全部]  相关评论

推荐图文

点击排行