ROS术语

ROS术语

主节点

  • 主节点(master) 负责节点到节点的连接和消息通信,类似于名称服务器(Name Server)。roscore是它的运行命令,当您运行主节点时,可以注册每个节点的名字,并根据需要获取信息。没有主节点,就不能在节点之间建立访问和消息交流(如话题和服务)
  • 节点只有在需要注册自己的信息或向其他节点发送请求信息时才能访问 主节点并获取信息。
  • URI地址使用当前的本地IP,端口使用11311。

节点

  • 节点(node) 是指在ROS中运行的最小处理器单元。可以把它看作一个可执行程序。在ROS中,建议为一个目的创建一个节点,建议设计时注重可重用性。
  • 节点在运行的同时,向主节点注册节点的名称,并且还注册发布者(publisher)、订阅者(subscriber)、服务服务器(service server)、服务客户端(service client)的名称,且注册消息形式、URI地址和端口。 基于这些信息,每个节点可以使用话题和服务与其他节点交换消息。

功能包

功能包(package) 是构成ROS的基本单元。ROS应用程序是以功能包为单位开发
的。

元功能包

元功能包(metapackage) 是一个具有共同目的的功能包集合。例如,导航元功能包包含AMCL、DWA、EKF和map_server等10余个功能包。

消息

节点之间通过消息(message) 来发送和接收数据。消息是诸如integer、floating point和boolean等类型的变量。

话题

话题(topic) 就是“故事”。在发布者(publisher)节点关于故事向主节点注册之后,它以消息形式发布关于该故事的广告。希望接收该故事的订阅者(subscriber)节点获得在主节点中以这个话题注册的那个发布者节点的信息

发布与发布者

发布(publish)是指以与话题的内容对应的消息的形式发送数据。为了执行发布,发布者(publisher)节点在主节点上注册自己的话题等多种信息,并向希望订阅的订阅者节点发送消息。发布者在节点中声明自己是执行发布的个体。单个节点可以成为多个发布者

订阅与订阅者

订阅是指以与话题内容对应的消息的形式接收数据。为了执行订阅,订阅者节点在主节点上注册自己的话题等多种信息,并从主节点接收那些发布此节点要订阅的话题的发布者节点的信息.与话题不同,服务是一次性的消息通信。当服务的请求和响应完成时,两个节点的连接被断开

服务

服务(service) 消息通信是服务客户端(service client)与服务服务器(service server)之间的同步双向消息通信。

服务服务器

服务服务器(service server)是以请求作为输入,以响应作为输出的服务消息通信的服务器。

服务客户端

服务客户端(service client)是以请求作为输出并以响应作为输入的服务消息通信的客户端。

动作

动作(action) 是在需要像服务那样的双向请求的情况下使用的消息通信方式,不同点是在处理请求之后需要很长的响应,并且需要中途反馈值

动作服务器

动作服务器(action server)以从动作客户端接收的目标作为输入并且以结果和反馈值作为输出的消息通信的服务器。

动作客户端

动作客户端(action client)是以目标作为输出并以从动作服务器接收待结果和反馈值作为输入的消息通信的客户端。

参数

ROS中的参数(parameter) 是指节点中使用的参数。参数是默认(default)设置的,可以根据需要从外部读取或写入。例如,您可以指定与外部设备连接的PC的USB端口、相机校准值、电机速度或命令的最大值和最小值等设置值。

参数服务器

参数服务器(parameter server) 13是指在功能包中使用参数时,注册各参数的服务器。

catkin

catkin是指ROS的构建系统。ROS的构建系统基本上使用CMake(Cross Platform Make),并在功能包目录中的CMakeLists.txt文件中描述构建环境。在ROS中,我们将CMake修改成专为ROS定制的catkin构建系统

roscore

roscore是运行ROS主节点的命令,roscore在一个网络中只能运行一个。

rosrun

用于在功能包中运行一个节点.

roslaunch

用于运行多个确定的节点.

bag

用户可以保存ROS中发送和接收消息的数据,以*.bag 为扩展名.用于存储信息,利用rosbag的记录和回放功能,在开发那些需要反复修改程序的算法的时候会非常有用。

状态图

节点\话题\发布者\订阅者之间的关系可以通过状态图(graph)直观的表示.

名称

节点、参数、话题和服务都有名称(name) ,当使用主节点的参数,话题,服务时,==向主节点注册该名称并根据名称进行搜索,然后发送消息.

URI

统一资源标识符(Uniform Resource Identifier)代表Internet上资源的唯一地址.

MD5

MD5(Message-Digest algorithm 5) 24是128位密码散列函数。它主要用于检查程序或文件的完整性,以查看它是否保持原样。在使用ROS消息的通信中,使用MD5来检查消息发送/接收的完整性

XML

可扩展标记语言(XML,Extensible Markup Language)在ROS中用于*.launch、*.urdf和package.xml等各个部分

XMLRPC

XML-Remote Procedure Call(XMLRPC)是一种RPC(远程控制调用 Remote Procedure Call)协议,其编码形式采用XML编码格式

TCP/IP

传输控制协议(TCP,Transmission Control Protocol)

CMakeLists.txt

ROS 构建系统的catkin基本上使用了CMake,因此在功能包目录CMakeLists.txt文件中描述着构建环境。

package.xml

包含功能包信息的XML文件,描述功能包名称、作者、许可证和依赖包。

你可能感兴趣的:(ROS术语)