参考https://zhuanlan.zhihu.com/p/35219808
关于ROS的通信架构的参考书https://sychaichangkun.gitbooks.io/ros-tutorial-icourse163/content/chapter4/4.3.html
ROS并非是一种操作系统,它只是一种通信框架,一种基于消息传递通信的分布式多进程框架。ROS的主要组成包括ROS Mastar 、 ROS Node、ROS Service等。不同的功能可以由不同的节点实现,节点之间可以通过发布和订阅话题来传递消息,它的本质是基于TCP/IP的Socket通信机制。不同的模块可以被单独设计,在运行时松散耦合,它执行若干种类型的通信。
比如基于服务的同步RPC通信、基于话题的异步数据流通信以及基于参数服务器的数据存储等。
ROS实现了几种不同的通信方式,包括基于同步RPC样式通信的服务(services)机制,基于异步流媒体数据的话题(topics)机制以及用于数据存储的参数服务器(Parameter Server)。
ROS相当于一种“机器人框架(robot frameworks)”类似的“机器人框架”有:Player,YARP,Orocos,CARMEN,Orca,MOOS和 Microsoft Robotics Studio。