登封网站开发,免费外贸接单网站,网站建设普及型,seo门户网文章结构 通信机制节点(Node)——执行单元节点管理器(ROS Master)——控制中心话题通信——异步通信机制话题(Topic)消息(Message)——话题数据 服务通信——同步通信机制服务(Service) 话题和服务的区别参数(Parameter)——全局共享字典 文件系统功能包#xff08;PackagePackage功能包清单Package manifest元功能包Meta Packages 通信机制 节点(Node)——执行单元
执行具体任务的进程、独立运行的可执行文件不同节点可使用不同的编程语言可分布式运行在不同的主机节点在系统中的名称必须是唯一的
节点管理器(ROS Master)——控制中心
为节点提供命名和注册服务跟踪和记录话题/服务通信辅助节点相互查找、建立连接提供参数服务器节点使用此服务器存储和检索运行时的参数 话题通信——异步通信机制
话题(Topic)
节点间用来传输数据的重要总线使用发布/订阅模型数据由发布者传输到订阅者同一个话题的订阅者或发布者可以不唯一
消息(Message)——话题数据
具有一定的类型和数据结构包括ROS提供的标准类型和用户自定义类型使用编程语言无关的 .msg 文件定义编译过程中生成对应的代码文件 如上图所示Publisher以Topic这个通道为媒介发布各种message至Subscriber。 话题通信实际范例如下 如上图所示有一个话题Topic叫做/image_data发布者publisher为CameraNode通过这个话题发布各种message然后两个订阅者subscriber分别为ImageProcessingNode和ImageDisplayNode从话题中订阅到这个message。
服务通信——同步通信机制
服务(Service)
使用客户端/服务器(C/S)模型客户端发送 请求(request) 数据服务器完成处理后返回 应答(response) 数据。使用编程语言无关的 .srv 文件定义请求和应答数据结构编译过程中生成对应的代码文件。 Service Client向Service Server发送request请求数据Service Server接收到之后向Service Client发送response应答数据。
ImageProcessingNode向CameraNode发送request数据CameraNode接收到之后执行对应指令执行结束后发送reply应答至ImageProcessingNode此时ImageProcessingNode知悉结果。
话题和服务的区别
话题服务同步性异步同步通信模型发布/订阅服务器/客户端底层协议ROSTCP/ROSUDPROSTCP/ROSUDP反馈机制无无应答有一来一回缓冲区有无实时性弱强节点关系多对多一对多一个server适用场景数据传输逻辑处理
参数(Parameter)——全局共享字典
ROS Master维护的参数服务器该参数服务器会来保存一部分参数作为全局共享字典所有节点都可以通过网络访问这个共享字典
可通过网络访问的共享、多变量字典节点使用此服务器来存储和检索运行时的参数适合存储静态、非二进制的配置参数不适合存储动态配置的数据数据类型多变底层通讯机制是RPC调用 上图中Talker和Listener都可以找ROS Master设置一个变量。例如Talker设置参数setParam)参数名为’foo’参数的值为1那么Listener就可以去访问master来获取getParam参数’foo’这个时候ROS Master就会提供参数foo的值为1。
文件系统
功能包Package
ROS软件中的基本单元包含节点源码、配置文件、数据定义等用于完成具体的某一项功能
功能包清单Package manifest
记录功能包的基本信息包含作者信息、许可信息、倚赖选项、编译标志等
元功能包Meta Packages
组织多个用于同一目的的功能包