ROS的核心功能是提供一种软件点对点通信机制,基于这一机制,开发人员可以非常灵活和高效地组织智能机器人的软件实现。ROS的运行架构是一种基于Socket网络连接的松耦合架构。在这个运行架构中包括一系列进程,这些进程可以驻留在多个不同的主机上并且在运行的过程中通过点对点的拓扑结构实现通信。
ROS将每个工作进程看作一个节点,使用节点管理器进行统一管理,并提供一套相应的消息传递机制。在ROS中,所有的消息通信都必须使用节点管理器。ROS的特殊性主要体现在消息通信层,而不是更深的层次。点对点的连接和配置通过XMLRPC机制实现;节点间的数据流通过网络套接字实现,数据流在ROS中被称为消息,模块间的消息传递采用简单的、语言无关的接口定义描述。
ROS底层的通信是通过HTTP完成的,因此ROS内核本质上是一个HTTP服务器,它的地址一般是http://localhost:11311/,即本机的11311端口,当需要连接到另一台计算机上运行的ROS时,只要连上该机的11311端口即可。
本文搬自 《ROS通信机制概述--机器人操作系统ROS原理与应用》一书 3章中的一段, 希望对你的理解有所帮助