ROS的通讯机制

本文介绍了ROS的三种核心通讯机制:publishers/subscribers、services/clients及action-servers/action-clients。重点讲解了publishers和services的工作原理,如publishers如何发布消息,subscribers如何订阅并接收消息,以及services如何提供和调用服务,特别是如何通过srv文件定义服务接口。通过示例展示了如何实现两个整数相加的服务功能。
摘要由CSDN通过智能技术生成

ROS有三种核心的通讯机制:

  • publishers/subscribers
  • services/clients
  • action-servers/action-clients

 

1.publishers

#include <ros/ros.h> //惯例第一头文件,ROS的源码
#include <std_msgs/Float64.h> //传递的消息类型文件,根据实际需要选择对应的消息类型头文件 
 
int main(int argc, char **argv) {  //每一个节点只有一个main函数
    ros::init(argc, argv, "minimal_publisher2"); // 初始化这个节点, 双引号中的是节点名, 可以通过.launch文件启动时更改节点名(不建议)
    ros::NodeHandle n; // 创建一个与ROS系统对话的pulisher对象(n是随意命名的)
    ros::Publisher my_publisher_object = n.advertise<std_msgs::Float64>("topic1", 1); 
    //创建一个发布消息类型为std_msgs::Float64的topic(即topic1)的对象(即my_publisher_object)
    //这里定义了发布topic的名称,其他subscribers想要订阅这个topic的信息只需要知道这个topic的名字是topic1就可以了
    //参数1是指queue size,可以理解为通道大小,一般设置为1,即传递的信息是1个接着1个,不是多个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值