功能包(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是指ROS的构建系统。ROS的构建系统基本上使用CMake(Cross Platform Make),并在功能包目录中的CMakeLists.txt文件中描述构建环境。在ROS中,我们将CMake修改成专为ROS定制的catkin构建系统
roscore是运行ROS主节点的命令,roscore在一个网络中只能运行一个。
用于在功能包中运行一个节点.
用于运行多个确定的节点.
用户可以保存ROS中发送和接收消息的数据,以*.bag 为扩展名.用于存储信息,利用rosbag的记录和回放功能,在开发那些需要反复修改程序的算法的时候会非常有用。
节点\话题\发布者\订阅者之间的关系可以通过状态图(graph)直观的表示.
节点、参数、话题和服务都有名称(name) ,当使用主节点的参数,话题,服务时,==向主节点注册该名称并根据名称进行搜索,然后发送消息.
统一资源标识符(Uniform Resource Identifier)代表Internet上资源的唯一地址.
MD5(Message-Digest algorithm 5) 24是128位密码散列函数。它主要用于检查程序或文件的完整性,以查看它是否保持原样。在使用ROS消息的通信中,使用MD5来检查消息发送/接收的完整性。
可扩展标记语言(XML,Extensible Markup Language)在ROS中用于*.launch、*.urdf和package.xml等各个部分
XML-Remote Procedure Call(XMLRPC)是一种RPC(远程控制调用 Remote Procedure Call)协议,其编码形式采用XML编码格式
传输控制协议(TCP,Transmission Control Protocol)
ROS 构建系统的catkin基本上使用了CMake,因此在功能包目录CMakeLists.txt文件中描述着构建环境。
包含功能包信息的XML文件,描述功能包名称、作者、许可证和依赖包。