从计算图(Graph)级的角度来看,ROS的本质就是一个基于网络的数据流动控制器。它的核心roscore其实就相当于一个服务器(Server),主导着数据的流动,每一个程序都相当于一个客户(Client),客户之间需要通信,如发送文字、图片、语音等。
ROS2中涉及到的基本概念有:节点(Node)、话题(Topic)、消息(Message)、服务(Service)和发现(Discovery)。
下面分别予以介绍:
1、节点(Node)
节点是一些执行运算任务的进程,有着数据的输入和输出。也就是说,节点就是一个数据传输和处理的程序,你可以把ROS系统理解为一张巨大的网络,在这个网络中我们有着众多的节点,网络中流动着数据。
查看节点的详细信息命令:
$ ros2 node info /rosout
结果如下:
Node [/rosout]
Publications:
* /rosout_agg [rosgraph_msgs/Log]
Subscriptions:
* /rosout [unknown type]
Services:
* /rosout/set_logger_level
* /rosout/get_loggers
contacting node http://machine_name:54614/ ...
Pid: 5092
---------------------
转自https://blog.csdn.net/sad490/article/details/79829497
可以看到,节点包含的信息:节点的发布