打印

开源机器人操作系统ROS(二)ROS总体框架

[复制链接]
1497|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  一、 总体结构
  根据ROS系统代码的维护者和分布来标示,主要有两大部分:
  (1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个ROS的核心部分的程序编写。
  (2)universe:全球范围的代码,有不同国家的ROS社区组织开发和维护。一种是库的代码,如OpenCV、PCL等;库的上一层是从功能角度提供的代码,如人脸识别,他们调用下层的库;最上层的代码是应用级的代码,让机器人完成某一确定的功能。
  一般是从另一个角度对ROS分级的,主要分为三个级别:计算图级、文件系统级、社区级。

相关帖子

沙发
mmuuss586|  楼主 | 2016-8-13 17:44 | 只看该作者
 二、 计算图级
  计算图是ROS处理数据的一种点对点的网络形式。程序运行时,所有进程以及他们所进行的数据处理,将会通过一种点对点的网络形式表现出来。这一级主要包括几个重要概念:节点(node)、消息(message)、主题(topic)、服务(service)。
  (1) 节点
  节点就是一些直行运算任务的进程。ROS利用规模可增长的方式是代码模块化:一个系统就是典型的由很多节点组成的。在这里,节点也可以被称之为“软件模块”。我们使用“节点”使得基于ROS的系统在运行的时候更加形象化:当许多节点同时运行时,可以很方便的将端对端的通讯绘制成一个图表,在这个图表中,进程就是图中的节点,而端对端的连接关系就是其中弧线连接。
  (2) 消息
  节点之间是通过传送消息进行通讯的。每一个消息都是一个严格的数据结构。原来标准的数据类型(整型,浮点型,布尔型等等)都是支持的,同时也支持原始数组类型。消息可以包含任意的嵌套结构和数组(很类似于C语言的结构structs)。
  (3) 主题
  消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,发布者和订阅者不了解彼此的存在。
(4) 服务
  虽然基于话题的发布/订阅模型是很灵活的通讯模式,但是它广播式的路径规划对于可以简化节点设计的同步传输模式并不适合。在ROS中,我们称之为一个服务,用一个字符串和一对严格规范的消息定义:一个用于请求,一个用于回应。这类似于web服务器,web服务器是由URIs定义的,同时带有完整定义类型的请求和回复文档。需要注意的是,不像话题,只有一个节点可以以任意独有的名字广播一个服务:只有一个服务可以称之为“分类象征”,比如说,任意一个给出的URI地址只能有一个web服务器。
  在上面概念的基础上,需要有一个控制器可以使所有节点有条不紊的执行,这就是一个ROS的控制器(ROS Master)。
  ROS Master 通过RPC(Remote Procedure Call Protocol,远程过程调用)提供了登记列表和对其他计算图表的查找。没有控制器,节点将无法找到其他节点,交换消息或调用服务。
  比如控制节点订阅和发布消息的模型如下:
 ROS的控制器给ROS的节点存储了主题和服务的注册信息。节点与控制器通信从而报告它们的注册信息。当这些节点与控制器通信的时候,它们可以接收关于其他以注册及节点的信息并且建立与其它以注册节点之间的联系。当这些注册信息改变时控制器也会回馈这些节点,同时允许节点动态创建与新节点之间的连接。
  节点与节点之间的连接是直接的,控制器仅仅提供了查询信息,就像一个DNS服务器。节点订阅一个主题将会要求建立一个与出版该主题的节点的连接,并且将会在同意连接协议的基础上建立该连接。
  另:ROS控制器控制服务:



使用特权

评论回复
板凳
dirtwillfly| | 2016-8-13 21:08 | 只看该作者

使用特权

评论回复
地板
mmuuss586|  楼主 | 2016-8-14 09:32 | 只看该作者

谢楼上支持;

使用特权

评论回复
5
crazyren| | 2016-8-15 08:13 | 只看该作者
个人感觉国内的大部分机器人公司都在打酱油,没有自己任何拿得出手的技术,大浪一来,纷纷倒下~

使用特权

评论回复
6
mmuuss586|  楼主 | 2016-8-15 10:17 | 只看该作者
crazyren 发表于 2016-8-15 08:13
个人感觉国内的大部分机器人公司都在打酱油,没有自己任何拿得出手的技术,大浪一来,纷纷倒下~ ...

是的,所以要打好基础,稳步发展;

使用特权

评论回复
7
mmuuss586|  楼主 | 2017-3-10 15:21 | 只看该作者

谢楼上支持;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入21IC论坛 游名科技:提供直流无刷电机驱动整体解决方案

696

主题

32667

帖子

437

粉丝