通信机制
-
节点(Node):
1.负责执行具体任务的进程、独立运行的可执行文件;
2.不同节点可使用不同的编程语言,可分布式运行在不同的主机
3.节点在系统中的名称必须是唯一的 -
(ROS Master) --控制中心
1.为节点提供命名和注册服务;
2.跟踪和记录话题/服务通信,辅助节点相互查找、建立连接
3.提供参数服务器,节点使用此服务器存储和检索运行时的参数
节点通信:
-
话题(Topic) ————异步通信机制
- 节点间用来传输数据的重要总线
- 使用发布/订阅模型,数据由发布者传输到订阅者,同一个话题的订阅者或发布者可以不唯一。
-
消息(Message) ————话题数据
- 具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义模型;
- 使用与编程语言无关的.msg 文件定义,编译过程中生成对应的代码文件
-
服务(Service)————同步通信机制
- 使用客户端/服务器(C/S)模型,客户端发送请求数据,服务器完成处理后返回答数据
- 用编程语言无关的.srv文件定义请求和应答数据结构,编译过程中生成对应的代码文件
-
参数 ————全局共享字典 (像是IPC中的共享内存机制)
-
文件系统
- 功能包(Package)
- ROS软件中的基本单元,包含节点源码、配置文件、数据定义等