ROS基本概念
Posted loongembedded
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS基本概念相关的知识,希望对你有一定的参考价值。
1.节点
节点是主要的计算执行进程,如果你想要有一个可以与其他节点进行交互的进程,那么你需要创建一个节点,并将此节点链接到ROS网络。通常情况下,系统包含能够实现不同功能的多个节点。最好让每一个节点都具有特定的单一功能,而不是系统中创建一个包罗万象的大节点。节点需要使用如roscpp或rospy的ROS客户端库进行编写。
2.节点管理器
ROS节点管理器向ROS系统中其他节点提供命名和注册服务,它像服务一样跟踪和记录主题的发布者和订阅者。节点管理器的作用是使ROS节点之间能够相互查找,一旦这些节点找到了彼此,就能建立一种点对点的通信方式。
节点管理器还提供了参数服务器。节点管理器通常使用roscore命令运行,它会加载ROS节点管理器及其他ROS核心组件。
3.参数服务器(Parameter Server)
参数服务器能够使数据通过关键词存储在一个系统的核心位置。通过使用参数,就能够在运行时配置节点或改变节点的工作任务。
4.消息
节点通过消息完成彼此的沟通,消息包含一个节点发送到其他节点的数据信息。ROS中包含很多种标准类型的消息,同时你也可以基于标准消息开发自定义类型的消息。
5.主题
主题是ROS网络对消息进行路由和消息管理的数据总线,每一条消息都要发布到相应的主题。当一个节点发送数据时,我们就说该节点正在向主题发布消息。节点可以通过订阅某个主题,接收来之其他节点的消息。一个节点可以订阅一个主题,而并不需要该节点同时发布该主题。这就保证了消息的发布者和订阅者之间相互解耦,完全无需知晓对方的存在。主题的名称必须是独一无二的,否则在同名主题之间的消息路由就会发生错误。
6.服务
在发布主题时,正在发送的数据能够以多对多的方式交互。但当你需要从某个节点获得一个请求或应答时,就不能通过主题来实现了。在这种情况下,服务能够允许我们直接与某个节点进行交互。此外,服务必须有一个唯一的名称。当一个节点提供某个服务时,所有的节点都可以通过使用ROS客户端库所编写的代码与它通信。
7.消息记录包(Bag)
消息记录包是一种用于保存和回放ROS消息数据的文件格式。消息记录包是一种用于存储数据的重要机制。它能够获取并记录各种难以收集的传感器数据。我们可以通过消息记录包反复获取实验数据,进行必要的开发和算法测试。在使用复杂机器人进行实验工作时,需要经常使用消息记录包。
以上是关于ROS基本概念的主要内容,如果未能解决你的问题,请参考以下文章
百度 Apollo Cyber RT简介基本概念以及与 ROS 对照
百度 Apollo Cyber RT简介基本概念以及与 ROS 对照