ROS通信机制PPT
话题通信话题通信是ROS中最常用的一种通信模式,在ROS中有两个节点: 一个是发布方Talker; 另一个是订阅方Listener; 两个节点分别发布、订...
话题通信话题通信是ROS中最常用的一种通信模式,在ROS中有两个节点: 一个是发布方Talker; 另一个是订阅方Listener; 两个节点分别发布、订阅同一个话题。话题通信常用于不间断的应用场景ROS话题话题是节点之间通讯的桥梁,节点将消息发布到话题,同时也可以订阅话题以接收消息。ROS通讯机制ROS通讯采用分布式网络结构,通过TCP的通信方式实现模块间点对点的连接。话题通信理论模型0)Talker向Master注册发布者的信息,包含发布消息的话题名。1)Listener向Master注册接收者的信息,包含订阅的该话题。2)Master根据Talker发布的话配对Listener订阅的话题3)4)5)Listener接收到Talker的地址信息,就尝试向Talker发送连接许可,当Talker与Listener互相确认信息后就建立连接。等连接成功后,Talker才向Listener发送消息。可以发现,话题在两节点通讯之间用于相互验证身份,起到桥梁作用。服务通信服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向服务器B发送请求,B接收处理请求并产生响应结果返回给A。服务通信更适用于对时时性有要求、具有一定逻辑处理的应用场景。服务通信理论模型Talker = server(服务端) ;listener = client(客户端)实现流程master会通过话题的信息配对server和client,并通过PCR向client发送server的TCP地址。Client会通过2)中响应的信息使用TCP与server建立网络链接,并发送请求,server接受到数据后产生相应结果返回给client。参数通信理论模型Talker 设置参数Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值),ROS Master 将参数保存到参数列表中。Listener 获取参数Listener 通过 RPC 向参数服务器发送参数查找请求,请求中包含要查找的参数名。ROS Master 向 Listener 发送参数值ROS Master 根据步骤2请求提供的参数名查找参数值,并将查询结果通过 RPC 发送给 Listener。