节点与节点管理器
- 节点(Node)——执行单元
- 执行具体任务的进程,独立运行可执行文件;
- 不同节点可使用不同编程语言,可分布式运行在不同主机
- 名字唯一
- 节点管理器(ROS Master)——控制中心
- 为节点命名和注册
- 跟踪和记录话题/服务通信,辅助节点相互查找、建立连接;
- 提供参数服务器,节点使用此服务器存储和检索运行时的参数
节点间通信方式
- 话题(Topic)——异步通信机制
- 节点间数据传输重要总线
- 使用发布/订阅模型,数据由发布者传输到订阅者,发布和订阅可以不唯一(多对多)
- 消息(Message)——话题数据
- 具有一定类型和数据结构(可自定义)
- 使用编程语言无福安的.msg文件订阅,编译过程中生成对应的代码文件
- 话题(Topic)——异步通信机制
- 服务(Service)——同步通信机制
- 客户端请求数据,服务器完成处理后返回应答数据
- 使用编程语言无福安的.srv订阅请求和应答数据结构,编译过程中生成对应的代码文件
- 一对多
- 服务(Service)——同步通信机制
参数——全局共享字典
- 可通过网络访问的共享、多变量字典
- 节点使用此服务器来存储和检索运行时的参数
- 适合存储讲台、非二进制的配置参数,不适合存储动态配置的数据
- 由节点管理器提供
文件系统
- 功能包(package)
ROS软件中基本单元,包含节点源码、配置文件、数据定义等。 - 功能包清单(Package manifest)
记录功能包基本信息,包含作者信息、徐可信息、依赖选项、编译标志等 - 元功能包(Meta Packages)
组织多个用于同一目的的功能包
网友评论