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基本概念的主要内容,如果未能解决你的问题,请参考以下文章

ROS中的基本概念释义

百度 Apollo Cyber RT简介基本概念以及与 ROS 对照

百度 Apollo Cyber RT简介基本概念以及与 ROS 对照

百度 Apollo Cyber RT简介基本概念以及与 ROS 对照

ROS2极简总结-新增概念

初级教程二:基本概念及其指令(适合hydro及以上版本)