1.1 Beginner Level学习之“编写简单服务和客户端 (C++)”(第十四节)

学习大纲:

1、编写服务节点(Writing a Service Node)

服务节点介绍,我将创建一个名为 “add_two_ints_server” 的服务节点,该节点接收两个整数并返回它们的和。

导航到 beginner_tutorials 包,先按照上一教程中的指示,创建 AddTwoInts.srv 文件,并在 catkin 工作区中切换到 beginner_tutorials 包:

roscd beginner_tutorials

创建服务节点代码,在 src 文件夹中创建 add_two_ints_server.cpp,并粘贴以下代码:

代码解释:

#include 引入了 ROS 和服务的头文件。

add() 函数实现了服务的核心逻辑,接收两个整数并返回它们的和。

在 main() 函数中,初始化 ROS 节点,并创建一个服务端口 “add_two_ints”,等待客户端请求。

2、编写客户端节点(Writing the Client Node)

客户端节点代码

在 src 文件夹中创建 add_two_ints_client.cpp 文件,并粘贴以下代码:

代码解释:创建服务客户端:使用 ros::ServiceClient 创建了一个客户端,连接到服务 “add_two_ints”。

发送请求:将用户输入的两个整数作为请求参数发送给服务节点。

接收响应:如果调用成功,客户端会在终端显示结果,否则显示错误信息。

3、构建节点(Building Your Nodes)

编辑 CMakeLists.txt 文件,打开 ~/catkin_ws/src/beginner_tutorials/CMakeLists.txt 文件,在末尾添加以下内容:

构建节点

在 catkin 工作区中运行以下命令构建项目:

cd ~/catkin_ws

catkin_make

如果构建失败,请确保已正确创建 AddTwoInts.srv 文件,并按顺序完成所有步骤。

4、运行节点(Running the Nodes)

A.启动 ROS 核心

在新终端中启动 roscore:roscore

B.运行服务节点

在另一个终端中,运行服务节点:rosrun beginner_tutorials add_two_ints_server

你应该看到如下输出:Ready to add two ints.

C.运行客户端节点

在第三个终端中,向服务节点发送请求:rosrun beginner_tutorials add_two_ints_client 13

客户端节点的终端将显示:Sum: 4

服务节点的终端将显示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值