ROS学习之消息通信

在ROS中,消息通信有话题,服务,动作,参数。

  1. 话题(topic)
    发布者(Publicer)发布话题,订阅者(Subscriber)订阅话题。实质:发布者向主节点注册自己的话题等多种信息,并向该话题推送消息,不在乎谁订阅了。而订阅者订阅自己希望看到的话题的消息,也不在乎是谁推送的消息。所以许多时候,终端可以当作自定义节点使用,插足在其中。
    a.所以就有很多的特性,你自然而然就通了,异步很正常
    b.多个发布者可控制多个订阅者

  2. 服务(service)
    服务服务端与服务客户端是点对点通信,ROSTCP(TCP/IP协议)。与上述不同,主节点在里面起连接作用,客户端请求,服务端响应,一问一答机制。服务端收到请求后,执行指定的服务,并将结果下发服务客户端。客户端发送请求,再接收服务端的结果

  3. 动作(action)
    动作(action) 是在需要像服务那样的双向请求的情况下使用的消息通信方式,不同点是在处理请求之后需要很长的响应,并且需要中途反馈值。相对与服务,就多了个中途反馈值。动作服务器在处理的途中,不断返回结果和反馈值(feedback),动作客户端据反馈值可以进行中途干预操作。

你可能感兴趣的:(ros)