2.4 使用新建的srv和msg文件

这篇博客介绍了如何在ROS环境中创建服务(srv)和消息(msg)文件来实现对三个整数的求和功能。通过创建两个节点,一个作为服务器,一个作为客户端,详细阐述了节点的编写和编译过程,以及如何运行和测试这两个节点以展示求和结果。
摘要由CSDN通过智能技术生成

创建服务并使用它:对三个整数求和。我们需要两个节点,一个服务器一个客户端。
在功能包chapter2_tutrorials中,src文件夹下新建两个节点并使用example2_a.cpp和example2_b.cpp为名称。

在example_a.cpp中:

#include "ros/ros.h"
#include "chapter2_tutorials/chapter2_srv1.h"  //包含我们创建的srv文件

bool add(chapter2_tutorials::chapter2_srv1::Request  &req,
         chapter2_tutorials::chapter2_srv1::Response &res)  //服务变量
{  
  res.sum = req.A + req.B + req.C;
  ROS_INFO("request: A=%d, B=%d C=%d", (int)req.A, (int)req.B, (int)req.C);//请求输入
  ROS_INFO("sending back response: [%d]", (int)res.sum); //输出
  return true;
}
//这个函数会对3个变量求和,并将计算结果发送给其他节点

int main(int argc, char **argv)
{
  ros::init(argc, argv, "add_3_ints_server");
  ros::NodeHandle n;

  ros::ServiceServer service = n.advertiseService("add_3_ints", add); //创建服务并发布广播
  ROS_INFO("Ready to add 3 i
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值