这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 理解ROS计算图级

共2条 1/1 1 跳转至

理解ROS计算图级

菜鸟
2017-09-27 10:03:20     打赏

    ROS会创建一个连接到所有进程的网络。在系统中的任何节点都可以访问此网络,并通过该网络与其他节点交互,获取其他节点发布的信息,并将自身数据发不到网络上。

    在这一层中最基本的概念包括节点、节点管理器、参数服务器、消息、服务、主题和消息记录句,这些概念都以不同的方式向计算图级提供数据:

节点(Node)节点是主要的计算执行进程。如果你想要有一个可以与其他节点进行交互的进程,那么你需要创建一个节点,并将此节点连接到ROS网络。通常情况下,系统包含能够实现不同功能的多个节点。你最好让每个节点都具有特定的单一的功能,而不是在系统中创建一个包罗万象额大节点。节点需要使用如roscpp或rospy的ROS客户端库进行编写。

节点管理器(Master节点管理器用于节点的名称注册和查找等。它也设置节点间的通信。如果在你的整个ROS系统中没有节点管理器,就不会有节点、服务、消息之间的通信。需要注意的是,由于ROS本身就是一个分布式网络系统,你可以在某一台计算机上运行节点管理器,在该管理器或其他计算机上运行节点。

参数服务器(Parameter Server)参数服务器能够使数据通过关键词存储在一个系统的核心位置。通过使用参数,就能够在运行时配置节点或改变节点的工作任务。

消息(Message节点通过消息完成彼此的沟通。消息包含一个节点发送到其他节点的信息数据。ROS中包含很多种标准类型的消息,同时你也可以基于标准消息开发定义类型的消息。

主题(Topic每一个消息都必须有一个名称来被网络路由。每一条消息都要发布到相应的主题。当一个节点发送消息时,我们可以说该节点正在向主题发布消息。节点可以通过订阅某个主题,接收来自其他节点的消息。一个节点可以订阅一个主题,而不需要该节点同时发布该主题。这就保证了消息的发布者和订阅者之间相互解藕,完全无需知晓对方的存在。主题的名称必须是独一无二的,否则在同名主题之间的消息路由会发生错误。

服务(Service在发布主题时,正在发送的数据能够以多对多的方式交互。但当你需要某个节点获得一个请求或应答时,就不能通过主题来实现了。在这种情况下,服务能够允许我们直接与某个节点进行交互。此外服务必须有唯一的名称。当一个节点提供某一服务时,所有的节点都可以通过使用ROS客户端库编写的代码与它通信。

消息记录包(Bag消息记录包是一种用于保存和回放ROS消息数据的文件格式。消息记录包是一种用于存储数据的重要机制。它能够获取并记录各种难以收集的传感器数据。我们可以通过消息记录包反复获取实验数据,进行必要的开发和算法测试。在使用复杂机器人进行试验工作时,经常需要使用消息记录包。




专家
2017-09-27 12:30:38     打赏
2楼

谢谢楼主分享。        


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]